Lecture 13 : Hazard of Overfitting

【参考】https://redstonewill.com/249/

【概括】
过拟合的概念,即当Ein很小,Eout很大的时候,会出现overfitting。

详细介绍了overfitting发生的四个常见原因:

  1. 样本数量N:数据集太小,没几个可以学。
  2. 噪声水平:数据的noise太大(stochastic noise,随机噪声)
  3. 目标函数阶数:使用的模型太复杂(这也是一种noise,叫做deterministic noise)
  4. 模型相对数据来说太复杂:excessive power

解决overfitting的方法
data cleaning/pruning和data hinting两种简单的方法,之后的课程将会详细介绍regularization和validataion两种更重要的方法。

  1. data cleaning/pruning就是对训练数据集里label明显错误的样本进行修正(data cleaning),或者对错误的样本看成是noise,进行剔除(data pruning)。
  2. data hinting是针对N不够大的情况,如果没有办法获得更多的训练集,那么data hinting就可以对已知的样本进行简单的处理、变换,从而获得更多的样本。

13.1 What is Overfitting

根据VC Bound理论,阶数越大,即VC Dimension越大,就会让模型复杂度更高,Eout更大
这种Ein 很小,Eout很大的情况称之为bad generation,即泛化能力差。

VC曲线:
Lecture 13 : Hazard of Overfitting
Lecture 13 : Hazard of Overfitting
bad generation和overfitting的关系可以理解为:
overfitting是VC Dimension过大的一个过程,bad generation是overfitting的结果。
Lecture 13 : Hazard of Overfitting

把发生车祸比作成overfitting,那么造成车祸的原因包括:

  1. 车速太快(VC Dimension太大);
  2. 道路崎岖(noise);
  3. 对路况的了解程度(训练样本数量N不够);
    也就是说,VC Dimension、noise、N这三个因素是影响过拟合现象的关键
    Lecture 13 : Hazard of Overfitting

13.2 The Role of Noise and Data Size

实验表明,低阶模型泛化能力更强。这种现象产生的原因,从哲学上来说,就是“以退为进”。有时候,简单的学习模型反而能表现的更好

从learning curve来分析一下具体的原因,learning curve描述的是Ein和Eout随着数据量N的变化趋势。

下图中左边是2阶学习模型的learning curve,右边是10阶学习模型的learning curve。
数据量N不大,即对应于上图中的灰色区域。
Lecture 13 : Hazard of Overfitting
在learning curve中,横轴是样本数量N,纵轴是Error:
Lecture 13 : Hazard of Overfitting
当模型很复杂的时候,例如50阶多项式的目标函数,无论是2阶模型还是10阶模型,都不能学习的很好,这种复杂度本身就会引入一种‘noise’。所以,这种高阶无noise的问题,也可以类似于10阶多项式的目标函数加上noise的情况,只是二者的noise有些许不同,下面一部分将会详细解释。

13.3 Deterministic Noise

有四个因素会导致发生overfitting:

  1. 样本数量:数据集太小,没几个可以学。
  2. 噪声水平:数据的noise太大(stochastic noise,随机噪声)
  3. 目标函数阶数:使用的模型太复杂(这也是一种noise,叫做deterministic noise)
  4. 模型相对数据来说太复杂:excessive power
    Lecture 13 : Hazard of Overfitting

13.4 Dealing with Overfitting

避免overfitting的方法主要包括:

  1. start from simple model
  2. data cleaning/pruning
  3. data hinting
  4. regularization
  5. validataion

这几种方法类比于之前举的开车的例子,对应如下:
Lecture 13 : Hazard of Overfitting

data cleaning/pruning就是对训练数据集里label明显错误的样本进行修正(data cleaning),或者对错误的样本看成是noise,进行剔除(data pruning)。
data cleaning/pruning关键在于如何准确寻找label错误的点或者是noise的点,而且如果这些点相比训练样本N很小的话,这种处理效果不太明显

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

相关文章:

  • 2021-04-16
  • 2021-06-04
  • 2021-07-06
  • 2021-05-17
  • 2021-09-14
  • 2021-07-11
  • 2021-10-09
  • 2021-05-28
猜你喜欢
  • 2021-09-04
  • 2022-12-23
  • 2021-06-17
  • 2021-08-13
  • 2021-08-08
  • 2021-11-09
  • 2021-04-27
相关资源
相似解决方案