上一个单元介绍了以下模型,该模型分类有误 测试集中的树:
前面的模型包含许多复杂的形状。更简单的操作 模型处理新数据的能力?假设您将复杂模型替换为 直线模型。
简单模型对新数据的泛化效果优于复杂模型。也就是说, 简单的模型在测试集上的预测比复杂模型好。
一直以来,简单性一直超越复杂性。事实上, 追求简洁的偏好可以追溯到古希腊。几个世纪后 一位名叫威廉·奥卡姆的 14 世纪修士正式确定了 这一理论叫做奥卡姆 (Occam) 剃须刀。这一理念 仍然是许多科学的基本基本原则,包括 机器学习。
练习:检查您的掌握程度
您正在开发物理方程。下列哪些公式
更符合奥卡姆剃刀定律?
包含三个变量的公式。
与 12 个变量相比,三个变量更适合奥卡姆变量。
一个包含 12 个变量的公式。
十二个变量似乎过于复杂,不是吗?
有史以来最著名的两个物理公式(F=ma 和
E=mc2)。每个事件仅涉及三个变量。
您正在参与一个全新的机器学习项目,正要选择
第一批功能。您应该选择多少项特征?
选择 1-3 个看起来具有较强预测能力的特征。
您的数据收集流水线最好仅从一个项目开始,
两项功能。这将帮助您确认机器学习模型是否按预期运行。
此外,当您根据多个功能构建基准时,
您会感觉有进步!
选择 4-6 个看起来具有很强预测能力的特征。
您最终可能会使用这么多功能,但最好还是
从数量较少的网站入手特征越少,通常意味着不必要的操作也就越少
各种复杂问题
选择尽可能多的特征,以便开始观察
具有最强大的预测能力。
先小规模测试。每一项新功能都会为您的训练带来新的维度
数据集。当维度增加时,空间的体积
速度如此快,可用的训练数据就会变得稀疏。通过
数据越稀疏,模型就越难学习
实际重要特征与标签之间的差别。这种现象
叫做“维度的诅咒”
正则化
机器学习模型必须同时满足两个相互冲突的目标:
- 适合数据。
- 尽可能简单地显示数据。
使模型简单易行的一个方法是,对复杂的模型进行惩罚;即 在训练期间让模型变得简单一些。点球大战 模型是正则化的一种形式。
损失和复杂性
到目前为止,本课程建议,训练时的唯一目标是 最大限度地减少损失;即:
$$\text{minimize(loss)}$$
如您所见,仅专注于最小化损失的模型往往过拟合。 更好的训练优化算法可以最大限度减少 损失和复杂性:
$$\text{minimize(loss + complexity)}$$
不幸的是,损失和复杂程度通常是相反的。如 复杂性增加,损失降低。随着复杂度的降低,损失也就增加了。 你应该找到一个合理的中间点,模型在这方面 同时根据训练数据和真实数据进行预测。 也就是说,您的模型应该找到一个合理的折衷方案, 损失和复杂性之间的差距。
什么是复杂性?
您已经了解了量化损失的几种不同方法。我 如何量化复杂性?请通过以下练习开始探索: