过拟合
人工智能
黑蓝背景
过拟合

了解如何避免过拟合,以准确泛化模型外部的数据。


什么是过拟合?

过拟合是一个数据科学概念,在统计模型与其训练数据完全拟合时,就会出现过拟合。 在这种情况下,算法无法准确执行新数据,违背算法目的。 将模型泛化至新数据最终可支持我们每天使用机器学习算法进行预测并对数据进行分类。

机器学习算法在构建时利用样本数据集来训练模型。 然而,当模型在样本数据上训练的时间过长或模型过于复杂时,它可以开始学习数据集中的“噪声”或不相关的信息。 当模型记住“噪声”并且与训练集过于紧密地拟合时,模型就会变得“过度拟合”,无法很好地泛化至新数据。 如果模型无法很好地泛化至新数据,那么将无法执行预期的分类或预测任务。

低错误率和高方差是过拟合的明显标志。 为了防止出现这种行为,部分训练数据集通常被留作“测试集”来检查是否存在过拟合。 如果训练数据的错误率低,测试数据的错误率高,那么就表示出现过拟合。


过拟合与欠拟合

如果过度训练模型或模型过于复杂导致出现过拟合,那么逻辑预防响应会是提前终止训练过程(也称为“早停法”),或者通过消除不太相关的输入来降低模型的复杂性。 但是,如果过早终止或排除太多重要特征,那么可能会遇到相反的问题 — 模型欠拟合。 当模型没有训练足够长的时间,或者输入变量不够显著,无法确定输入变量和输出变量之间的有意义关系时,就会发生欠拟合。

模型在这两种情况下都无法在训练数据集中建立主导趋势。 因此,欠拟合也会在新数据泛化上的表现较差。 但与过拟合不同,欠拟合的模型在预测时的偏差较高,方差较小。 这就是偏差方差权衡,在欠拟合的模型移动到过合状态时,就会发生这种情况。 随着模型不断学习,其偏差会降低,但在过拟合状态下,其方差可能会提高。 拟合模型的目标是在欠拟合和过拟合之间找到最佳位置,以便建立主导趋势并将其广泛应用于新数据集。


如何检测过拟合模型

要了解机器学习模型的准确性,必须测试模型拟合度。 K 折交叉验证是最常用的评估模型准确性的技术之一。

在 K 折交叉验证中,数据被拆分为 k 个大小相等的数据包,这些子集也称为“折”。 其中一个“k 折”将充当测试集(也称为留出集或验证集),其余“折”将训练模型。 一直重复这个过程,直到每“折”都用作留出。 每次评估后,都会保留一个分数,在完成所有迭代后,将对分数求平均值以评估整个模型的性能。


如何避免过拟合

虽然使用线性模型有助于避免过拟合,但许多现实问题是非线性问题。 除了了解如何检测过拟合之外,还需要了解如何完全避免过拟合。 以下方法可用于避免过拟合:

  • 早停法:如前所述,这种方法在模型开始学习模型内的“噪声”之前终止训练。 这种方法可能过早终止训练过程,导致相反的欠拟合问题。 找到欠拟合和过拟合之间的最佳位置是该方法最终目标。
  • 使用更多数据训练:扩展训练集以包含更多数据,提供更多机会来解析输入变量和输出变量之间的主导关系,从而提高模型的准确性。 也就是说,当干净的相关数据进入模型时,这种方法更为有效。 否则可能会继续向模型增加更多复杂性,导致其过度拟合。
  • 数据增强:虽然将干净的相关数据加入训练数据是最好的方法,但有时会添加噪声数据以使模型更加稳定。 注意,请谨慎使用该方法。
  • 特征选择:构建模型时,会有许多用于预测给定结果的参数或特征,但这些特征很多时候对其他特征而言可能是冗余的。 特征选择是一个在数据训练中识别最重要特征,然后消除不相关或冗余的特征的过程。 这个过程通常被误认为是降维,但它们之间有一定区别。  这两种方法都有助于简化模型,以在数据中建立主导趋势。
  • 正则化:如果模型过于复杂导致过拟合,那么自然要减少特征的数量。 但是,如果我们不知道在特征选择过程中要删除哪些输入呢? 如果不知道要从模型中删除哪些特征,那么正则化方法可提供帮助。 正则化惩罚系数较大的输入参数,从而限制模型中的方差。  虽然有许多正则化方法,例如 L1 正则化、Lasso 正则化和丢弃法,但它们都试图识别和减少数据中的噪声。
  • 集成方法: 集成学习法由一组分类器(例如决策树)组成,会收集它们的预测以发现出现频率最高的结果。 最知名的集成方法是 bagging 和 Boosting 。 在 bagging 方法中,训练集中的随机数据样本通过替换进行选择,意味着可多次选择单个数据点。 在生成多个数据样本后,这些模型将独立训练,并且根据任务类型(如回归或分类),这些预测的平均或大多都会产生更准确的预测值。 这种方法通常用于降低噪声数据集内的方差。
在此 IBM 开发人员映像识别教程中了解如何使用其中一些方法

近期研究

虽然上面介绍了过拟合的公认定义,但最近的研究(PDF, 1.2 MB)(链接位于 IBM 外部)表明,尽管经过训练以“完全拟合或插值”,但深度学习模型和神经网络等复杂模型的执行准确度仍然很高。 这一发现与该主题下的历史研究结果不一致,下面的“双下降”风险曲线进行了进一步解释。 您可以看到,当模型学习超过插值阈值时,模型的表现得到改善。 我们之前提到的避免过拟合的方法,例如早停法和正则化,实际上可以防止插值。


IBM 与过拟合

IBM Watson Studio 是一个开放数据平台,允许数据科学家在任何云中大规模构建、运行、测试和优化 AI 模型。 IBM Watson Studio 支持您将随时随地将 AI 融入 IBM Cloud Pak® for Data。 利用灵活的开放式多云架构凝聚团队力量,简化 AI 生命周期管理,并加速实现价值。

要准确构建机器学习模型,立即注册 IBMid 并创建您的 IBM Cloud 帐户。


相关解决方案

Watson Studio

IBM Watson Studio 是一个开放数据平台,允许数据科学家在任何云中大规模构建、运行、测试和优化 AI 模型。