最近在学习深度学习相关内容,关于机器学习中过拟合的几种方法进行总结。
首先什么是过拟合,简而言之就是训练成功的模型对于训练集具有非常好的一个预测能力,但是对于测试集的数据其预测能力往往差强人意。
可以用以下几幅图比较形象地解释:
上图中的小圆点的待拟合的数据点,我们用M次多项式进行拟合的过程中,M值越大,用于拟合的参数越多
显然M=0时候,相当于y=c0,参数只有一个c0,是一条平行于x轴的直线;
M=1的时候, y=c1*x+c0,两个参数c1,c0,是一条直线;
M=1的时候, y=c2*x*x+c1*x+c0,有三个参数c2,c1,c0,拟合效果比较好;
同理,当M=9时候,有9个参数,此时生成的曲线经过了每一个样本点,但是,训练误差是0,就从训练数据拟合的角度来说,效果是最好的,但是这种训练结果对于测试数据的拟合效果将非常差,这时候就出现了过拟合,所以在模型或者参数选择的时候,不仅要考虑训练数据,还要考虑测试数据。
发生过