原文链接:https://developers.google.com/machine-learning/crash-course/generalization
泛化是指模型很好地拟合以前未见过的新数据(从用于创建该模型的同一分布中抽取)的能力。
1- 过拟合的风险
机器学习的目标是对从真实概率分布(已隐藏)中抽取的新数据做出良好预测。
过拟合模型在训练过程中产生的损失很低,但在预测新数据方面的表现却非常糟糕。
模型只能从训练数据集中取样,无法查看整体情况。
如果某个模型在拟合当前样本方面表现良好,那么如何相信该模型会对新数据做出良好的预测呢?
奥卡姆剃刀定律:科学家应该优先采用更简单(而非更复杂)的公式或理论。
运用在机器学习中:机器学习模型越简单,良好的实证结果就越有可能不仅仅基于样本的特性。
应用于统计学习理论和计算学习理论领域。这些领域已经形成了泛化边界,即统计化描述模型根据以下因素泛化到新数据的能力:
- 模型的复杂程度
- 模型在处理训练数据方面的表现
虽然理论分析在理想化假设下可提供正式保证,但在实践中却很难应用。
MLCC侧重于实证评估,以评判模型泛化到新数据的能力。
1.1- 获取新数据
机器学习模型旨在根据以前未见过的新数据做出良好预测。
如何获得以前未见过的数据呢?
一种方法是将您的数据集分成两个子集:
- 训练集 - 用于训练模型的子集。
- 测试集 - 用于测试模型的子集。
一般来说,在测试集上表现是否良好是衡量能否在新数据上表现良好的有用指标,前提是:
- 测试集足够大。
- 不会反复使用相同的测试集来作假。
1.2- 机器学习细则
以下三项基本假设阐明了泛化:
- 从分布中随机抽取独立同分布 (i.i.d)的样本。换言之,样本之间不会互相影响。
- 分布是平稳的;即分布在数据集内不会发生变化。
- 从同一分布的数据划分中抽取样本。
在实践中,有时会违背这些假设。例如:
- 想象有一个选择要展示的广告的模型。如果该模型在某种程度上根据用户以前看过的广告选择广告,则会违背 i.i.d. 假设。
- 想象有一个包含一年零售信息的数据集。用户的购买行为会出现季节性变化,这会违反平稳性。
如果违背了上述三项基本假设中的任何一项,那么就必须密切注意指标。
1.3- 总结
- 如果某个模型尝试紧密拟合训练数据,但却不能很好地泛化到新数据,就会发生过拟合。
- 如果不符合监督式机器学习的关键假设,那么我们将失去对新数据进行预测这项能力的重要理论保证。
2- 关键词
泛化 (generalization)
指的是模型依据训练时采用的数据,针对以前未见过的新数据做出正确预测的能力。
过拟合 (overfitting)
创建的模型与训练数据过于匹配,以致于模型无法根据新数据做出正确的预测。
预测 (prediction)
模型在收到输入样本后的输出。
平稳性 (stationarity)
数据集中数据的一种属性,表示数据分布在一个或多个维度保持不变。
这种维度最常见的是时间,即表明平稳性的数据不随时间而变化。
例如,从 9 月到 12 月,表明平稳性的数据没有发生变化。
测试集 (test set)
数据集的子集,用于在模型经由验证集的初步验证之后测试模型。
与训练集和验证集相对。
训练集 (training set)
数据集的子集,用于训练模型。
与验证集和测试集相对。