机器学习基石-Hazard of Overfitting
大纲
What is Overfitting
Bad Generation and Overfitting
通过图像分析,我们可以知道
如果我们取比较大的
dVC ,这时候的模型复杂度很高,Ein 小,Eout 大,这时候Eout−Eint 很大,我们称之为Bad Generation当
dVC=d∗VC 向dVC=1126 变化时,Ein 不断减小,Eout 不断增大,这种情况我们称之为Overfitting- 当
dVC=d∗VC 向dVC=1 变化时,Ein 不断增大,Eout 不断增大,这种情况我们称之为Underfitting
Cause of Overfitting
如果我们把Overfitting类比为发生交通事故
那么我们可以这样比较形象的说明发生Overfitting的原因
- 使用较大的
dVC ,我们可以比喻为开车开太快 - 数据含有较多的噪声,我们可以比喻为道路信息错误
- 数据量太少,我们可以比喻为对交通路况的有限观察
下面我们分析数据量和噪声是怎么导致Overfitting的
The Role of Noise and Data Size
Case Study
我们考虑两种数据情况
第一种数据是由一个10阶多项式+随机噪声生成
第二种数据是由一个50阶多项式生成,没有噪声
现在我们有两个学习器,
通过分析
Learning Curves
下面我们通过学习曲线来分析一下有噪声的情况下的原因
- 在图一中,因为VC维比较小,所以即使在数据量比较小的手,即灰色区域,
Ein 和Eout 都比较接近 - 在图二中,因为VC维比较大,在数据量比较小的情况下,
Ein 和Eout ,相差过大,很容易发生过拟合。
The No Noise Case
在高阶无噪声时,依旧是从
Deterministic Noise
下面我们分析不同的
左图中,固定了生成样本的
Qf ,σ2 越大,数据量越小,越容易过拟合。σ2 越小,数据量越大,越不容易过拟合。我们称之为随机噪声的影响右图中,固定了
σ2 ,目标模型复杂度越高,数据量越小,越容易发生过拟合,反之,不易发生过拟合。我们注意到左下角这里也容易过拟合,这是因为,可能目标模型很简单,而你用了一个复杂模型去学习,就会发生过拟合。
Deterministic Noise
我们可以这样定义Deterministic Noise:如果
Deterministic Noise 和 stochastic之间的不同是,
Deterministic Noise 和
H 有关。Deterministic Noise 对于给定的数据是固定的。
Dealing with Overfitting
我们如何预防Overfitting,这里还是和如何避免交通事故做类比
- 从简单的模型开始
- 数据清理
- 数据增强
- 正则化
- 模型验证