DL\ML--深度学习之L1与L2正则化--概念题(3)

此系列是记录DL、ML相关的一些基础概念,便于理解和回顾!一天两道!哈哈哈~~,水滴石穿!小白水平,若有错误,欢迎指正!

文章目录

  • 深度学习之L1与L2正则化
    • 1、L2 正则化:所有参数W的平方和
    • 2、L1 正则化
    • 3、总结


深度学习之L1与L2正则化

参考链接:https://blog.csdn.net/u010402786/article/details/49592239

1、L2 正则化:所有参数W的平方和

L2 正则化,也叫 “岭回归”、“权重衰减”
假设 L2 的损失函数为: L o s s = l o s s 0 + λ 2 n ∑ w w 2 Loss=loss_{0}+\frac{\lambda}{2 n} \sum_{w} w^{2} Loss=loss0+2nλww2 l o s s 0 loss_{0} loss0是原始的损失函数, λ 2 n ∑ w w 2 \frac{\lambda}{2 n} \sum_{w} w^{2} 2nλww2为L2正则化项, λ \lambda λ为正则项的系数, n n n表示样本的数量,前面 1 2 \frac{1}{2} 21 是为了求导的时候消除前面系数。将上式求导: ∂ L ∂ w = ∂ L 0 ∂ w + λ n w {\frac{\partial L}{\partial w}=\frac{\partial L_{0}}{\partial w}+\frac{\lambda}{n} w} wL=wL0+nλw ∂ L ∂ b = ∂ L 0 ∂ b {\frac{\partial L}{\partial b}=\frac{\partial L_{0}}{\partial b}} bL=bL0L2正则化对偏置 b b b 没有影响,但对 w w w 有影响:
w w w进行更新的时候: w i + 1 = w i − η ∂ L ∂ w w_{i+1}=w_{i}-{\eta \frac{\partial L}{\partial w}} wi+1=wiηwL = w i − η ∂ L 0 ∂ w − η λ n w =w_{i}-\eta\frac{\partial L_{0}}{\partial w}-\eta\frac{\lambda}{n}w =wiηwL0ηnλw = ( 1 − η λ n ) w − η ∂ L 0 ∂ w =(1-\eta\frac{\lambda}{n})w-\eta \frac{\partial L_{0}}{\partial w} =(1ηnλ)wηwL0 ( 1 − η λ n ) (1-\eta\frac{\lambda}{n}) (1ηnλ)是小于1的,所以 L2 的效果是减小 w w w,"权重衰减(weight decay)"名字的由来。

w w w变小,可以防止过拟合。因为:更小的权值参数 w w w,表示网络的复杂度更低,体现模型越简单,越不容易过拟合。因为过拟合,就是拟合函数需要想到每一个点,最终形成的拟合函数波动很大,所以拟合函数的系数往往非常大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。
DL\ML--深度学习之L1与L2正则化--概念题(3)_第1张图片L2 正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况


2、L1 正则化

L = L 0 + λ n ∑ w ∣ w ∣ L=L_{0}+\frac{\lambda}{n} \sum_{w}|w| L=L0+nλww求导: ∂ L ∂ w = ∂ L 0 ∂ w + λ n sgn ⁡ ( w ) \frac{\partial L}{\partial w}=\frac{\partial L_{0}}{\partial w}+\frac{\lambda}{n} \operatorname{sgn}(w) wL=wL0+nλsgn(w)那么 w w w更新为: w i + 1 = w i − η ∂ L ∂ w w_{i+1}=w_{i}-\eta\frac{\partial L}{\partial w} wi+1=wiηwL = w i − η ∂ L 0 ∂ w − η λ n s g n ( w ) =w_{i}-\eta\frac{\partial L_{0}}{\partial w}-\eta\frac{\lambda}{n}sgn(w) =wiηwL0ηnλsgn(w)这边与 L2 不同的是,L2是系数减小,这边是后面多减了一项 η λ n s g n ( w ) \eta\frac{\lambda}{n}sgn(w) ηnλsgn(w)。当 w w w 为正的时候,更新后 w w w变小。当 w w w 为负值的时候,负负得正,让 w w w 往0靠。因此 L1 就是尽可能把 L1 的权重参数赋值为 0 。

稀疏规则化可以实现特征的自动选择:一般来说,特征 x i x_i xi 中的大部分值和最终的输出 y i y_i yi 之间没有关系或者是不提供信息的。训练的时候,最小化目标函数的会考虑这些 x i x_i xi 中大部分没有意义的值,训练误差会变小。但是在预测新样本的时候,这些没有意义的值被考虑,反而起不好的作用,干扰 y i y_i yi 的正确预测。稀疏规则化就是引入去除 x i x_i xi 中无用的值,也就是将这些值的权重赋值为0。

其次,也更有可解释性。因为特征变少了,就可以看出对于预测结果,哪些特征更重要,提供的信息更巨大,更有决策性。


3、总结

  1. L1减少的是一个常量,L2减少的是权重的固定比例,L1会变成0,L2不可能为0;
  2. L1使权重稀疏,L2使权重平滑,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0,实践中L2正则化通常优于L1正则化;
  3. L1 正则先验服从 拉普拉斯分布,L2正则先验服从 高斯分布

你可能感兴趣的:(ML/DL概念理解)