林轩田机器学习基石笔记13:Hazard of Overfitting

0. 前言

之前的课程中讲到,在使用非线性分类器时,我们使用越高阶的特征转换,模型会更复杂,同时得到更高的VC维度。这节课中将会介绍这一行为导致机器学习中一个重要的问题:过拟合。

1. What is Overfitting

  • 什么是过拟合,看一张图就明白了:
    林轩田机器学习基石笔记13:Hazard of Overfitting_第1张图片
    可以看到,目标函数是蓝色的线,一共有5个样本可供学习,我们使用一个复杂的分类器将5个样本学的很好,但是得到的结果和蓝色的差很多。这种情况就叫做过拟合。

  • 过拟合也可以这么解释: Ein E i n 很小,但是 EoutEin E o u t − E i n 很大,导致E_{out}较大。

  • 欠拟合:样本学的不好, Ein E i n 很大,自然 Eout E o u t 也会很大。

2. The Role of Noise and Data Size

  • 产生过拟合的两个因素:noise和目标函数复杂度。

  • 模型1:当存在noise且模型分布函数是10阶多项式,图为:
    林轩田机器学习基石笔记13:Hazard of Overfitting_第2张图片
    此时2阶多项式和10阶多项式学得的模型分别为:
    林轩田机器学习基石笔记13:Hazard of Overfitting_第3张图片
    可以看到10阶的多项式还不如2阶的多项式,10阶多项式分类器过拟合了!而目标函数就是个十阶多项式,原因就是noise在搞鬼。

  • 模型2:不存在noise,分布函数是50阶多项式时:
    林轩田机器学习基石笔记13:Hazard of Overfitting_第4张图片
    此时2阶和10阶分类模型为:
    林轩田机器学习基石笔记13:Hazard of Overfitting_第5张图片
    可以看到高阶的分类模型过拟合了。

3. A Detailed Experiment

本部分探讨过拟合什么时候发生。假设我们产生的数据分布由两部分组成:第一部分是目标函数f(x), Qf Q f 阶多项式;第二部分是噪声 ϵ ϵ ,服从Gaussian分布。接下来我们分析的是noise强度不同对overfitting有什么样的影响。总共的数据量是N。
- 噪声对过拟合的影响:
林轩田机器学习基石笔记13:Hazard of Overfitting_第6张图片
可以看到噪声越大,过拟合的概率就越大。
- 目标函数复杂度:
林轩田机器学习基石笔记13:Hazard of Overfitting_第7张图片
目标模型越复杂时,过拟合的概率也会越大。
- 一共有四种情况发生过拟合:
这里写图片描述
分别是样本数量过少、噪声过大、目标函数复杂、模型VC维度过高。

4. Driving Analogy Revisited

这一部分讲解如何对付过拟合。

  • 避免过拟合的方法有5种:

    1. 从简单模型开始学习
    2. 数据清洗,使用更好的数据
    3. 拿出更多的数据
    4. regularization(put the break 后面课程讲)
    5. validation(monitor the dashboard 后面课程讲)
  • 第一种方法在上一课中讲过,我们可以先用低阶的多项式分类器进行分类,再逐渐的使用更复杂的分类器,不断地减小 Ein E i n

  • 第二种方法:处理掉样本中明显错误的点,可以进行修正或者剔除。这种方法在错误样本数量很小时,起到的效果很有限。
  • 第三种方法:data hinting是针对N不够大的情况,如果没有办法获得更多的训练集,那么data hinting就可以对已知的样本进行简单的处理、变换,从而获得更多的样本。举个例子,数字分类问题,可以对已知的数字图片进行轻微的平移或者旋转,从而让N丰富起来,达到扩大训练集的目的。这种额外获得的例子称之为virtual examples。但是要注意一点的就是,新获取的virtual examples可能不再是来自于某个distribution。所以新构建的virtual examples要尽量合理,且是独立同分布的。

5. 总结

  • 什么是过拟合,当 Ein E i n Eout E o u t 差距很大时。
  • 过拟合很容易出现。
  • 过拟合出现的四个常见原因。
  • 解决过拟合的5种方法。

你可能感兴趣的:(机器学习,机器学习基石笔记)