正则项L1与L2的区别

定义

L0范数指向量中非零元素的个数
L1范数:向量中每个元素绝对值的和 x1=i=1Nxi||x||_1=\sum_{i=1}^{N}{|x_i|}
L2范数:向量元素绝对值的平方和再开平方x2=i=1Nxi2||x||_2=\sqrt{\sum_{i=1}^{N}{x_i^2}}

为什么需要正则项

在训练模型过程中,当我们的训练数据不够大时,但为了精确拟合训练数据而使模型变得复杂时,会使模型的偏差过小而方差过大,这时模型再去拟合测试数据时会发现效果比较差,泛化能力较弱,这就是过拟合现象。为什么这样,因为数据量不够大的情况下,越复杂的模型越会训练集中所有的数据点,包括噪声。这就会造成在较小的区间中产生较大的波动,这个较大的波动也会反映在这个区间的导数比较大。
这个时候正则项的作用就是通过限制参数的大小,来限制模型的拟合程度,就不会导致跟无正则项模型一样大参数学习大噪声,导致较小的区间产生大波动。

L2正则项

L2正则化可以解决模型训练中的过拟合现象,它也被称为权重衰减。在回归模型中,这也被称为岭回归。
设损失函数为
=0+λ2mww2\ell = \ell_0 + \frac{\lambda}{2m}\sum_w{w^2}
其中L0L_0表示没有正则化时的损失函数。对它求w的偏导:
w=0w+λwm\frac{\partial{\ell}}{\partial{w}} = \frac{\partial{\ell_0}}{\partial{w}} + {\frac{\lambda w}{m}}
对w进行更新:
w=wηw=(1ηλm)wη0ww = w -\eta\frac{\partial{\ell}}{\partial{w}} = (1-\frac{\eta \lambda}{m})w-\eta\frac{\partial{\ell_0}}{\partial{w}}

我们知道,没有正则化的参数更新为w=wη0ww = w - \eta\frac{\partial{\ell_0}}{\partial{w}},而L2正则化使用了一个乘性因子(1ηλ)(1-{\eta \lambda}) 去调整权重,因此权重会不断衰减,并且在权重较大时衰减地快,权重较小时衰减得慢

下面换一种方式来理解L2正则化对权重的限制。我们的目标是最小化下面的损失函数:
  minL=L0(w)+λww2m\min {L = L_0(w) + \frac{\lambda\sum_w{w^2}}{m} }

为了最小,需要让和正则化项的和能够最小。若w变大让减小,也会变大,后者就会抑制前者,前者会受到后者的约束,从而让w不会上升地过大。此时就像是一个调整模型拟合精度与泛化能力的权重因子

现在我们知道了,L2正则化能够限制参数的大小。那么,为什么参数大小被限制了,这个模型就是一个简单的模型,就能够防止过拟合了呢?y=a0x9+a1x8+...+a9y = a_0x^9 + a_1x^8 + ...+ a_9,当参数很小时,高次方项的影响就会变得十分微弱,这使模型不会对某一个输入太过敏感,从而近似学习到一条简单的曲线,类似最开始的线性模型。也就是说,即使你预设的回归模型是一个9次的多项式回归,通过正则化学习,高次项前的系数 会变得很小,最后的曲线类似一条直线,这就是让模型变成了一个简单的模型。

总结一下,
1)正则化让模型根据训练数据中常见的模式来学习相对简单的模型,无正则化的模型用大参数学习大噪声。
2)L2正则化通过权重衰减,保证了模型的简单,提高了泛化能力。

L1正则项

L1不仅能限制模型参数的取值还能对模型进行稀疏约束。最终模型的权重主要集中在那些高重要度的特征上,对于不重要的特征,权重会很快趋近于0。所以最终权重w会变得稀疏。

L1与L2的区别

相同点:

都能通过限制模型参数的取值,来保证模型的简单,来限制模型的拟合程度,减少噪声对模型的影响,使模型相对于无正则项模型平滑。

区别

  1. L1是模型各个参数的绝对值之和。L2是模型各个参数的平方和的开方值。

  2. L1会趋向于产生少量的特征,而其他的特征都是0. 因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵
    L2会选择更多的特征,这些特征都会接近于0。最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0

正则项L1与L2的区别
L1正则化的情况,在特征为二维时,约束线是一个菱形,等值线极有可能最先与顶点相交,在这种情况下有一个维度的特征就会为0,这就带来了稀疏。当特征的维度变高,坐标轴上角与边都会变多,这更会加大等值线与他们先相交的概率,从而导致了稀疏性。
  L2正则化不同,如右图所示,它的约束线是一个圆形,等值线可能与它任意一个位置的点首先相切,这个切点在坐标轴上的概率大大 减小,从而不太容易导致稀疏。

参考资料:
[1] L0、L1、L2范数在机器学习中的应用 https://www.jianshu.com/p/4bad38fe07e6
[2] 贪心nlp