联系我们

AI 101

什么是过度拟合?

mm

更新

 on

什么是过度拟合?

训练神经网络时,必须避免过度拟合。 过度拟合 是一个问题 机器学习 以及模型无法很好地学习训练12博下载app集模式的统计信息,可以完美地解释训练12博下载app集,但无法将其预测能力推广到其他12博下载app集。

换句话说,在过度拟合模型的情况下,它通常在训练12博下载app集上显示出极高的准确性,而在将来收集并遍历该模型的12博下载app上则显示出低准确性。这是过度拟合的快速定义,但让我们更详细地讨论过度拟合的概念。让我们看一下过度拟合是如何发生的以及如何避免的。

了解“适合”和过度拟合

在我们深入研究过度拟合之前,先了解一下“过度拟合”和“适合”。当我们训练模型时,我们正在尝试开发一个框架,该框架能够基于描述那些项目的特征来预测12博下载app集中项目的性质或类别。模型应该能够解释12博下载app集中的模式,并根据该模式预测未来12博下载app点的类别。该模型越能说明训练集的特征之间的关系,我们的模型就越“适合”。

Blue line represents predictions by a model that is 不合身, while the green line represents a better 适合 model. Photo: Pep Roca via Wikimedia Commons, CC BY SA 3.0, (//commons.wikimedia.org/wiki/File:Reg_ls_curvil%C3%ADnia.svg)

一个模型无法很好地解释训练12博下载app的特征之间的关系,从而无法对未来的12博下载app示例进行准确分类,该模型是 不合身 训练12博下载app。如果要用特征图和标签的实际交点绘制欠拟合模型的预测关系,则预测将偏离标记。如果我们有一个标有训练集的实际值的图表,那么严重拟合不足的模型将大大遗漏大多数12博下载app点。拟合较好的模型可能会切穿12博下载app点中心的路径,单个12博下载app点仅偏离预测值一点点。

当12博下载app不足以创建准确模型时,或者尝试使用非线性12博下载app设计线性模型时,经常会发生拟合不足。更多的训练12博下载app或更多的功能通常将有助于减少拟合不足。

那么为什么我们不创建一个可以完美解释训练12博下载app中每个点的模型呢?当然,理想的准确性是可取的吗?创建一个过分了解训练12博下载app模式的模型是导致过拟合的原因。您通过模型运行的训练12博下载app集和其他将来的12博下载app集将不完全相同。它们在许多方面可能非常相似,但在关键方面也将有所不同。因此,设计一个可以完美解释训练12博下载app集的模型意味着您最终会获得关于要素之间关系的理论,而该理论不能很好地推广到其他12博下载app集。

了解过度拟合

当模型对训练12博下载app集内的细节学习得太好时,就会发生过度拟合,从而导致在对外部12博下载app进行预测时模型遭受损失。当模型不仅学习12博下载app集的特征,还学习随机波动或 噪声 在12博下载app集中,将重点放在这些随机/不重要的事件上。

当使用非线性模型时,过度拟合更有可能发生,因为在学习12博下载app特征时它们更加灵活。非参数机器学习算法通常具有各种参数和技术,可以应用这些参数和技术来限制模型对12博下载app的敏感性,从而减少过拟合。举个例子, 决策树模型 对过度拟合非常敏感,但是可以使用一种称为修剪的技术来随机删除模型学习到的某些细节。

如果要在X轴和Y轴上绘制模型的预测图,则会有一条来回曲折的预测线,这反映出以下事实:模型已尽力将12博下载app集中的所有点拟合到它的解释。

控制过度拟合

训练模型时,理想情况下,我们希望模型不会出错。当模型的性能趋向于对训练12博下载app集中的所有12博下载app点做出正确的预测时,拟合度将变得更好。拟合良好的模型能够解释几乎所有训练12博下载app集而不会过度拟合。

随着模型的训练,其性能会随着时间的推移而提高。模型的错误率会随着训练时间的流逝而降低,但只会降低到一定程度。模型在测试集上的性能再次开始上升的点通常是发生过度拟合的点。为了使模型最合适,我们希望在误差开始再次增加之前,在损失最小的训练集上停止训练模型。可以通过在整个训练时间内绘制模型的性能并在损失最小时停止训练来确定最佳停止点。但是,这种控制过度拟合的方法的一个风险是,根据测试性能指定训练的终点意味着测试12博下载app在某种程度上包含在训练过程中,并且失去了其纯粹的“原始”12博下载app状态。

可以通过几种不同的方法来解决过度拟合问题。减少过度拟合的一种方法是使用重采样策略,该策略通过估计模型的准确性进行操作。您也可以使用 验证 测试集之外的12博下载app集,并针对验证集而不是测试12博下载app集绘制训练准确性。这使您的测试12博下载app集不可见。一种流行的重采样方法是 K折交叉验证。使用此技术,您可以将12博下载app分为训练模型的子集,然后分析子集上模型的性能,以估计模型在外部12博下载app上的表现。

利用交叉验证是评估模型在看不见12博下载app上的准确性的最佳方法之一,并且与验证12博下载app集结合使用时,过拟合通常可以保持在最低水平。

专门从事以下工作的Blogger和程序员 机器学习 深度学习 话题。 Daniel希望帮助他人将AI的力量用于社会公益。