在用机器学习搭建模型时,经常会碰到这样一种情况,你的模型算法在样本数据中匹配的非常完美。但用新数据测试,发现模型结果和实际差距非常大。那么恭喜你!你掉进了机器学习中常见的一个大坑——过拟合。
什么是过拟合呢?机器学习本质上是通过建立数据模型,使其和现有数据相吻合,从而找到数据中内在的规律。如下面三张图,x表示训练样本数据,蓝色线条表示建立的数据模型。
第一张图:虽然模型部分体现了数据变化的趋势,但是样本数据基本都不在模型曲线上,这叫做欠拟合
第二张图:大多数的样本数据都在模型曲线上,平且很好的体现了数据变化规律,这叫做拟合
第三张图:虽然所有点都在模型曲线上,但却没有体现出数据变化规律,这就是过拟合
过拟合产生的原因是由于采集的样本本身带有的‘抽样误差“,而机器学习的算法可以产生足够复杂的模型,将这些误差值也精确拟合到模型中,导致生成的模型反倒丢失了的本质规律。说白了就是想太多了。
过拟合是在机器学习中经常会遇到的问题,不过不用怕。一般可以通过增加样本数量,或者减少模型复杂度的方式来规避这个坑。
文章来自(http://blog.csdn.net/u013043346/article/details/71723946?locationNum=7&fps=1)