什么是机器学习中的欠拟合?

已发表: 2024-10-16

欠拟合是机器学习(ML)模型开发过程中遇到的常见问题。当模型无法有效地从训练数据中学习时,就会发生这种情况,从而导致性能不佳。在本文中,我们将探讨什么是欠拟合、它是如何发生的以及避免它的策略。

目录

  • 什么是欠拟合?
  • 欠拟合是如何发生的
  • 欠拟合与过拟合
  • 欠拟合的常见原因
  • 如何检测欠拟合
  • 防止欠拟合的技术
  • 欠拟合的实际例子

使用 Grammarly 更智能地工作
任何有工作要做的人的人工智能写作伙伴

什么是欠拟合?

欠拟合是指机器学习模型无法捕获训练数据中的潜在模式,导致训练和测试数据的性能都很差。当发生这种情况时,意味着模型太简单,不能很好地表示数据最重要的关系。因此,该模型很难对所有数据(包括训练期间看到的数据和任何新的、未见过的数据)做出准确的预测。

欠拟合是如何发生的?

当机器学习算法生成的模型无法捕获训练数据最重要的属性时,就会发生欠拟合;以这种方式失败的模型被认为过于简单。例如,假设您正在使用线性回归根据营销支出、客户人口统计数据和季节性来预测销售额。线性回归假设这些因素与销售额之间的关系可以表示为直线的组合。

尽管营销支出和销售额之间的实际关系可能是弯曲的或包括多种交互作用(例如,销售额首先快速增长,然后趋于平稳),但线性模型会通过绘制直线而过于简单化。这种简化忽略了重要的细微差别,导致预测结果和整体性能不佳。

这个问题在许多机器学习模型中很常见,其中高偏差(严格假设)会阻止模型学习基本模式,导致其在训练和测试数据上表现不佳。当模型太简单而无法代表数据的真实复杂性时,通常会出现欠拟合。

欠拟合与过拟合

在机器学习中,欠拟合和过度拟合是常见问题,可能会对模型准确预测的能力产生负面影响。了解两者之间的差异对于构建能够很好地推广到新数据的模型至关重要。

  • 当模型过于简单并且无法捕获数据中的关键模式时,就会出现欠拟合。这会导致训练数据和新数据的预测不准确。
  • 当模型变得过于复杂时,就会发生过度拟合,不仅拟合真实模式,还拟合训练数据中的噪声。这导致模型在训练集上表现良好,但在新的、未见过的数据上表现不佳。

为了更好地说明这些概念,请考虑一个根据压力水平预测运动表现的模型。图表中的蓝点代表训练集中的数据点,而线条则显示模型在接受该数据训练后的预测。 三个并排图说明欠拟合、拟合良好的模型和过拟合。

1欠拟合:在这种情况下,模型使用简单的直线来预测性能,即使实际关系是弯曲的。由于该线与数据不太吻合,因此模型过于简单,无法捕获重要模式,从而导致预测结果不佳。这是欠拟合,即模型无法学习数据最有用的属性。

2最佳拟合:这里,模型足够适当地拟合数据曲线。它捕捉潜在趋势,但不会对特定数据点或噪音过于敏感。这是理想的场景,模型具有相当好的泛化能力,并且可以对类似的新数据做出准确的预测。然而,当面对截然不同或更复杂的数据集时,泛化仍然具有挑战性。

3过拟合:在过拟合场景中,模型紧密跟踪几乎每个数据点,包括训练数据中的噪声和随机波动。虽然该模型在训练集上表现得非常好,但它对于训练数据来说过于具体,因此在预测新数据时效果会较差。它很难概括,并且在应用于未见过的场景时可能会做出不准确的预测。

欠拟合的常见原因

欠拟合的潜在原因有很多。最常见的四种是:

  • 模型架构过于简单。
  • 特征选择不佳
  • 训练数据不足
  • 训练不够

让我们进一步深入研究以了解它们。

模型架构过于简单

模型架构是指用于训练模型的算法和模型结构的组合。如果架构太简单,则可能难以捕获训练数据的高级属性,从而导致预测不准确。

例如,如果模型尝试使用单条直线对遵循曲线模式的数据进行建模,则它始终会欠拟合。这是因为直线无法准确表示弯曲数据中的高级关系,使得模型的架构不足以完成该任务。

特征选择不佳

特征选择涉及在训练期间为 ML 模型选择正确的变量。例如,在预测一个人是否会点击电子商务网站上的购买按钮时,您可能会要求 ML 算法查看一个人的出生年份、眼睛颜色、年龄或所有三项。

如果特征太多,或者所选特征与目标变量没有很强的相关性,则模型将没有足够的相关信息来做出准确的预测。眼睛颜色可能与转换无关,而年龄捕获的信息与出生年份的信息大部分相同。

训练数据不足

当数据点太少时,模型可能会欠拟合,因为数据无法捕获问题最重要的属性。发生这种情况的原因可能是缺乏数据,也可能是由于抽样偏差,即某些数据源被排除或代表性不足,从而阻止模型学习重要模式。

