您通常如何判断该模型过度拟合?
一条有用的经验法则是,当模型在其自身的训练集上的性能比在其坚持的验证集或交叉验证设置下的性能好得多时,您可能会过度拟合。但是,这还不是全部。
我链接到的博客条目描述了过拟合测试的过程:绘制训练集和验证集错误,作为训练集大小的函数。如果它们在图的右端显示出稳定的间隙,则可能是过拟合。
防止过度拟合(在这种情况下)以确保预测结果是否良好的最佳方法是什么?
使用 保持测试集
。仅当您完全完成模型选择(超参数调整)后,才对此集合进行评估。不要训练它,不要在(交叉)验证中使用它。您在测试集上获得的分数是模型的最终评估。这应该表明您是否意外地使验证集过拟合。
[机器学习会议有时会像比赛一样进行,在他们将最终模型交付给组织者之前 ,
不会将测试集提供给研究人员。同时,他们可以随意使用训练集,例如通过使用交叉验证来测试模型。Kaggle做类似的事情。]
如果使用
LeaveOneOut交叉验证,该模型如何过拟合而获得良好结果?
因为您可以在此交叉验证设置中尽可能多地调整模型,所以直到它在CV中几乎完美表现为止。
举一个极端的例子,假设您实现了一个估算器,该估算器本质上是一个随机数生成器。您可以继续尝试随机种子,直到您遇到“模型”,该模型在交叉验证中产生的错误率非常低,但是那并不是您选择了正确的模型。这意味着您已经过度适合交叉验证。
另请参阅此有趣的Warstory。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)