您确实正确地描述了使用交叉验证的方式。事实上,你很幸运在最后有一个合理的验证集,因为通常交叉验证用于优化模型,但没有进行“真正的”验证。
正如@Simon Stelling 在他的评论中所说,交叉验证将导致较低的估计错误(这是有道理的,因为您不断重用数据),但幸运的是所有模型都是这种情况,因此,除非发生灾难(即:错误只会减少对于“坏”模型稍有一点,对于“好”模型则更多),选择在交叉验证标准上表现最佳的模型通常也是“真实”的最佳模型。
有时用于稍微纠正较低错误的方法,特别是如果您正在寻找简约模型,是选择最小模型/最简单方法,其交叉验证误差在(交叉验证)最优值的一个 SD 范围内。作为交叉验证本身,这是一种启发式方法,因此应谨慎使用(如果这是一个选项:根据调整参数绘制错误图:这将使您了解是否有可接受的结果)
考虑到错误的向下偏差,重要的是不要发布来自交叉验证的错误或其他性能度量,而不要提及这些来自交叉验证(尽管说实话:我见过太多的出版物没有提到性能度量是通过检查原始数据集的性能获得的——所以提到交叉验证实际上会让你的结果更有价值)。对你来说,这不是问题,因为你有一个验证集。
最后的警告:如果您的模型拟合导致了一些接近的竞争对手,那么最好在之后查看他们在您的验证集上的表现,但不要将您的最终模型选择基于此:您最多可以使用它来缓解您的良心,但是在您查看验证集之前,您的“最终”模型必须已经被选中。
写你的第二个问题:我相信西蒙已经在他的评论中给出了你需要的所有答案,但是为了完成图片:通常,它是在发挥作用的偏差 - 方差权衡。如果您知道,平均而言,您将获得正确的结果(无偏性),那么代价通常是您的每个单独计算可能与它相差甚远(高方差)。在过去,无偏见是 nec 加超,在当今,人们有时会接受(小)偏见(所以你甚至不知道你的计算的平均值会导致正确的结果),如果它导致较低的方差。经验表明,10 折交叉验证的平衡是可以接受的。对你来说,偏差只会是你的模型优化的一个问题,因为您可以在之后(无偏见地)在验证集上估计标准。因此,几乎没有理由不使用交叉验证。