当发生过拟合时,我们有两种方法:
(1)尽量减少选取变量的数量
(2)正则化(保留所有的特征变量,减少特征变量的数量级)
本篇博文分析正则化方法降低过拟合的原理和方法。
让我们在原本的代价函数中添加两项:
现在,如果我们要最小化这个函数,我们会尽量让θ3~0,θ4~0,这就相当于将下面右图中产生较大过拟合影响的后两项变量删掉。这样我们最终也得到一条恰当的拟合曲线。
从上面的分析可以看出,如果我们的参数值较小的话,我们就会得到一个更为简单的假设。
上例中,我们将θ3~0,θ4~0,就是惩罚这两个参数,让他们变小,但是实际中,我们并不知道需要将哪些参数缩小,所以正则化的思路就是给所有的参数都加上惩罚,形成新的代价函数:
现在我们就会使θ1,θ2,θ3,……θn都减少,按照惯例我们从θ1开始,不去惩罚θ0,实际产生的结果是:包不包括θ0这一项,结果的差异非常小。
上式中,我们新加入的项叫做正则项,λ叫做正则化参数。
对于新的代价函数,我们有两个目标:
(1)我们希望更好的拟合训练集
(2)我们希望让参数较小
其中,λ的作用就是保持这两个目标之间的平衡。
如果λ过大,将对很大的惩罚参数值,会使所有的参数值都接近于0,最终得到一条近似的水平线。
如果λ过小,则不能很好的阻止过拟合。
有很多方法是可以自动选择λ值的,这就是高度正则化的思路。