你能通过使用 CV/Bootstrap 训练机器学习算法来过拟合吗?

机器算法验证 机器学习 交叉验证 引导程序 优化 重采样
2022-01-19 20:42:55

这个问题可能过于开放,无法得到明确的答案,但希望不会。

机器学习算法,如 SVM、GBM、随机森林等,通常有一些自由参数,超出一些经验法则指导,需要针对每个数据集进行调整。这通常通过某种重新采样技术(bootstrap、CV 等)来完成,以便拟合能够提供最佳泛化误差的参数集。

我的问题是,你能在这里走得太远吗?人们谈论进行网格搜索等等,但为什么不简单地将其视为优化问题并深入研究可能的最佳参数集呢?我在这个问题中询问了这方面的一些机制,但它并没有受到太多关注。也许这个问题被问得很糟糕,但也许这个问题本身代表了一种人们通常不会做的糟糕方法?

困扰我的是缺乏正则化。通过重新采样,我可能会发现,对于这个数据集,在 GBM 中生长的最佳树木数量是 647 棵,交互深度为 4,但我如何确定这对于新数据来说是正确的(假设新人口与训练集相同)?没有合理的价值来“缩小”(或者如果你愿意,没有信息性的先验信息)重新采样似乎是我们能做的最好的事情。我只是没有听到任何关于这个的讨论,所以这让我想知道我是否缺少一些东西。

显然,进行许多次迭代以从模型中挤出每一点预测能力会带来很大的计算成本,所以很明显,如果你有时间/精力来进行优化和每一点,你就会这样做的性能改进是有价值的。

4个回答

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

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

这表明模型选择中的过度拟合是机器学习中的一个重大问题(如果您在性能评估期间在模型选择中偷工减料,您可能会得到严重偏颇的性能估计)和

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

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

我目前正在写一篇关于基于网格搜索的模型选择的论文,这表明当然可以使用太细的网格,最终得到的模型在统计上不如很多人选择的模型更粗的网格(StackExchange 上的一个问题启发了我研究网格搜索)。

希望这可以帮助。

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

交叉验证和引导程序已被证明可以提供几乎无偏的错误率估计,并且在某些情况下,引导程序比交叉验证更准确。其他方法(如重新替换)的问题在于,通过在适合分类器的同一数据集上估计错误,您可能会严重低估错误率,并且可能导致算法包含太多参数,并且无法准确预测未来值适合一小组参数的算法。使用统计方法的关键在于,您必须训练分类器的数据是您将来会看到的典型数据,其中缺少类并且必须由分类器预测。如果您认为未来的数据可能会非常不同,那么统计方法将无济于事,而我不会

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

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

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

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

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

它很大程度上取决于算法,但你当然可以——尽管在大多数情况下,这只是一种良性的努力浪费。

这个问题的核心是这不是一个严格的优化——你没有在某个域上定义任何,它至少有一个值的极值,说,你所要做的就是找到它。相反,你有,其中有一些疯狂的分布,通常是随机的,不仅取决于,还取决于你的训练数据和 CV/bootstrap 细节。这样,您可以搜索的唯一合理的东西是 s 域的某个子空间,例如,其中f(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ差别不大(从统计上讲,如果你愿意的话)。

现在,虽然你找不到,但实际上来自的任何值都可以 - 通常它只是随机选择,以最小化计算负载,最大化某些 sub-性能度量,你可以命名它。xoptXoptXoptf

如果景观有一个尖锐的极值,则可能会发生严重的过度拟合——然而,这种“不应该发生”,即它是非常糟糕的算法/数据对选择的一个特征,并且对泛化能力的预测很差。f

因此,好吧,(基于优秀期刊中的实践)完整的外部参数选择验证不是您必须严格执行的事情(与验证特征选择不同),但前提是优化是粗略的并且分类器对参数。