过拟合产生的原因(Root of Overfitting)
之前在《过拟合和欠拟合(Over fitting & Under fitting)》一文中简要地介绍了过拟合现象,现在来详细地分析一下过拟合产生的原因以及相应的解决办法。
过拟合产生的原因:
第一个原因就是用于训练的数据量太少。这个很好理解,因为理想的训练数据是从所有数据中抽取的无偏差抽样。如果训练数据量较少,那么很有可能训练数据就不能完全反映所有数据的规律。因此模型很可能学习到的是一些特殊的例子,而不是真实的规律。
之前说过,过拟合就是模型把噪音也学习了进去。其中一个噪音就是大家所熟知的随机产生的噪音
(stochastic noise),比如说测量误差,记录误差等等,这也是第二个原因。
第三个原因是目标函数的复杂度很高,目标函数和假设函数之间的差距也可以看作是一种噪音,称为确定性噪音(deterministic noise)。在训练数据有限的情况下,如果目标函数很复杂,那么就算假设函数与之很接近,也会产生较大的噪音。
下图展现了在训练数据有限的情况下,目标函数和假设函数之间的差距。
- 左图:目标函数是一个十次多项式函数,根据目标函数产生了15个数据点,数据产生时加入了一些随机噪音,分别使用二次多项式(绿线)和十次多项式(红线)拟合
- 右图:目标函数是一个五十次多项式函数,根据目标函数产生了15个数据点,数据产生时不加入噪音,分别使用二次多项式(绿线)和十次多项式(红线)拟合

经过试验,这两个场景都是十次多项式的训练误差小,但是其验证误差要比二次多项式的大很多。这说明十次多项式发生了过拟合现象。
下图是用二次多项式和十次多项式拟合的学习曲线:

可以看出,十次多项式函数的训练误差一直要比二次多项式函数的低,但是当训练数据有限时,十次多项式函数的验证误差要比二次多项式函数的高不少。
一般我们会认为假设函数离目标函数越接近越好,但是显然,在训练数据有限的情况下,这种想法是不正确的。因此,当训练数据有限时,应该用简单的模型来拟合,这样还有可能会取得不错的效果。之前是不是常听到别人说线性回归模型虽然很简单,但是往往会取得不错的预测效果?这也正说明了这个道理。
下图是当目标函数复杂度固定时,样本量与噪音强度对过拟合程度的影响(深红色表示过拟合程度很高):

可以看出,样本量越少,噪音强度越高,过拟合程度也就越高。
下图是当噪音强度固定时,样本量与目标函数复杂度对过拟合程度的影响(深红色表示过拟合程度很高):

