过拟合的问题

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的关系?

以上是关于过拟合的问题的主要内容,如果未能解决你的问题,请参考以下文章

5. 过拟合及其避免

通过正则化解决过拟合问题

过拟合问题

过拟合和欠拟合问题

深度学习—过拟合问题

过拟合及其解决方式