L1正则使得模型的解稀疏

点击查看摘录的原始文章

一般情况说明

为简单地说明,我们在一维情况下做一个分析,设f(w)f(w)是是没有添加L1正则时的原始的目标函数,CwC|w|是L1正则项,那么添加正则之后的新的目标函数为h(ω)=f(ω)+Cωh(\omega)=f(\omega)+C|\omega|。如果要让0点变成可能的最值点,因为CwC|w|在0处不可导,但是只要满足0点左右h(w)h(w)的导数异号,0点都会变成可能的极值点。即:
h(0)×h(0+)=(f(0)+C)(f(0)C)<0 h^{\prime}(0-) \times h^{\prime}(0+)=\left(f^{\prime}(0)+C\right)\left(f^{\prime}(0)-C\right)<0
也就是当满足C>f(0)C>\left|f^{\prime}(0)\right|时,0点都是可能的最值点。

注意:我认为不仅需要异号,必须左边导数小于0,右边大于0,这是代价函数在0处才是极小值。

具体实例

下图给出一个简单的代价函数为例:
l=x3+2x3x3+0.5 l=x^{3}+2x-3x^{3}+0.5
这里L1正则设置为 2.5x2.5\left| x \right|,L2正则设置为2.5x22.5x^{2},分别添加到原始代价函数中ll

在添加了L1正则项和L2正则项后解的变化情况见图中曲线

可以看到,因为有了L1正则,使得原始代价函数的解变成了现在的0,即解变得稀疏了。此时0是极小值点并且两边的导数是异号的。而L2正则使得原始的极值点更接近0了。

L1正则使得模型的解稀疏