过拟合:模型复杂性

上单元介绍了以下模型,该模型将测试集中的许多树误分类了:

图 16. 与图 13 相同的图片。这是一个复杂的形状,会错误地对许多树进行分类。
图 16. 上单元中行为异常的复杂模型。

上述模型包含许多复杂的形状。更简单的模型能否更好地处理新数据?假设您将复杂的模型替换为一个非常简单的模型:一条直线。

图 17. 一条直线模型,非常有效地将患病树与健康树区分开来。
图 17. 一个更简单的模型。

在对新数据进行泛化时,简单模型比复杂模型的效果更好。也就是说,简单模型在测试集上的预测结果比复杂模型更好。

简单一直以来都胜过复杂。事实上,人们对简约的偏好可以追溯到古希腊。几个世纪后,14 世纪的一位修士奥卡姆的威廉将这种对简单性的偏好正式化为一种哲学,称为“奥卡姆剃刀”。这一哲学仍然是许多科学(包括机器学习)的基本原理。

练习:检查您的理解情况

您正在推导一个物理方程。以下哪个公式更符合奥卡姆剃刀原则?
包含十二个变量的公式。
包含三个变量的公式。
您正在着手一个全新的机器学习项目,即将选择您的第一个特征。您应选择多少个地图项?
选择 4-6 个似乎具有强大预测力的特征。
选择尽可能多的特征,以便开始观察哪些特征具有最强的预测能力。
选择 1-3 个似乎具有强大预测力的特征。

正则化

机器学习模型必须同时满足两个相互冲突的目标:

  • 能很好地拟合数据。
  • 尽可能简单地拟合数据。

为了让模型保持简单,一种方法是惩罚复杂的模型;也就是说,在训练过程中强制模型变得更简单。对复杂模型进行惩罚是一种正则化

丢失和复杂性

到目前为止,本课程已表明训练的唯一目标是尽量减少损失;即:

minimize(loss)

如您所见,仅专注于最大限度地减少损失的模型往往会过拟合。更好的训练优化算法可最大限度地减少损失和复杂性的某种组合:

minimize(loss + complexity)

遗憾的是,损失和复杂性通常成反比。随着复杂性的增加,损失会降低。复杂性越低,损失就越大。您应找到一个合理的中间点,使模型对训练数据和真实数据都能做出良好的预测。也就是说,您的模型应在损失和复杂性之间找到合理的折衷。

什么是复杂性?

您已经了解了几种量化损失的方法。您如何量化复杂性?通过以下练习开始探索:

练习:检查您的直觉

到目前为止,我们对复杂性的实际含义还不甚明了。您认为以下哪个想法是合理的复杂性指标?
复杂度是模型中所有特征的偏差的函数。
复杂度是模型权重的平方的函数。
复杂度是模型权重的函数。