机器学习基石-Hazard of Overfitting
来源:互联网 发布:机加工成本核算软件 编辑:程序博客网 时间:2024/06/09 13:43
大纲
What is Overfitting
Bad Generation and Overfitting
通过图像分析,我们可以知道
如果我们取比较大的
dVC ,这时候的模型复杂度很高,Ein 小,Eout 大,这时候Eout−Eint 很大,我们称之为Bad Generation当
dVC=d∗VC 向dVC=1126 变化时,Ein 不断减小,Eout 不断增大,这种情况我们称之为Overfitting- 当
dVC=d∗VC 向dVC=1 变化时,Ein 不断增大,Eout 不断增大,这种情况我们称之为Underfitting
Cause of Overfitting
如果我们把Overfitting类比为发生交通事故
那么我们可以这样比较形象的说明发生Overfitting的原因
- 使用较大的
dVC ,我们可以比喻为开车开太快 - 数据含有较多的噪声,我们可以比喻为道路信息错误
- 数据量太少,我们可以比喻为对交通路况的有限观察
下面我们分析数据量和噪声是怎么导致Overfitting的
The Role of Noise and Data Size
Case Study
我们考虑两种数据情况
第一种数据是由一个10阶多项式+随机噪声生成
第二种数据是由一个50阶多项式生成,没有噪声
现在我们有两个学习器,
通过分析
Learning Curves
下面我们通过学习曲线来分析一下有噪声的情况下的原因
- 在图一中,因为VC维比较小,所以即使在数据量比较小的手,即灰色区域,
Ein 和Eout 都比较接近 - 在图二中,因为VC维比较大,在数据量比较小的情况下,
Ein 和Eout ,相差过大,很容易发生过拟合。
The No Noise Case
在高阶无噪声时,依旧是从
Deterministic Noise
下面我们分析不同的
左图中,固定了生成样本的
Qf ,σ2 越大,数据量越小,越容易过拟合。σ2 越小,数据量越大,越不容易过拟合。我们称之为随机噪声的影响右图中,固定了
σ2 ,目标模型复杂度越高,数据量越小,越容易发生过拟合,反之,不易发生过拟合。我们注意到左下角这里也容易过拟合,这是因为,可能目标模型很简单,而你用了一个复杂模型去学习,就会发生过拟合。
Deterministic Noise
我们可以这样定义Deterministic Noise:如果
Deterministic Noise 和 stochastic之间的不同是,
Deterministic Noise 和
H 有关。Deterministic Noise 对于给定的数据是固定的。
Dealing with Overfitting
我们如何预防Overfitting,这里还是和如何避免交通事故做类比
- 从简单的模型开始
- 数据清理
- 数据增强
- 正则化
- 模型验证
- 机器学习基石-Hazard of Overfitting
- 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting
- 机器学习基石——第13-14讲.Hazard of Overfitting
- 台湾国立大学机器学习基石.听课笔记(第十三讲):harzard of overfitting
- 机器学习基石-3-Types of Learning
- 机器学习基石 2.3 Guarantee of PLA
- 机器学习基石-Types of Learning
- 机器学习基石-Feasibility of Learning
- 机器学习基石-The theory of generation
- 机器学习(八)- Overfitting
- 【笔记】机器学习基石(三)type of learning
- 机器学习基石笔记 Lecture 3 - Types of Learning
- 机器学习基石第三讲:types of learning
- 机器学习基石第四讲:feasibility of learning
- 机器学习基石第六讲:theory of generalization
- 林轩田机器学习基石——Guarantee of PLA
- 机器学习基石2-3 Guarantee of PLA
- 机器学习基石 5.2 Effective Number of Lines
- 机器学习-代价函数
- Android 之路7---Java基础3
- textarea文本域的高度随内容的变化而变化(适用于编辑文本)
- Food
- Android关于软件关闭和显隐判断。
- 机器学习基石-Hazard of Overfitting
- Java Exchanger
- php的curl怎么设置header中参数,cookie中的参数?
- mycat安装部署
- C#下获取当前总毫秒数的方法和代码
- sqlserver随笔
- 富文本编辑器图片上传回显,内容回显更新
- Win10下Anaconda 2与3 共存,dos 切换,jupyter notebook 切换,pycharm 切换
- 第十一周项目四C/C++利用遍历思想求解图问题