过拟合:模型复杂性

上一个单元介绍了以下模型,该模型分类有误 测试集中的树:

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

前面的模型包含许多复杂的形状。更简单的操作 模型处理新数据的能力?假设您将复杂模型替换为 直线模型。

图 17表现出色的直线模型
            将生病的树与健康的树分开
图 17. 一个简单得多的模型。

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

一直以来,简单性一直超越复杂性。事实上, 追求简洁的偏好可以追溯到古希腊。几个世纪后 一位名叫威廉·奥卡姆的 14 世纪修士正式确定了 这一理论叫做奥卡姆 (Occam) 剃须刀。这一理念 仍然是许多科学的基本基本原则,包括 机器学习。

练习:检查您的掌握程度

您正在开发物理方程。下列哪些公式 更符合奥卡姆剃刀定律?
包含三个变量的公式。
与 12 个变量相比,三个变量更适合奥卡姆变量。
一个包含 12 个变量的公式。
十二个变量似乎过于复杂,不是吗? 有史以来最著名的两个物理公式(F=ma 和 E=mc2)。每个事件仅涉及三个变量。
您正在参与一个全新的机器学习项目,正要选择 第一批功能。您应该选择多少项特征?
选择 1-3 个看起来具有较强预测能力的特征。
您的数据收集流水线最好仅从一个项目开始, 两项功能。这将帮助您确认机器学习模型是否按预期运行。 此外,当您根据多个功能构建基准时, 您会感觉有进步!
选择 4-6 个看起来具有很强预测能力的特征。
您最终可能会使用这么多功能,但最好还是 从数量较少的网站入手特征越少,通常意味着不必要的操作也就越少 各种复杂问题
选择尽可能多的特征,以便开始观察 具有最强大的预测能力。
先小规模测试。每一项新功能都会为您的训练带来新的维度 数据集。当维度增加时,空间的体积 速度如此快,可用的训练数据就会变得稀疏。通过 数据越稀疏,模型就越难学习 实际重要特征与标签之间的差别。这种现象 叫做“维度的诅咒”

正则化

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

  • 适合数据。
  • 尽可能简单地显示数据。

使模型简单易行的一个方法是,对复杂的模型进行惩罚;即 在训练期间让模型变得简单一些。点球大战 模型是正则化的一种形式。

损失和复杂性

到目前为止,本课程建议,训练时的唯一目标是 最大限度地减少损失;即:

$$\text{minimize(loss)}$$

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

$$\text{minimize(loss + complexity)}$$

不幸的是,损失和复杂程度通常是相反的。如 复杂性增加,损失降低。随着复杂度的降低,损失也就增加了。 你应该找到一个合理的中间点,模型在这方面 同时根据训练数据和真实数据进行预测。 也就是说,您的模型应该找到一个合理的折衷方案, 损失和复杂性之间的差距。

什么是复杂性?

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

练习:检查您的直觉

到目前为止,我们都不太清楚究竟什么是复杂性 。你认为以下哪些想法是合理的 复杂性指标?
复杂度是模型权重的函数。
是的,这是衡量某些模型的复杂性。 该指标称为 L1 正则化。
复杂度是模型权重的平方函数。
是的,您可以衡量部分模型的复杂化。此指标 称为 L2 正则化
复杂度是特征集中所有特征的偏差的函数 模型。
偏差不会衡量复杂性。