斯坦福机器学习公开课7-x过拟合欠拟合和解决方法
2017-01-05 19:53
302 查看
建立多项拟合方程的时候可能由于特征太多造成过拟合。也就是构造了太复杂的多项式完全只是为了你和样本数据。使得模型不具有通用性。这个是过拟合。太多复杂的项可以使得模拟的方程几乎完全拟合样本。
如果特征太少就可能造成欠拟合,拟合效果不好。
例如
![](https://img-blog.csdn.net/20170105193434025?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JvdW5kaGFwcHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170105193721824?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JvdW5kaGFwcHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里第一是欠拟合。第三是过拟合。第二都是恰恰好
首先来看过拟合如何解决
1 手动减少特征的数量
2 使用正则化方法(正规化方法)
正规化方法的思路如下
修改代价函数。例如下图
![](https://img-blog.csdn.net/20170105194105826?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JvdW5kaGFwcHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
为了使得theta3 theta4的值变小。我们在代价函数里面加一个惩罚theta3 theta4的项。慢慢让theta3 theta4变小。变得适合类似二次函数。但是这里我们是已知类似的是二次函数。所以要修改theta3 theta4的惩罚值。所以正则化的一般思路就是。让theta的值很小,这样的曲线一般比较光滑。
![](https://img-blog.csdn.net/20170105194324067?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JvdW5kaGFwcHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
所以我们在代价函数里面增加一个对于theta的求和并且乘以一个lamata。这个lamata叫做正则化参数。注意正则化一般从theta1开始。
这个lamata就是需要调整的参数,可以调整拟合效果。
lamata的主要作用。第一是保证前面的 sigma (h - y)有效拟合样本数据 第二是保证所有的theta都比较小。
如果lamata非常小。那么sigma theta的和几乎可以被忽略。所以模型拟合样本非常好。容易出现过拟合。
如果lamata非常大。为了使得j(theta)代价函数最小。那么只能使所有的theta都约等于0. 只留下一个参数theta0 这样就会欠拟合
![](https://img-blog.csdn.net/20170105195256955?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3JvdW5kaGFwcHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
所以调整lamata很重要
如果特征太少就可能造成欠拟合,拟合效果不好。
例如
这里第一是欠拟合。第三是过拟合。第二都是恰恰好
首先来看过拟合如何解决
1 手动减少特征的数量
2 使用正则化方法(正规化方法)
正规化方法的思路如下
修改代价函数。例如下图
为了使得theta3 theta4的值变小。我们在代价函数里面加一个惩罚theta3 theta4的项。慢慢让theta3 theta4变小。变得适合类似二次函数。但是这里我们是已知类似的是二次函数。所以要修改theta3 theta4的惩罚值。所以正则化的一般思路就是。让theta的值很小,这样的曲线一般比较光滑。
所以我们在代价函数里面增加一个对于theta的求和并且乘以一个lamata。这个lamata叫做正则化参数。注意正则化一般从theta1开始。
这个lamata就是需要调整的参数,可以调整拟合效果。
lamata的主要作用。第一是保证前面的 sigma (h - y)有效拟合样本数据 第二是保证所有的theta都比较小。
如果lamata非常小。那么sigma theta的和几乎可以被忽略。所以模型拟合样本非常好。容易出现过拟合。
如果lamata非常大。为了使得j(theta)代价函数最小。那么只能使所有的theta都约等于0. 只留下一个参数theta0 这样就会欠拟合
所以调整lamata很重要
相关文章推荐
- 机器学习中防止过拟合的处理方法
- 斯坦福机器学习公开课学习笔记(2)—监督学习 梯度下降
- 斯坦福机器学习公开课笔记(十四)--大规模机器学习
- 斯坦福机器学习-第三周(分类,逻辑回归,过度拟合及解决方法)
- 深度学习中欠拟合和过拟合介绍及解决方法
- 斯坦福机器学习公开课学习笔记(3)—拟合问题以及局部权重回归、逻辑回归
- 斯坦福机器学习公开课7-x线性回归逻辑回归的正则化min
- 斯坦福机器学习公开课笔记(十五)--[应用]照片OCR技术
- 斯坦福机器学习公开课4-3 4-4 特征缩放和验证梯度下降算法
- [置顶] 机器学习、深度学习中过拟合的理解及解决方法
- 斯坦福机器学习公开课笔记--神经网络的学习
- 机器学习中用来防止过拟合的方法有哪些?
- 机器学习、深度学习中欠拟合的解决方法总结
- 斯坦福机器学习公开课笔记(二)--多变量线性回归
- 局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3
- 斯坦福机器学习公开课笔记(八)--机器学习系统设计
- 斯坦福机器学习公开课笔记
- 斯坦福机器学习公开课笔记(十三)--推荐系统
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
- 斯坦福机器学习公开课笔记(一)--单变量线性回归