泛化 (Generalization):过拟合的风险

假设这些图中的每个点代表一棵树在森林中的位置。图中的两种颜色分别代表以下含义:

  • 蓝点代表生病的树。

  • 橙点代表健康的树。

                    泛化 (Generalization):过拟合的风险

                                           图 1. 生病(蓝色)和健康(橙色)的树。

如果我们很严格的区分,如图二所示:

                           泛化 (Generalization):过拟合的风险

                                             图 2. 用于区分生病的树与健康的树的复杂模型。

图 3 显示我们向该模型中添加了新数据后所发生的情况。结果表明,该模型在处理新数据方面表现非常糟糕。请注意,该模型对大部分新数据的分类都不正确。

                                 泛化 (Generalization):过拟合的风险

                                                          图 3. 该模型在预测新数据方面表现非常糟糕。

图 2 和图 3 所示的模型过拟合了训练数据的特性。过拟合模型在训练过程中产生的损失很低,但在预测新数据方面的表现却非常糟糕。过拟合是由于模型的复杂程度超出所需程度而造成的。机器学习的基本冲突是适当拟合我们的数据,但也要尽可能简单地拟合数据。

机器学习的目标是对从真实概率分布(已隐藏)中抽取的新数据做出良好预测。遗憾的是,模型无法查看整体情况;模型只能从训练数据集中取样。

泛化边界,即统计化描述模型根据以下因素泛化到新数据的能力:

  • 模型的复杂程度
  • 模型在处理训练数据方面的表现

虽然理论分析在理想化假设下可提供正式保证,但在实践中却很难应用。机器学习速成课程则侧重于实证评估,以评判模型泛化到新数据的能力。机器学习模型旨在根据以前未见过的新数据做出良好预测。但是,如果您要根据数据集构建模型,如何获得以前未见过的数据呢?一种方法是将数据集分成两个子集:

  • 训练集 - 用于训练模型的子集。
  • 测试集 - 用于测试模型的子集。

一般来说,在测试集上表现是否良好是衡量能否在新数据上表现良好的有用指标,前提是:

  • 测试集足够大。
  • 您不会反复使用相同的测试集来作假。

机器学习细则

以下三项基本假设阐明了泛化:

  • 我们从分布中随机抽取独立同分布 (i.i.d) 的样本。换言之,样本之间不会互相影响。(另一种解释:i.i.d. 是表示变量随机性的一种方式)。
  • 分布是平稳的;即分布在数据集内不会发生变化。
  • 我们从同一分布的数据划分中抽取样本。

在实践中,我们有时会违背这些假设。例如:

  • 想象有一个选择要展示的广告的模型。如果该模型在某种程度上根据用户以前看过的广告选择广告,则会违背 i.i.d. 假设。
  • 想象有一个包含一年零售信息的数据集。用户的购买行为会出现季节性变化,这会违反平稳性。

如果违背了上述三项基本假设中的任何一项,那么我们就必须密切注意指标。

总结
  • 如果某个模型尝试紧密拟合训练数据,但却不能很好地泛化到新数据,就会发生过拟合。
  • 如果不符合监督式机器学习的关键假设,那么我们将失去对新数据进行预测这项能力的重要理论保证。
Key Terms
generalization(泛化) overfitting(过拟合)
prediction(预测) stationarity(平稳性)
test set(测试集) training set(训练集)