交叉验证是否足以防止过度拟合?


17

如果我有数据,并且使用交叉验证(例如5倍)运行分类(假设对此数据进行随机森林分析),是否可以得出结论,认为我的方法没有过度拟合的地方?

Answers:


20

一点也不。但是,交叉验证可以帮助您评估方法的过拟合程度。

例如,如果您的回归训练数据的R平方为0.50,而交叉验证的R平方为0.48,那么您几乎没有过度拟合的感觉,并且感觉良好。另一方面,如果交叉验证的R平方在这里仅为0.3,则模型性能的很大一部分是由于过度拟合而不是真正的关系。在这种情况下,您可以接受较低的性能,也可以尝试减少过度拟合的其他建模策略。


8
我认为这个答案在本质上是正确的,但我不同意第二段中过分适合的特征。我不认为当训练误差-测试误差>一定界限时会发生过度拟合,而是将过度拟合的特征描述为增加模型的复杂性会略微增加保持误差的情况。要求您的训练和测试错误具有可比性,通常会导致模型拟合不足
Matthew Drury

7

交叉验证是一种很好的方法,但并不是完美的方法,可以最大程度地减少过度拟合。

如果您拥有的数据不能代表您要尝试预测的数据,则交叉验证对外部数据的效果将不佳!

交叉验证存在缺陷时,有两种具体情况:

  • 您正在使用过去来预测未来:通常会以一个很大的假设来假设过去的观测值来自与未来观测值相同分布的相同人口。对从过去得出的数据集进行交叉验证无法避免这种情况。
  • 您收集的数据存在偏差:您观察到的数据与您未观察到的数据在系统上有所不同。例如,我们知道选择调查的受访者的偏见。

3
通常,将您的数据集不是真实总体的较差表示是过度拟合的一个单独问题。当然,交叉验证不能解决它们是正确的。
Cliff AB

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.