过拟合的问题
Posted _1024
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过拟合的问题相关的知识,希望对你有一定的参考价值。
交叉验证的方法在训练过程中是否有用?
1、过拟合的表现?
1)训练集误差小,评估集误差大;2)训练集误差还在减小,评估集误差开始波动
2、过拟合的原因?
模型复杂,dvc高——对于决策树,就是没有剪枝,模型可以完美拟合数据;神经网络,收敛于复杂决策面;
噪音,模型overtrain,模型拟合了噪音和没有区分性的特征;
建模样本抽取错误,包括有限的训练数据、抽样方法错误,没有考虑业务场景等;
3、如何解决?
对应导致过拟合发生的几种条件,我们可以想办法来避免过拟合。
(1) 假设过于复杂(excessive dvc) => start from simple model
(2) 随机噪音 => 数据清洗
(3) 数据规模太小 => 收集更多数据,或根据某种规律“伪造”更多数据
正规化(regularization) 也是限制模型复杂度的
4.1 数据清洗(data ckeaning/Pruning)
将错误的label 纠正或者删除错误的数据。
4.2 Data Hinting: “伪造”更多数据, add "virtual examples"
例如,在数字识别的学习中,将已有的数字通过平移、旋转等,变换出更多的数据。
参考:
http://blog.csdn.net/a819825294/article/details/51239686
http://blog.csdn.net/findsd1989/article/details/45894483
http://news.ifeng.com/a/20170522/51139366_0.shtml
判断variance是否比较高,要看test error是否比traing error明显高很多。
提升问题:
1、随机森林是否过拟合?gbdt是否过拟合?SVM是否过拟合?
random forest 虽然我没有在实际中运用过,并且Breiman确实说过它不会overfitting。但是他的意思是随着tree数目的增多,testing error不会急剧的增大,会稳定在一个数值。但是我们通常讨论的overfitting是说testing error比training error大很多,这个Random forest显然是无法避免的,尽管RF会限制error的limit。<br>简单说random forest会随着tree的增多而减少variance,但是它不会去修改bias啊
Add:没有任何的learning algorithm可以彻底避免overfitting的。这是由机器学习的本质决定的,不是在技术层面可以修复的。 机器学习的核心在于generalization,但是数据又不可避免的包含noise,所以generalization走到最后就会开始考虑是不是要把noise也generalize一下。对于一个算法,它是没有办法区分noise和‘good’ data的。因为这些通常是人也无法知道的,我们说一个toy dataset中某些data是noise,这是我们的prior,机器是没有办法知道的。
https://www.zhihu.com/question/23578594
2、bagging 、boosting和varince/bias的关系?
以上是关于过拟合的问题的主要内容,如果未能解决你的问题,请参考以下文章