什么是过拟合?

过拟合是一种不受欢迎的机器学习行为,当机器学习模型为训练数据提供准确的预测而不是新数据时,就会发生这种行为。当数据科学家使用机器学习模型进行预测时,他们首先在已知数据集上训练模型。然后,根据这些信息,该模型尝试预测新数据集的结果。过度拟合模型可能给出不准确的预测,并且无法对所有类型的新数据表现良好。

为什么会出现过拟合?

只有当机器学习模型泛化到其领域内所有类型的数据时,您才能获得准确的预测。当模型无法泛化以及与训练数据集的拟合过于紧密时,会发生过拟合。过拟合会由几个原因会导致,例如:
•    训练数据大小过小,并且未包含足够的数据样本,无法准确代表所有可能的输入数据值。
•    训练数据包含大量不相关的信息,称为噪声数据。
•    模型在单个数据样本集上训练的时间过长。
•    模型复杂程度较高,因此其可以学习训练数据中的噪声。

过拟合示例
考虑一个使用案例,在该案例中,机器学习模型必须分析照片并识别其中包含狗的照片。如果机器学习模型在数据集上进行训练,该数据集主要包含显示室外公园内狗的照片,则该模型可能学习使用草作为分类特征,并且可能无法识别室内的狗。
过拟合的另一个例子是机器学习算法,该算法通过分析一些因素(例如家庭收入、过去的学业成绩和父母的学历)预测大学生的学业成绩和毕业成绩。但是,测试数据仅包括来自特定性别或种族的候选人。在这种情况下,当候选人的性别或种族在测试数据集之外时,过拟合会导致算法的预测准确性下降。

如何检测过拟合?

检测过拟合模型的最佳方法是在全面代表可能的输入数据值和类型的更多数据上测试机器学习模型。通常,将部分训练数据用作测试数据检查是否存在过拟合。如果测试数据中的错误率较高,则表示存在过拟合。以下提供一种测试过拟合的方法。
K 折交叉验证
交叉验证是一种实践中使用的测试方法。在此方法中,数据科学家将训练集划分为 K 个大小相等的子集或称为折的样本集。训练流程由一系列迭代组成。在每次迭代期间,步骤包括:
1.    保留一个子集作为验证数据,并在剩余的 K-1 个子集上训练机器学习模型。
2.    观察模型在验证样本上的性能如何。
3.    根据输出数据质量对模型性能进行评分。


重复迭代,直到您在每个样品集上测试模型。然后,将所有迭代的分数求平均值,以获得预测模型的最终评估结果。

如何防止过拟合?

您可以通过多样化和扩展训练数据集或者使用其他一些数据科学策略(如下文所述)防止过拟合。
提前停止
在机器学习模型学习数据中的噪音之前,提前停止会暂停训练阶段。但是,正确的时间至关重要;否则模型仍然无法提供准确的结果。
修剪
在构建模型时,您可能会确定影响最终预测的几个特征或参数。特征选择(或修剪)可识别训练集中最重要的特征,并消除不相关的特征。例如,要预测的图像是动物还是人类,您可以查看各种输入参数,例如脸型、耳朵位置、体型等。您可以优先考虑脸型,而忽略眼型。
正则化
正则化指旨在减少过拟合的训练/优化技术的集合。这些方法尝试根据重要性对特征进行评分,从而消除不会影响预测结果的因素。例如,数学计算会将惩罚值应用于影响最小的特征。考虑一个统计模型,该模型尝试预测 20 年后城市的房价。正则化为人口增长和平均年收入等特征设置较低的惩罚值,但为城市年平均气温设置较高的惩罚值。
集成
集成会结合来自几种独立机器学习算法的预测。某些模型被称为弱学习器,因为它们的结果通常不准确。集成方法会结合所有弱学习器,从而获得更准确的结果。这些方法使用多个模型来分析样本数据并挑选最准确的结果。有两种主要的集成方法:装袋方法和提升方法。提升方法会依次训练不同的机器学习模型以获得最终结果,而装袋方法则并行训练这些模型。
数据增强
数据增强是一种机器学习技术,可在模型每次处理样本数据时略微更改样本数据。您可以通过小幅更改输入数据来实现此目的。当应用于审核时,数据增强会使训练集与模型唯一匹配,并防止模型学习其特征。例如,对输入图像应用转换,例如平移、翻转和旋转。

 

什么是欠拟合?

欠拟合是另一种错误类型,当模型无法确定输入数据和输出数据之间是否存在有意义的关系时,会发生这种错误。如果模型没有在大量数据点上进行适当时长的训练,则会获得欠拟合模型。
欠拟合与过拟合的对比
欠拟合模型存在较高偏差,其提供的训练数据和测试集的结果不太准确。另一方面,过拟合模型存在较高方差,其为训练集而非测试集提供准确的结果。模型训练次数越多,偏差越小,但方差随之增加。数据科学家致力于在拟合模型时找到欠拟合和过拟合之间的最佳位置。精确拟合的模型可以快速确定可见和不可见数据集的主要趋势。

AWS 如何最大限度地减少机器学习模型中的过拟合错误?

您可以使用 Amazon SageMaker 通过完全托管的基础设施、工具和工作流为任何使用案例构建、训练和部署机器学习模型。Amazon SageMaker 具有一项内置功能,称为 Amazon SageMaker Debugger,该功能可自动分析训练期间生成的数据,例如输入、输出和转换。因此,它无需人工干预,即可检测和报告过拟合和其他不准确性。

例如,您可以:

  • 在达到所需的精度时自动停止训练流程。
  • 实时捕获训练指标。
  • 在检测到过拟合时收到警报。

减少训练机器学习模型的时间和成本。立即创建免费账户,在 AWS 上开启机器学习之旅!

AWS 过拟合后续步骤

查看其他与产品相关的资源
AWS 上的免费机器学习服务 
注册免费账户

立即享受 AWS 免费套餐。 

注册 
开始在控制台中构建

在 AWS 管理控制台中开始构建。

登录