大家好,今天我们学习【机器学习速成】之过拟合的风险和泛化。
泛化是指模型很好地拟合以前未见过的新资料的能力。
我们之前曾提到过, 仅仅拟合训练资料并不足以进行机器学习。 对于机器学习,其实我们感兴趣的是泛化。 我们来深入探讨一下这个主题。
我们马上学三点,
直观理解过拟合。确定某个模型是否出色。将资料集划分为训练集和测试集机器学习
直观理解过拟合

现在我们有一个数据集, 左边是一些垃圾邮件样本, 右边是一些非垃圾邮件样本。 我可以尝试拟合一个线性模型, 对垃圾邮件样本和非垃圾邮件样本进行某种程度的区分。
欠拟合
但这里我要尝试拟合的任何一种线性模型 最终都会出点错, 可能会将这个或那个样本误分类, 放线上的错误一侧。
我可能会决定尝试一种更聪明的方法, 以针对训练资料获得完全准确的结果, 具体方法是绘制一条更为复杂的线, 可能是像这样的一条线。
过拟合
我要确保我的模型超级聪明, 可以实现百分之百的准确率。 现在,我的所有训练样本都已完全正确分类。
这时候会有什么问题呢? 问题就是:如果加入新的样本,会怎么样? 我最终可能会遇到一些新样本, 对于这些样本,模型无法很好地进行预测。
从某种意义上讲, 这个模型最初可能过拟合了训练资料, 而无法很好地对之前未出现的新资料进行分类。
模型复杂苏曲线
我们已经看到, 如果模型过于复杂, 那么过拟合真的会成为问题。 过拟合模型在训练过程中产生的损失很低, 但在新资料测试集方面的表现却非常糟糕。
最好的模型:泛化能力最好, 也就是对应测试资料集准确率最高的模型;
如何才能确保在实践中模型不会过拟合呢? 让我们回过头来, 从整体上看看在机器学习中, 我们究竟在尝试做些什么。
在非常抽象的层面上, 我们可以想象有某种隐藏的流程在为我们提供资料。
这个隐藏的流程可能就像这样: 生成垃圾电子邮件或非垃圾电子邮件, 然后人们会根据自己的看法标记这些邮件。
或者是这样的流程: 生成小狗照片, 然后人们将这些照片标记为可爱或不可爱。 这个流程可以是任何为我们提供资料的流程, 而一般情况下,我们无法了解这个流程的完整详情。
我们唯一会了解的, 就是我们从这个流程中采集的具体样本。 也就是具体的电子邮件或垃圾邮件, 或者具体的小狗照片。 我们将这些样本称为资料样本。
机器学习的目标是对从真实概率分布中 抽取的新资料做出良好预测。 遗憾的是,模型无法检视整体情况; 模型只能从训练资料集中取样。
现在,在理想情况下 我们希望能够对资料样本进行训练, 然后这个模型对从未见过的样本做出良好预测。
我们如何得知自己的模型是否出色?
我们如何才能相信模型能做到这一点呢? 我们可以追溯到远至14世纪的奥卡姆的威廉, 使用他提出的一些很好的概念, 他是史上第一位机器学习理论家, 提出了“奥卡姆剃刀”这一概念, 大意是说模型应尽可能简单。围绕这一概念诞生了 一个称为“泛化理论”的完整领域。 这是个非常吸引人的领域, 但本课程不会过多涉猎。
因为我们不需要运用理论, 实际上我们利用的是经验。
我们可以使用的经验策略是, 从该分布另外取样, 然后看看模型效果如何。 这种方式称为使用测试集方法。
我们从该分布抽取一批资料, 对这些资料进行训练, 这就是训练集。
我们再从该分布另外抽取一批资料, 用于测试模型称之为测试集, 一般来说, 在测试集上表现是否良好 是衡量能否在新资料上表现良好的有用指标, 前提是:如果测试集足够大; 如果我们不反复使用相同的测试集来作假。
如果预测效果好, 即预测测试集和预测训练集的效果一样好, 那么我们就可以满意地确定, 我们的模型可以很好地泛化到之前未出现的新资料。
机器学习细则
这里有些注意事项, 也就是机器学习的一些细则。第一,我们要以独立且一致的方式从该分布抽取样本。 样本之间不会互相影响。 我们不以任何方式主动产生偏差。
第二,分布是平稳的,不会随时间发生变化。 即分布在资料集内不会发生变化。
第三,我们始终从同一个分布提取样本, 不会突然开始从其他分布提取样本。
以上是非常关键的假设, 我们在监督式机器学习中 所做的许多工作都是以这些假设为基础。
但是在实践中,我们有时会违反这些假设。 想象有一个选择要展示的广告的模型。 如果该模型在某种程度上 根据使用者以前看过的广告选择广告, 则会违背独立同分布假设。
想象有一个包含一年零售资讯的资料集。 使用者的购买行为会出现节假日或季节性变化, 这会违反平稳性假设。
如果人们突然认为, 其他品种的小狗就像他们之前看到小狗一样可爱, 这时从相同分布抽取样本的行为就可能会改变。
因此,我们必须知道这些假设, 密切关注各项指标, 这样在违反了这些假设时就能立即知晓。
总结:
泛化是指模型很好地拟合以前未见过的新资料的能力。 新资料必须从用于建立该模型的同一分布中抽取。如果某个模型尝试紧密拟合训练资料, 但却不能很好地泛化到新资料, 就会发生过拟合。
如果不符合监督式机器学习的关键假设, 那么我们将失去 对新资料进行预测这项能力的重要理论保证。
这里讲了三点,关键词有哪几个? 欢迎回复评论