【算法岗必看系列】机器学习高频知识点-L1和L2正则化的区别

698 阅读3分钟

一、前言

=======

使用机器学习算法解决实际问题时,我们往往会先收集一批数据集,根据贝叶斯学派的说法,仅仅使用这些数据是不够的,还需要加入先验知识。我们通常要用L1或L2范数对损失函数做正则化,从而限制权值大小,减少过拟合风险。在损失函数中使用了L1正则项,那么其实质就是加入了拉普拉斯先验分布,即认为数据是符合拉普拉斯分布的;如果使用L2正则项,那么就是加入了高斯先验分布,即认为数据是符合高斯分布的。一般由于推导和计算方便,会对分布函

数取对数,然后再去优化。最终的结果是,由于你的模型参数考虑了数据先验,学习出来的规则就更加接近实际。

**利用梯度下降优化目标函数时,L1正则化常常产生稀疏的权值, 而L2正则化则产生平滑的权值。**在面试中,面试官常常会考察候选人对正则化的理解,下面我将分别从数值和几何两个角度对L1和L2正则化进行阐述。

二、数值角度

  • L1正则能产生等于0的权值,即能够剔除某些特征在模型中的作用(特征选择),即产生稀疏的效果。

  • L2正则可以得迅速得到比较小的权值,但是难以收敛到0,所以产生的不是稀疏而是平滑的效果。

三、几何角度

除了从数学定义角度出发,我们还可以从几何角度来观察正则化对损失函数的影响。
图片说明

上图是L1和L2正则化的几何表示,蓝色同心圆是损失函数的等值线,我们训练需要它越小越好,所以这堆同心圆的中心就像有块磁铁一样吸引着权重w往那跑。

以L2正则为例,红色圆是L2正则化等值线。在梯度下降过程中,假设空间上有个点,如果不加正则化,它就会像黑色箭头一样,愉快地直奔蓝色圆心的怀抱。加上正则化这堵墙以后,就是这条绿色的箭头,走着走着就碰壁了,蹭着墙只能挪到离圆心最近的地方,和正则化等值线相切以后,方向就不改变了。

为了解释为何L1正则化产生稀疏的权值, L2正则化产生平滑的权值,我们可以看以下这个图(以2维为例):

图片说明


从等高线和w_1,w_2w1​,w2​取值区间的交点可以看到,L1中两个权值倾向于一个较大另一个为0,L2中两个权值倾向于均为非零的较小数,这也就是L1稀疏,L2平滑的效果。