您可以通过使用CV / Bootstrap训练机器学习算法来过度拟合吗?


34

这个问题很可能是开放性的,无法得出明确的答案,但希望不会。

机器学习算法(例如SVM,GBM,Random Forest等)通常具有一些免费参数,除了一些经验法则之外,还需要针对每个数据集进行调整。通常使用某种重新采样技术(引导程序,CV等)来完成此过程,以适应给出最佳泛化误差的参数集。

我的问题是,你可以在这里走得太远吗?人们都在谈论进行网格搜索,但是为什么不简单地将其视为优化问题并向下钻取最佳参数集呢?我在这个问题中询问了一些有关问题的机制,但是并没有引起太多关注。也许这个问题被问得很严峻,但也许问题本身代表了人们通常不会采取的一种不好的做法?

困扰我的是缺乏正规化。通过重新采样,我可能会发现,对于该数据集,GBM中生长的最佳树木数量为647,交互深度为4,但是我如何确定新数据确实如此(假设新种群)与训练集相同)?由于没有合理的“缩水”价值(或者如果您愿意,也没有提供任何先验信息),重新采样似乎是我们可以做的最好的事情。我只是没有听到任何有关此事的消息,所以让我想知道是否缺少某些东西。

显然,要进行多次迭代以将模型的最后预测能力压缩出去,会产生大量的计算成本,因此,如果您有足够的时间/精力来进行优化和每一位操作,那么显然这是您要执行的操作性能改善是很有价值的。


简历可以用于不同的事物。明确地说,当您说“网格搜索”或“超参数调整”时,您是在谈论模型选择,而不是特征选择,甚至只是在估计分类错误。
smci 2015年

Answers:


30

这个问题有一个明确的答案:“是的,当然有可能过度拟合基于交叉验证的模型选择标准,并最终得出模型的概括性很差! ”。在我看来,这似乎并未得到广泛认可,但在机器学习方法的应用中却是一个重大陷阱,并且是我当前研究的重点。到目前为止,我已经写了两篇关于该主题的论文

GC Cawley和NLC Talbot,模型选择中的过拟合和性能评估中的后续选择偏差,《机器学习研究期刊》,2010年。11,第2079-2107页,2010年7月。(www

这表明模型选择中的过度拟合是机器学习中的一个实质性问题(如果在性能评估过程中在模型选择中偷工减料,您可能会获得严重偏差的性能估计),并且

GC Cawley和NLC Talbot,通过超参数的贝叶斯正则化防止模型选择过拟合,《机器学习研究杂志》,第8卷,第841-861页,2007年4月。(www

在此规范化了基于交叉验证的模型选择标准,以尝试改善模型选择中的过度拟合(如果您使用具有许多超参数的内核,这是一个关键问题)。

我目前正在撰写一篇有关基于网格搜索的模型选择的论文,这表明在某些情况下使用最终可能在统计学上逊色于很多模型的模型的网格肯定是可以使用的。较粗的网格(这是StackExchange上的一个问题,启发了我研究网格搜索)。

希望这可以帮助。

PS无偏性能评估和可靠的模型选择确实可能在计算上很昂贵,但是以我的经验,这是非常值得的。嵌套式交叉验证是一种很好的基本方法,其中将外部交叉验证用于性能估计,将内部交叉验证用于模型选择。


完善!看起来这些论文正是我所追求的。感谢那。
Bogdanovist

如果您对论文有任何疑问,请告诉我(通过电子邮件-我是第一作者,我的电子邮件地址在论文上)。
迪克兰有袋博物馆,2012年

@DikranMarsupial您如何区分由于模型选择以及火车与测试集之间的采样不匹配而导致的过度拟合?
image_doctor 2012年

1
原则上,使用合成数据集可获取地面真实性,那么它很简单,因为不存在采样失配;训练集只是来自基础分布的随机样本,您可以从分布本身估计误差,而不是有限样本。对于实词数据集,但是AFAICS最好的管理方法是使用重采样并确定在许多随机测试/训练拆分中过度拟合模型选择标准的效果。
迪克兰有袋博物馆,2012年

2
遗憾的是,它被拒绝了,但是我将对其进行修改,以考虑到审阅者(非常有用)的评论,然后将其重新提交给另一本期刊。
迪克兰有袋博物馆,2014年

7

交叉验证和自举已显示出错误率的估计值,该错误率几乎是无偏的,并且在某些情况下,通过交叉验证进行自举更准确。其他方法(如替换)的问题在于,通过估计适合分类器的同一数据集上的错误,您可能会严重低估错误率,并且可能导致算法包含太多参数,并且无法像预测那样准确地预测未来值一种适合少量参数的算法。使用统计方法的关键是,您必须训练分类器的数据是将来在缺少类且必须由分类器预测的将来会看到的典型数据。如果您认为未来的数据可能会大不相同,那么统计方法将无济于事,我不会


感谢您的回答。我已经对问题进行了编辑,以明确表明我不是在询问训练和测试集之间的总体变化。我意识到这是一个完全不同的问题,对此我不感兴趣。
Bogdanovist,2012年

1
+1在这种情况下,不偏不倚本质上是无关紧要的。交叉验证估计的方差可能更多。对于模型选择准则,您需要准则的最小值可靠地接近泛化误差的最小值(作为超参数的函数)。平均而言,如果它在正确的位置是没有用的,但是最小值的散布遍及整个数据的不同有限样本。
迪克兰有袋博物馆,2012年

1
当然,准确性是偏差和方差的组合,方差大的无偏估计不如方差小的略有偏差的估计器好。误码率的准确估计是重新替换,并且具有很大的偏差。引导程序632和632+运作良好,因为它们在调整偏差方面做得很好,而方差没有太大增加。这就是为什么对于线性判别函数和二次判别函数而言,它们比交叉验证的留一法式版本要好得多的原因。
Michael R. Chernick

对于分类树的集成,尚未证明引导程序可以做得更好。
Michael R. Chernick

1
困难之一可能是过度拟合在机器学习和统计中通常意味着不同的事情。在我看来,统计学家有时会使用过度拟合来表示使用的参数比必要的更多的模型,而不是过于接近观测值(由训练标准衡量)。在这种情况下,我通常会使用“过度参数化”,而使用“过度拟合”来表示模型过于接近观测值而以泛化性能为代价。也许这是我们可能在跨目的讨论的地方?
迪克兰有袋动物馆,2012年

4

我怀疑这里的答案是,在优化的背景下,您要寻找的是noisy成本函数的全局最小值。因此,您将面临多维全局优化以及成本函数中添加的随机组件的所有挑战。

许多应对局部极小值和昂贵搜索空间的方法本身都有可能需要调整的参数,例如模拟退火或蒙特卡洛方法。

在一个理想的,计算上无界的宇宙中,我怀疑您可能试图找到参数空间的全局最小值,并对误差函数的估计的偏差和方差进行适当的严格限制。这种情况是否正常化就不会成为问题,因为您可以无限采样广告。

在现实世界中,我怀疑您可能会轻易地发现自己处于局部最小值。

正如您所提到的,这是一个单独的问题,但是由于与您可用数据相关的采样问题以及与样本空间的实际基础分布之间的关系,这仍然使您容易过度拟合。


4

它在很大程度上取决于算法,但是您当然可以-尽管在大多数情况下,这只是工作的良性浪费。

f(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ

xoptXoptXoptf

f

因此,基于严格的期刊上的实践,完全不必对参数选择进行外部验证(与验证特征选择不同),而不必进行严格的操作(仅当优化是粗略的并且分类器对参数。


4

是的,在交叉验证或自举过程中,参数可以“过度拟合”到训练和测试集上。但是,有一些方法可以防止这种情况。第一种简单的方法是,将数据集划分为3个分区,一个分区用于测试(〜20%),一个分区用于测试优化的参数(〜20%),一个分区用于将分类器与设置的参数拟合。仅当您具有非常大的数据集时才有可能。在其他情况下,建议使用双重交叉验证。

RomainFrançois和Florent Langrognet,“基于模型的分类的双重交叉验证”,2006年

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.