留一法交叉验证如何工作?如何从中选择最终模型nn不同的型号?

机器算法验证 交叉验证
2022-01-28 05:53:29

我有一些数据,我想用这些数据建立一个模型(比如线性回归模型)。在下一步中,我想在模型上应用 Leave-One-Out Cross-Validation (LOOCV),看看它的性能如何。

如果我对 LOOCV 的理解正确,我会使用除此样本(训练集)之外的每个样本为我的每个样本(测试集)构建一个新模型。然后我使用模型来预测测试集并计算错误(predictedactual).

在下一步中,我汇总使用所选函数生成的所有错误,例如均方误差。我可以使用这些值来判断模型的质量(或拟合优度)。

问题:这些质量值适用于哪个模型,那么如果我发现从 LOOCV 生成的指标适合我的案例,我应该选择哪个模型?LOOCV 看着n不同的模型(其中n是样本量);我应该选择哪一个模型?

  • 是使用所有样本的模型吗?在 LOOCV 过程中从未计算过此模型!
  • 是误差最小的模型吗?
1个回答

最好将交叉验证视为一种估计由特定过程生成的模型的泛化性能的方法,而不是模型本身。留一法交叉验证本质上是对经过训练的模型的泛化性能的估计n1数据样本,这通常是对训练过的模型性能的略微悲观的估计n样品。

与其选择一个模型,不如将模型拟合到所有数据,并使用 LOO-CV 提供对该模型性能的稍微保守的估计。

但是请注意,LOOCV 具有很高的方差(如果您使用不同的随机数据样本,您将获得的值会有很大差异),这通常使其成为性能评估的估计器的错误选择,即使它几乎是无偏的。我一直使用它来选择模型,但实际上只是因为它便宜(对于我正在研究的内核模型几乎免费)。