可以看出,样本量越少,目标函数复杂度越高,过拟合程度也就越高。
这两张图的区别在于左下角,可以看到,第二张图,当样本量很少,目标函数复杂度很低时,也会产生过拟合现象。这是因为使用了过于复杂的模型来拟合数据,这也带出了第四个原因---模型复杂度比目标函数高。
总结一下过拟合产生的原因:
- 训练数据太少
- 数据噪音强度大:随机噪音(stochastic noise),确定性噪音(deterministic noise)
- 模型复杂度太高
解决办法:
- 增加训练数据量 --- 一般情况下,由于经济条件的限制,我们没有办法获得更多的训练数据。如果没有办法获得更多的训练数据,那么可以对已有的样本进行简单的变换,从而获得更多的样本。比如识别手写数字时,可以把数字稍作倾斜,又或者识别图像时,可以对图像做翻转,这样特征发生改变,但是目标保持不变,这样就可以当成产生一些新的样本,称为虚拟样本。但是需要注意,这种方法产生的数据不一定符合原有数据的分布,因此新构建的虚拟样本要尽量合理。
- 减少随机噪音 --- 可以清洗数据(比如:修正不准确的点,删除不准确的点,等),但是如果这些点相比训练数据很少的话,这种处理产生的效果不太明显。
- 减少确定性噪音,降低模型复杂度 --- 使用简单的模型拟合数据;对现有模型进行正则化。
过拟合产生的原因(Root of Overfitting)的更多相关文章
- 机器学习(四)正则化与过拟合问题 Regularization / The Problem of Overfitting
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...
- Ng第七课:正则化与过拟合问题 Regularization/The Problem of Overfitting
7.1 过拟合的问题 7.2 代价函数 7.3 正则化线性回归 7.4 正则化的逻辑回归模型 7.1 过拟合的问题 如果我们有非常多的特征,我们通过学习得到的假设预测可能能够非常好地适应训练 ...
- 过度拟合(overfitting)
我们之前解决过一个理论问题:机器学习能不能起作用?现在来解决另一个理论问题:过度拟合. 正如之前我们看到的,很多时候我们必须进行nonlinear transform.但是我们又无法确定Q的值.Q过小 ...
- AI - TensorFlow - 过拟合(Overfitting)
过拟合 过拟合(overfitting,过度学习,过度拟合): 过度准确地拟合了历史数据(精确的区分了所有的训练数据),而对新数据适应性较差,预测时会有很大误差. 过拟合是机器学习中常见的问题,解决方 ...
- TensorFlow实战第六课(过拟合)
本节讲的是机器学习中出现的过拟合(overfitting)现象,以及解决过拟合的一些方法. 机器学习模型的自负又表现在哪些方面呢. 这里是一些数据. 如果要你画一条线来描述这些数据, 大多数人都会这么 ...
- 防止过拟合的方法 预测鸾凤花(sklearn)
1. 防止过拟合的方法有哪些? 过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合. 产生过 ...
- TensorFlow从1到2(八)过拟合和欠拟合的优化
<从锅炉工到AI专家(6)>一文中,我们把神经网络模型降维,简单的在二维空间中介绍了过拟合和欠拟合的现象和解决方法.但是因为条件所限,在该文中我们只介绍了理论,并没有实际观察现象和应对. ...
- matlab函数拟合
1 函数拟合 函数拟合在工程(如采样校正)和数据分析(如隶属函数确定)中都是非常有用的工具.我这里将函数拟合分为三类:分别是多项式拟合,已知函数类型的拟合和未知函数类型的拟合.matlab中关于函数的 ...
- mysql部署后无法远程连接的原因(错误代码10061),服务监听127.0.0.1和0.0.0.0的区别
在Ubuntu上部署mysql服务并添加了一个非root用户后,发现无法远程连接, Navicat连接mysql出现2003——can't connect to mysql server on loc ...
随机推荐
- 【Maven基础入门】02 了解POM文件构建
温故 上一节我们说过:Maven 是一个基于POM文件的构建工具,当然离不开POM文件 POM文件是一个XML标记语言表示的文件,文件就是:pom.xml 一个POM文件包含了项目的基本信息,用于描述 ...
- C# 练习题 将一个正整数分解质因数
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程 ...
- C#使用CSS选择器抓取页面内容
最近在查wpf绘图资料时,偶然看到Python使用CSS选择器抓取网页的功能.觉得很强,这里用C#也实现一下. 先介绍一下CSS选择器 在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. ...
- C# 运行流程
转载 https://www.cnblogs.com/qcloud1001/p/9816956.html 从编译原理说起 一句话介绍编译器:编译器是将用某种程式语言写成的源代码(源语言),转换成另一 ...
- java之spring之依赖注入
一.DI: Dependency injection; 依赖注入 依赖注入和控制反转是同一个概念的不同说法. 对象的创建依赖于容器.对象属性的设置是由容器来设置. 对象属性的赋值过程称为注入. 二.S ...
- Java调用Http/Https接口(6)--RestTemplate调用Http/Https接口
RestTemplate是Spring提供的用于访问Http接口的客户端,提供同步的API:在将来的Spring版本中可能会过时,将逐渐被WebClient替代.文中所使用到的软件版本:Java 1. ...
- Python进阶(十四)----空间角度研究类,类与类之间的关系
Python进阶(十四)----空间角度研究类,类与类之间的关系 一丶从空间角度研究类 对象操作对象属性 class A(): address = '沙河' def __init__(self, na ...
- 一文读懂内网、公网和NAT
我们做弱电监控系统的时候,都避免不了要跟IP地址打交道,比如摄像头.NVR.服务器等这些设备安装好之后,就需要给它们配上IP,那这个IP地址你了解嘛?今天我们就一起来聊聊什么是内网.公网和NAT地址转 ...
- Mysql中use filesort的误区
误区一字面误区 use filesort排序,字面上理解是外部排序. 误区二人云亦云 百度上多被大家否定不是外部排序,认为和file这个关键字没关系.用的是快速排序.但是总觉得不可能这么无缘无故叫fi ...
- 嵌入式应用开发第四阶段-基于rk3399的视频监控系统
一.需求分析 伴随着嵌入式技术.图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身的不足,已经无法满足现代社会应用中不断涌现出来的新需求,于是基于嵌入式技术 ...