L0范数指向量中非零元素的个数 L1范数:向量中每个元素绝对值的和 ∣ ∣ x ∣ ∣ 1 = ∑ i = 1 N ∣ x i ∣ ||x||_1=\sum_{i=1}^{N}{|x_i|} ∣∣x∣∣1=∑i=1N∣xi∣ L2范数:向量元素绝对值的平方和再开平方 ∣ ∣ x ∣ ∣ 2 = ∑ i = 1 N x i 2 ||x||_2=\sqrt{\sum_{i=1}^{N}{x_i^2}} ∣∣x∣∣2=∑i=1Nxi2
在训练模型过程中,当我们的训练数据不够大时,但为了精确拟合训练数据而使模型变得复杂时,会使模型的偏差过小而方差过大,这时模型再去拟合测试数据时会发现效果比较差,泛化能力较弱,这就是过拟合现象。为什么这样,因为数据量不够大的情况下,越复杂的模型越会训练集中所有的数据点,包括噪声。这就会造成在较小的区间中产生较大的波动,这个较大的波动也会反映在这个区间的导数比较大。 这个时候正则项的作用就是通过限制参数的大小,来限制模型的拟合程度,就不会导致跟无正则项模型一样大参数学习大噪声,导致较小的区间产生大波动。
L2正则化可以解决模型训练中的过拟合现象,它也被称为权重衰减。在回归模型中,这也被称为岭回归。 设损失函数为 ℓ = ℓ 0 + λ 2 m ∑ w w 2 \ell = \ell_0 + \frac{\lambda}{2m}\sum_w{w^2} ℓ=ℓ0+2mλw∑w2 其中 L 0 L_0 L0表示没有正则化时的损失函数。对它求w的偏导: ∂ ℓ ∂ w = ∂ ℓ 0 ∂ w + λ w m \frac{\partial{\ell}}{\partial{w}} = \frac{\partial{\ell_0}}{\partial{w}} + {\frac{\lambda w}{m}} ∂w∂ℓ=∂w∂ℓ0+mλw 对w进行更新: w = w − η ∂ ℓ ∂ w = ( 1 − η λ m ) w − η ∂ ℓ 0 ∂ w w = w -\eta\frac{\partial{\ell}}{\partial{w}} = (1-\frac{\eta \lambda}{m})w-\eta\frac{\partial{\ell_0}}{\partial{w}} w=w−η∂w∂ℓ=(1−mηλ)w−η∂w∂ℓ0
我们知道,没有正则化的参数更新为 w = w − η ∂ ℓ 0 ∂ w w = w - \eta\frac{\partial{\ell_0}}{\partial{w}} w=w−η∂w∂ℓ0,而L2正则化使用了一个乘性因子 ( 1 − η λ ) (1-{\eta \lambda}) (1−ηλ) 去调整权重,因此权重会不断衰减,并且在权重较大时衰减地快,权重较小时衰减得慢。
下面换一种方式来理解L2正则化对权重的限制。我们的目标是最小化下面的损失函数: min L = L 0 ( w ) + λ ∑ w w 2 m \min {L = L_0(w) + \frac{\lambda\sum_w{w^2}}{m} } minL=L0(w)+mλ∑ww2
为了最小,需要让和正则化项的和能够最小。若w变大让减小,也会变大,后者就会抑制前者,前者会受到后者的约束,从而让w不会上升地过大。此时就像是一个调整模型拟合精度与泛化能力的权重因子。
现在我们知道了,L2正则化能够限制参数的大小。那么,为什么参数大小被限制了,这个模型就是一个简单的模型,就能够防止过拟合了呢? y = a 0 x 9 + a 1 x 8 + . . . + a 9 y = a_0x^9 + a_1x^8 + ...+ a_9 y=a0x9+a1x8+...+a9,当参数很小时,高次方项的影响就会变得十分微弱,这使模型不会对某一个输入太过敏感,从而近似学习到一条简单的曲线,类似最开始的线性模型。也就是说,即使你预设的回归模型是一个9次的多项式回归,通过正则化学习,高次项前的系数 会变得很小,最后的曲线类似一条直线,这就是让模型变成了一个简单的模型。
总结一下, 1)正则化让模型根据训练数据中常见的模式来学习相对简单的模型,无正则化的模型用大参数学习大噪声。 2)L2正则化通过权重衰减,保证了模型的简单,提高了泛化能力。
L1不仅能限制模型参数的取值还能对模型进行稀疏约束。最终模型的权重主要集中在那些高重要度的特征上,对于不重要的特征,权重会很快趋近于0。所以最终权重w会变得稀疏。
都能通过限制模型参数的取值,来保证模型的简单,来限制模型的拟合程度,减少噪声对模型的影响,使模型相对于无正则项模型平滑。
L1是模型各个参数的绝对值之和。L2是模型各个参数的平方和的开方值。
L1会趋向于产生少量的特征,而其他的特征都是0. 因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵 L2会选择更多的特征,这些特征都会接近于0。最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0
L1正则化的情况,在特征为二维时,约束线是一个菱形,等值线极有可能最先与顶点相交,在这种情况下有一个维度的特征就会为0,这就带来了稀疏。当特征的维度变高,坐标轴上角与边都会变多,这更会加大等值线与他们先相交的概率,从而导致了稀疏性。 L2正则化不同,如右图所示,它的约束线是一个圆形,等值线可能与它任意一个位置的点首先相切,这个切点在坐标轴上的概率大大 减小,从而不太容易导致稀疏。
参考资料: [1] L0、L1、L2范数在机器学习中的应用 https://www.jianshu.com/p/4bad38fe07e6 [2] 贪心nlp