机器学习基石 Lecture13: Hazard of Overfitting

What is Overfitting?

有时候会发现某些情况下模型对训练数据的拟合很好,但是对于训练数据之外的数据拟合很差。这种情况表明模型有比较差的泛化性能。比如下图中只有5个样本点,如果使用一个4阶的曲线来拟合,就会与原本2阶的目标函数差距太远,也就导致 E o u t E_{out} Eout很大。
在这里插入图片描述
如果 E o u t − E i n E_{out}-E_{in} EoutEin太大,就叫做bad generalization。从一个合理的VC维模型转换到VC维太小的模型而无法表示出目标函数的变化叫做underfitting。反过来叫做overfitting。
在这里插入图片描述
如果把overfitting比如成开车出车祸,那么它有几个影响因素,分别是太大的VC维,较多的噪音和较少的数据量。
在这里插入图片描述

The Role of Noise and Data Size

下面来研究数据量和噪音对过拟合的影响。有下面两个例子,分别是一个10阶函数带噪音的数据以及一个50阶带噪音的数据。那么从2阶的假设空间转到50阶的假设空间时是否会发生过拟合呢?
在这里插入图片描述
从下图可以看出,这两种情况都发生了过拟合。
在这里插入图片描述
这可能有些费解,因为两个产生数据的目标函数都是比较高阶的函数,为何使用2阶假设反而更好呢?
在这里插入图片描述
我们知道这里有一部分是因为噪音的存在导致的。但是对于没有噪音的数据,同样是2阶的模型表现得更好一些,这又是为什么呢?
在这里插入图片描述

Deterministic Noise

可以看一个比较详细的实验。产生数据的函数可以看成是一个均值是目标函数结果而方差是噪音方差的高斯分布。目标函数的复杂度用 Q f Q_{f} Qf表示,下面看看数据集大小,噪音大小与模型复杂度究竟如何影响过拟合。
在这里插入图片描述
这个实验里评价过拟合的方式是将10阶的假设空间的结果对应的 E o u t E_{out} Eout减去2阶的 E o u t E_{out} Eout
在这里插入图片描述
分别使用了不同的x和y坐标画出了对应部分的过拟合程度的图:
在这里插入图片描述
从图中可以总结出,导致过拟合的几大原因:1.数据集数量较小 2.随机噪声 3.目标函数复杂度带来的确定性噪声 4.假设函数的vc维太大(表现在右图左下角)。
在这里插入图片描述
而确定性噪声,是由于目标函数本身的复杂度带来的。对于太复杂的目标函数而言,与假设函数的结果之间必然存在一些难以拟合的部分,这部分的影响与随机噪声类似。虽然是确定性的,但是类似随机数发生器,起的效果依然是随机的。
在这里插入图片描述
这里告诉我们一个训练模型的守则,训练一个啥都不会的模型,不应该使用复杂函数产生的数据。

Dealing with Overfitting

根据实际情况,有大致五种方式来减少过拟合。其中正则化与交叉验证在以后的课里。每种方式也使用了开车时候的一个比喻:
在这里插入图片描述
其中data cleaning大致是手动去修正数据集中的一些错误的数据。data pruning是直接将不合理的数据移除。可以使用一些outlier的检测方式。
data hinting是指在当前已有的数据基础上,进行一些调整加入人类的知识或者其它有利的指示。比如手写数字识别的问题里,将图片旋转一定的小角度来增加一些数据的量等等。
在这里插入图片描述
不过要注意data hinting的方式有可能会导致新加的数据与原来的数据以及之外的数据不是独立同分布的,也就可能不一定会带来更好的效果。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值