机器学习--正则化(Regularization)
【基本概念】
正则化是指修改学习算法,使其降低泛化误差.
正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。
我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。
【实际意义】
在训练过程中:
- 在训练集中有时效果比较差,我们叫做欠拟合;
- 有时候效果过于完美,在测试集上效果很差,我们叫做过拟合。
因为欠拟合和过拟合都不能良好的反应一个模型应用新样本的能力,因此需要找到办法解决这个问题。
想要解决这个问题,有两个办法:
- 减少特征的数量,可以通过一些特征选择的方法进行筛选。
- 正则化,通过引入一个正则项,限制参数的大小。
比如下面的曲线,针对高次项的参数,在后面多加一项乘以1000。这样在优化损失函数的时候,会强制θ3和θ4不会很大,并且趋近于0,只有这样才会保证损失函数的值足够小。
得到的公式如下,注意只会针对x1开始,θ0相当于只是针对偏置项设置的,因此不需要加正则项。
但是如果λ设置的过大,相当于所有的θ都变成了0,损失函数的曲线相当于一条直线,就没有任何意义了,因此选择适合的λ很重要,后面也会讲解如何选择正确的λ。
添加正则项之后,梯度下降的公式就发生了变化: