机器学习基石HOW BETTER部分(1)
机器学习基石HOW BETTER部分(1)
标签:机器学习基石
第十三章
overfitting happens with excessive power, stochastic/deterministic noise, and limited data
underfitting:EIN和Eout都很大。
overfitting:EIN很小,但是Eout很大。
上图中,竖直的虚线左侧是underfitting,右侧是overfitting。
发生overfitting 的主要原因是:
1. 使用过于复杂的模型(dvc很大);
2. 数据噪音;
3. 有限的训练数据。
把机器学习和开车进行比较吧,这样更加形象。
机器学习 | 开车 |
---|---|
过拟合 | 出车祸 |
使用过于复杂的模型 | 开得太快 |
数据噪音 | 道路情况不好 |
有限的训练数据 | 对道路的了解不足 |
噪音和数据规模造成过拟合
我们可以理解地简单些:有噪音时,更复杂的模型会尽量去覆盖噪音点,即对数据过拟合!
这样,即使训练误差Ein很小(接近于零),由于没有描绘真实的数据趋势,Eout反而会更大。
即噪音严重误导了我们的假设。
还有一种情况,如果数据是由我们不知道的某个非常非常复杂的模型产生的,实际上有限的数据很难去“代表”这个复杂模型曲线。我们采用不恰当的假设去尽量拟合这些数据,效果一样会很差,因为部分数据对于我们不恰当的复杂假设就像是“噪音”,误导我们进行过拟合。所以还不如用简单的模型去解决。
如下面的例子,假设数据是由50次幂的曲线产生的(下图右边),与其通过10次幂的假设曲线去拟合它们,还不如采用简单的2次幂曲线来描绘它的趋势。
从图中可以看出,数据量少时,尽管2次假设的比10次函数的大很多,但是2次假设中和的差距比10次假设小的多,因此在样本点不多时,低次假设的学习泛化能力更强,即在灰色区域(样本不多的情况下)中,高次假设函数发生了过拟合。
上述阐述了在含有噪音的情况下,低次多项式假设比和目标函数同次的多项式假设表现更好,那如何解释在50次多项式函数中也是二次式表现好的现象呢?因为50次目标函数对于不论是2次假设还是10次假设都相当于一种含有噪音的情况(两者都无法做到50次的目标函数,因此相当于含有噪音,复杂的50次目标函数产生的数据对于2次假设和10次假设而言是含有噪音的)。
随机噪音与确定性噪音 (stochastic noise and deterministic noise)
噪音一般指随机噪音(stochastic noise),服从高斯分布,,称作高斯噪音,其强度为σ2;还有另一种“噪音”,就是前面提到的由未知的复杂函数f(X)产生的数据,对于我们的假设也是噪音,这种是确定性噪音(Deterministic Noise)。
上图是关于2次曲线和10次曲线对数据的拟合情况,我们将overfit measure 表示为Eout(g10)−Eout(g2)。
数据样本由两个部分组成,一是目标函数产生,和在此之上夹杂的噪音。函数使用复杂度Qf表示,即Qf次多项式函数。
分别固定复杂度Qf和噪音强度/sigma2得到下面的两幅图。
左图是随机噪音对于overfitting的影响,右图是确定性噪音。
* 左图表示在固定复杂度Qf=20时,噪音强度/sigma2与样本数据量N对拟合度的影响,图中的颜色表示过拟合程度,深红色的部分表示过拟合,蓝色表示表现好,从图中得知在噪音强度越大与样本数据量N越小时,过拟合越严重。
* 右图表示在固定噪音强度/sigma2时,复杂度Qf=20与样本数据量N对拟合度的影响,从图中得知在复杂度Qf=20越大且样本数据量N越小时,过拟合越严重。
* 两图共同表示数据规模一定时,随机噪音越大,或者确定性噪音越大(即目标函数越复杂),越容易发生overfitting。
总之,导致overfitting 的因素是:
1. 数据过少;
2. 随机噪音过多;
3. 确定性噪音过多;
4. 假设过于复杂(excessive power)。
确定性噪音的图表示:
其中蓝色曲线表示目标函数,红色曲线表示2次式函数模型学习到的曲线,其中蓝色曲线的弯曲的形状使用2次函数是不可能模仿的,因此就相当于一种噪音(灰色部分)。为什么使用低次函数学习效果却好呢?;这类似于教小孩学习学习简单的问题反而有助于成长。
解决过拟合问题
对应导致过拟合发生的几种条件,我们可以想办法来避免过拟合。
过拟合发生的原因 | 避免过拟合的方法 |
---|---|
使用过于复杂的模型 | 从简单的模型开始 |
数据噪音 | 数据清洗/裁剪(data cleaning/pruning) |
有限的训练数据 | 收集更多数据(data hinting) |
正规化(regularization)和确认(validation)在下一讲介绍。
数据清洗/裁剪(data ckeaning/Pruning)
以手写数字数据为例,介绍数据清理和数据裁剪,图为手写数字为1的使用O表示;手写数字为5的使用X表示。其中在数字1中存在一个数字5的样本点,即图中左上角中的,查看该样本的原图很难看出是数字5,类似这种离不同类别很近,离相同类别很远的样本,可以认为是噪音或者是离群点(outlier)。应对该种情况,有两种措施可用:纠正标识号,即数据清理(data cleaning)的方式处理该情况;删除错误样本,即数据裁剪(data pruning)的方式处理。处理措施很简单,但是发现样本是噪音或离群点却比较困难。
Data Hinting:
“伪造”更多数据, add “virtual examples”
手写数字集略作修改产生更多的手写数字样本,达到增加数据量N的目的。如将手写数字略作旋转(rotating)和平移(shifting),但要注意旋转和平移的幅度都不能太大,如6转180°就成了9。还需注意这种方式产生的虚拟样本(virtual examples),不在符合独立同分布,因此产生的虚拟样本与实际样本差距一定不宜太大。
转载于:https://www.cnblogs.com/huang22/p/5401160.html
机器学习基石HOW BETTER部分(1)相关推荐
- 太赞了!NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 用 NumPy 手写所有主流 ML 模型,普林斯顿博士后 David Bourgi ...
- NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 用 NumPy 手写所有主流 ML 模型,普林斯顿博士后 David Bourgi ...
- 台湾大学林轩田机器学习基石课程学习笔记1 -- The Learning Problem
红色石头的个人网站:redstonewill.com 最近在看NTU林轩田的<机器学习基石>课程,个人感觉讲的非常好.整个基石课程分成四个部分: When Can Machine Lear ...
- 台湾大学林轩田机器学习基石课程学习笔记15 -- Validation
红色石头的个人网站:redstonewill.com 上节课我们主要讲了为了避免overfitting,可以使用regularization方法来解决.在之前的EinEinE_{in}上加上一个reg ...
- 台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization
红色石头的个人网站:redstonewill.com 上节课我们介绍了过拟合发生的原因:excessive power, stochastic/deterministic noise 和limited ...
- 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...
- 台湾大学林轩田机器学习基石课程学习笔记12 -- Nonlinear Transformation
红色石头的个人网站:redstonewill.com 上一节课,我们介绍了分类问题的三种线性模型,可以用来解决binary classification和multiclass classificati ...
- 台湾大学林轩田机器学习基石课程学习笔记11 -- Linear Models for Classification
红色石头的个人网站:redstonewill.com 上一节课,我们介绍了Logistic Regression问题,建立cross-entropy error,并提出使用梯度下降算法gradient ...
- 台湾大学林轩田机器学习基石课程学习笔记10 -- Logistic Regression
红色石头的个人网站:redstonewill.com 上一节课,我们介绍了Linear Regression线性回归,以及用平方错误来寻找最佳的权重向量w,获得最好的线性预测.本节课将介绍Logist ...
- 台湾大学林轩田机器学习基石课程学习笔记8 -- Noise and Error
红色石头的个人网站:redstonewill.com 上一节课,我们主要介绍了VC Dimension的概念.如果Hypotheses set的VC Dimension是有限的,且有足够多N的资料,同 ...
最新文章
- Maven国内源设置 - OSChina国内源失效了,别更新了
- 关于C语言中字符串操作的几个函数的总结
- 贝叶斯推断及其互联网应用(一)
- python培训班学费-南京Python培训班学费贵吗怎么收费
- python函数应用_Python 函数及其应用
- Day12 CSS简单用法
- java jdk 类加载机制_JDK源码阅读之类加载
- oracle百分之0.01就成了.01,遭遇ORA-01200错误的原因及解决方法
- 自定义ViewGroup (3) 与子View之间 Touch Event的拦截与处理
- 【编程语言】正则表达式快速上手
- android之普通蓝牙通信
- C++ windows网络编程系列1—各种通信模型对比
- Java毕设_小区停车管理系统
- Unity adb环境变量配置
- 结合读取opml ,把数据链接到treeview
- java中的implement怎么用?
- 【案例4-8】模拟物流快递系统
- 1106: [POI2007]立方体大作战tet
- Vue项目中常见问题(23)动态展示Floor组件
- 叶史瓦大学计算机专业,叶史瓦的大学排名