机器学习之L1 L2

参考:https://zhuanlan.zhihu.com/p/35356992

正则化

  • 正则化是结构风险最小化的一种策略。给损失函数加上正则化项,能使得在优化模型的时候要对经验风险与模型复杂度做一个trade-off,同时符合偏差和方差(若模型非常复杂,那么加入噪声以后的输入可能输出就会跟目标差距很大,鲁棒性降低,方差变大)分析。通过降低模型复杂度,得到更好的泛化能力,降低模型对训练数据的拟合程度。
  • L1正则化就是在损失函数加上L1范数,加上L1范数容易得到稀疏解
  • L2正则化是在损失函数后加上L2范数,使得得出的解比较平滑(不是稀疏),但是能保证比较多的参数更接近于0,降低模型的复杂度,一般在深度学习用得比较多。pytorch中只要在optim加上weight_decay参数就可以。

在这里插入图片描述

(1) 结构风险最小化角度

  • 假设优化目标为
    在这里插入图片描述

  • L1正则(lasso公式)
    在这里插入图片描述

  • L2正则(岭回归)
    在这里插入图片描述

  • 假如不加正则项的话,对于凸的目标函数来说,最终目标就是梯度为0的区域即中心紫色区域。

  • 当假如正则项以后,我们不仅需要使权重接近中心紫色区域,还需要使L1菱形或者L2圆形更加小

  • 对于同一条梯度等高线而言,与菱形相切L1正则项最小,与圆形相切时L2正则项最小。因此,假如正则项以后,损失函数的最低点一定是某条等高线与菱形L1或者圆形L2的切点

L1 更容易得到稀疏权重

  • L ( x ) = f ( x ) + C x L(x) = f(x) + C|x| 。其中 f ( x ) f(x) 为正则化前的损失函数。由于L1正则项的存在无法直接令 L ( x ) = 0 L^{'}(x)=0 ,但只要使 L ( 0 ) L_{-}^{'}(0) L 0 ( x ) L_{0}^{'}(x) 异号即满足以下公式,那么x=0就可能成为可能的极值点。
    L + ( 0 ) × L ( 0 ) = ( f ( 0 ) + C ) × ( f ( 0 ) C ) < 0 L_{+}^{'}(0) \times L_{-}^{'}(0) = (f^{'}(0) + C) \times (f^{'}(0) - C) < 0
    由于后一项一定小于另一项,要满足异号,必须满足 f ( 0 ) < C f^{'}(0) < C
  • 因此L1更加容易得到稀疏权重
    在这里插入图片描述
  • 分别对L1和L2求导,当 w < 0 w<0 的时候,L2产生的导数相比L1的会小很多(L2比L1多乘了个 w w

(2) 贝叶斯先验概率角度

  1. 假设 Y X ; w Y|X;w 服从 N ( w T X , σ ) N(w^TX, \sigma) 的高斯分布,其中 w w 为未知的参数(w是固定的只是未知的)。则用极大似然估计求解参数 w w
    max log i m p ( y i x i ; w ) = min log i m p ( y i x i ; w )          ( 1 ) \max\log\prod_i^mp(y_i|x_i;w) = \min-\log\prod_i^mp(y_i|x_i;w) \ \ \ \ \ \ \ \ (1)
  2. 从贝叶斯学派观点看来,我们先假设参数 w w 随机变量已经服从一种先验分布 P ( w ) P(w) ,那么根据贝叶斯公式,最大化后验概率估计
    P ( w ( X , Y ) ) = P ( ( X , Y ) w ) P ( w ) P ( X , Y ) P ( Y X , w ) P ( X ) P ( w ) P ( Y X , w ) P ( w ) P(w|(X,Y)) = \frac{P((X,Y)|w)P(w)}{P(X,Y)} \propto P(Y|X,w)P(X)P(w) \propto P(Y|X,w)P(w)
    这时候我们再用极大似然估计再去估计参数 w w 时,似然函数就变成了:
    max log i = 1 m P ( y i x i ; w ) P ( w ) = min ( log i m p ( y i x i ; w ) + log i = 1 m p ( w ) )          ( 2 ) \max \log\prod_{i=1}^m{P(y_i|x_i;w)P(w)} = \min-(\log\prod_i^mp(y_i|x_i;w) + \log\prod_{i=1}^mp(w)) \ \ \ \ \ \ \ \ (2)
    公式(2)相比公式(1)多了一项,就是正则项(参数 w w 先验分布带来的)
  3. L1:假设 w w 服从标准拉普拉斯分布,即概率密度函数为 1 2 e w \frac{1}{2}*e^{-|w|} ,那么公式(2)就会变为
    min ( log i m p ( y i x i ; w ) + log i = 1 m p ( w ) ) = min ( log i m p ( y i x i ; w ) + C w 1 ) \min-(\log\prod_i^mp(y_i|x_i;w) + \log\prod_{i=1}^mp(w)) = \min-(\log\prod_i^mp(y_i|x_i;w)+C||w||_1)
    也就是说假设 w w 服从标准拉普拉斯分布时,极大似然估计就比原来多出一个L1范数项。
  4. L2:假设 w w 服从标准高斯分布,推理过程与3. 一样,可以得出极大似然估计比原来多出来一个L2范数项。

猜你喜欢

转载自blog.csdn.net/nickkissbaby_/article/details/89262011
今日推荐