机器学习基石-Hazard of Overfitting

大纲

机器学习基石-Hazard of Overfitting

What is Overfitting

Bad Generation and Overfitting

机器学习基石-Hazard of Overfitting
通过图像分析,我们可以知道

  • 如果我们取比较大的dVC,这时候的模型复杂度很高,Ein小,Eout大,这时候EoutEint很大,我们称之为Bad Generation

  • dVC=dVCdVC=1126变化时,Ein不断减小,Eout不断增大,这种情况我们称之为Overfitting

  • dVC=dVCdVC=1变化时,Ein不断增大,Eout不断增大,这种情况我们称之为Underfitting

Cause of Overfitting

如果我们把Overfitting类比为发生交通事故

机器学习基石-Hazard of Overfitting
那么我们可以这样比较形象的说明发生Overfitting的原因

  • 使用较大的dVC,我们可以比喻为开车开太快
  • 数据含有较多的噪声,我们可以比喻为道路信息错误
  • 数据量太少,我们可以比喻为对交通路况的有限观察

下面我们分析数据量和噪声是怎么导致Overfitting的

The Role of Noise and Data Size

Case Study

机器学习基石-Hazard of Overfitting

我们考虑两种数据情况

  • 第一种数据是由一个10阶多项式+随机噪声生成

  • 第二种数据是由一个50阶多项式生成,没有噪声

现在我们有两个学习器,g1H2g2H10

机器学习基石-Hazard of Overfitting

通过分析EinEout,我们发现在两批数据上,从g2g10的过程,都发生了过拟合

Learning Curves

下面我们通过学习曲线来分析一下有噪声的情况下的原因

机器学习基石-Hazard of Overfitting

Ein=noiselevel(1d+1N)

Eout=noiselevel(1+d+1N)

  • 在图一中,因为VC维比较小,所以即使在数据量比较小的手,即灰色区域,EinEout都比较接近
  • 在图二中,因为VC维比较大,在数据量比较小的情况下,EinEout,相差过大,很容易发生过拟合。

The No Noise Case

在高阶无噪声时,依旧是从g2g10的过程,发生了过拟合。仔细思考一下,真的没有噪声嘛?这种复杂度本身就会引入一种‘noise’。所以,这种高阶无noise的问题,也可以类似于10阶多项式的目标函数加上noise的情况,只是二者的noise有些许不同,

Deterministic Noise

下面我们分析不同的(N,σ2)(N,Qf)对overfit的影响。overfit可以量化为EoutEin。结果如下:

机器学习基石-Hazard of Overfitting

  • 左图中,固定了生成样本的Qf,σ2越大,数据量越小,越容易过拟合。σ2越小,数据量越大,越不容易过拟合。我们称之为随机噪声的影响

  • 右图中,固定了σ2,目标模型复杂度越高,数据量越小,越容易发生过拟合,反之,不易发生过拟合。我们注意到左下角这里也容易过拟合,这是因为,可能目标模型很简单,而你用了一个复杂模型去学习,就会发生过拟合。

Deterministic Noise

机器学习基石-Hazard of Overfitting

我们可以这样定义Deterministic Noise:如果f不属于H,那么最好的hHf之间的差距就是Deterministic Noise,也就是图中的阴影部分。

Deterministic Noise 和 stochastic之间的不同是,

  • Deterministic Noise 和 H有关。

  • Deterministic Noise 对于给定的数据是固定的。

Dealing with Overfitting

我们如何预防Overfitting,这里还是和如何避免交通事故做类比

机器学习基石-Hazard of Overfitting

  • 从简单的模型开始
  • 数据清理
  • 数据增强
  • 正则化
  • 模型验证