训练不够

训练机器学习模型需要根据其预测与实际结果之间的差异来调整其内部参数(权重)。模型经历的训练迭代次数越多,它就越能更好地调整以适应数据。如果模型训练的迭代次数太少,它可能没有足够的机会从数据中学习,从而导致欠拟合。

如何检测欠拟合

检测欠拟合的一种方法是分析学习曲线,该曲线根据训练迭代次数绘制模型的性能(通常是损失或错误)。学习曲线显示模型如何随着时间的推移在训练和验证数据集上改进(或未能改进)。

损失是给定数据集的模型误差的大小。训练损失测量训练数据的损失和验证数据的验证损失。验证数据是用于测试模型性能的单独数据集。它通常是通过将较大的数据集随机拆分为训练数据和验证数据来生成的。

在欠拟合的情况下,您会注意到以下关键模式:

  • 高训练损失:如果模型的训练损失在过程早期仍然很高且持平,则表明模型没有从训练数据中学习。这是欠拟合的明显迹象,因为模型太简单,无法适应数据的复杂性。
  • 类似的训练和验证损失:如果训练和验证损失都很高并且在整个训练过程中保持接近,则意味着模型在两个数据集上表现不佳。这表明模型没有从数据中捕获足够的信息来做出准确的预测,这表明拟合不足。

下面是一个示例图表,显示了欠拟合场景中的学习曲线:

该图显示训练和验证损失仍然很高,表明模型欠拟合

在这个视觉表示中,很容易发现欠拟合:

  • 在拟合良好的模型中,训练损失显着下降,而验证损失遵循类似的模式,最终趋于稳定。
  • 在欠拟合的模型中,训练和验证损失一开始就很高,并且一直保持在很高的水平,没有任何显着的改善。

通过观察这些趋势,您可以快速识别模型是否过于简单并需要调整以增加其复杂性。

防止欠拟合的技术

如果遇到欠拟合,可以使用多种策略来提高模型的性能:

  • 更多训练数据:如果可能,获取额外的训练数据。如果数据质量高且与当前问题相关,更多数据将为模型提供更多学习模式的机会。
  • 扩展特征选择:向模型添加更相关的特征。选择与目标变量有密切关系的特征,使模型有更好的机会捕获以前错过的重要模式。
  • 增强架构能力:在基于神经网络的模型中,您可以通过更改权重、层数或其他超参数的数量来调整架构结构。这可以让模型更加灵活并且更容易找到数据中的高级模式。
  • 选择不同的模型:有时,即使在调整超参数之后,特定模型也可能不太适合该任务。测试多种模型算法可以帮助找到更合适的模型并提高性能。

欠拟合的实际例子

为了说明欠拟合的影响,让我们看一下各个领域的现实示例,在这些示例中,模型无法捕获数据的复杂性,从而导致预测不准确。

预测房价

要准确预测房屋价格,您需要考虑许多因素,包括位置、面积、房屋类型、状况和卧室数量。

如果您使用的特征太少(例如仅房屋的大小和类型),模型将无法访问关键信息。例如,该模型可能假设一个小型工作室很便宜,但不知道它位于伦敦梅菲尔区,该地区的房价很高。这会导致糟糕的预测。

为了解决这个问题,数据科学家必须确保正确的特征选择。这涉及包括所有相关特征,排除不相关特征,并使用准确的训练数据。

语音识别

语音识别技术在日常生活中变得越来越普遍。例如,智能手机助手、客户服务热线和残疾人辅助技术都使用语音识别。训练这些模型时,使用来自语音样本的数据及其正确的解释。

为了识别语音,该模型将麦克风捕获的声波转换为数据。如果我们通过仅提供特定时间间隔内语音的主要频率和音量来简化这一点,我们就可以减少模型必须处理的数据量。

然而,这种方法剥夺了充分理解演讲所需的基本信息。数据变得过于简单,无法捕捉人类语音的复杂性,例如语气、音高和口音的变化。

因此,该模型将无法适应,甚至难以识别基本的单词命令,更不用说完整的句子了。即使模型足够复杂,缺乏全面的数据也会导致拟合不足。

图像分类

图像分类器被设计为将图像作为输入并输出一个单词来描述它。假设您正在构建一个模型来检测图像是否包含球。您可以使用球和其他物体的标记图像来训练模型。

如果您错误地使用简单的两层神经网络而不是更合适的模型(例如卷积神经网络(CNN)),该模型将会陷入困境。两层网络将图像扁平化为单层,丢失了重要的空间信息。此外,该模型只有两层,缺乏识别复杂特征的能力。

这会导致欠拟合,因为即使在训练数据上,模型也无法做出准确的预测。 CNN 通过保留图像的空间结构并使用带有滤波器的卷积层来解决这个问题,这些滤波器会自动学习检测重要特征,例如早期层中的边缘和形状以及后面层中更复杂的对象。