正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景

先对“L1正则化和L2正则化的区别、应用场景”给出结论,具体见后面的原理解释:

  • L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法.
  • L2正则化计算更加方便,只需要计算向量内积,L1范数的计算效率特别是遇到非稀疏向量时非常低
  • L1正则化相当于给权重设置拉普拉斯先验,L2正则化相当于给权重设置高斯先验 [ 3 , 4 ] ^{[3,4]} [3,4]
  • 实际使用时,L2正则化通常都比L1正则化要好,所以应优先选择L2正则化.

PS:为方便书写,以下的向量和矩阵省略粗体,如 w \boldsymbol w w H \boldsymbol H H写成 w w w H H H

L1正则化是指在目标函数中加入 λ ∥ w ∥ 1 \lambda \Vert w\Vert_1 λw1,其中, w 是 w是 w模型权重向量, λ ≥ 0 \lambda \geq 0 λ0是权衡项,越大表示正则化惩罚越大.

L2正则化则是加入 λ 2 ∥ w ∥ 2 2 \frac\lambda2\Vert w \Vert_2^2 2λw22,也可以写成 λ 2 w T w \frac\lambda 2w^Tw 2λwTw,注意是L2范数的平方,除以2是为了求导方便

假设未加入正则项的代价函数为 J ( w ) J(w) J(w),那么加入L2正则项后,代价函数变为:

J ~ ( w ) = J ( w ) + λ 2 w T w (1) \tilde J(w)=J(w)+\frac\lambda 2w^Tw\tag1 J~(w)=J(w)+2λwTw(1)

对应的梯度为:

∇ w J ~ = ∇ w J + λ w (2) \nabla_w \tilde J=\nabla_wJ+\lambda w\tag2 wJ~=wJ+λw(2)

权重更新表达式为( α \alpha α为学习率):

w ← w − α ( ∇ w J + λ w ) (3) w\leftarrow w - \alpha(\nabla_wJ+\lambda w)\tag3 wwα(wJ+λw)(3)

等价于:

w ← ( 1 − α λ ) w − α ∇ w J (4) w\leftarrow (1-\alpha\lambda )w-\alpha \nabla_wJ\tag4 w(1αλ)wαwJ(4)

由上式可以看出加入L2正则项后梯度更新的变化,即在每步执行通常的梯度更新之前先缩放权重向量(乘以一个常数因子)

对L1正则化而言,代价函数变为:

J ~ ( w ) = J ( w ) + λ ∥ w ∥ 1 (5) \tilde J(w)=J(w)+\lambda \Vert w\Vert_1\tag5 J~(w)=J(w)+λw1(5)

对应的(次)梯度为:

∇ w J ~ = ∇ w J + λ s i g n ( w ) (6) \nabla_w \tilde J=\nabla_wJ+\lambda \rm sign\it(w)\tag6 wJ~=wJ+λsign(w)(6)

其中 s i g n ( ⋅ ) \rm sign( \cdot) sign()为符号函数. 权重更新表达式为( α \alpha α为学习率):

w ← w − α ( ∇ w J + λ s i g n ( w ) ) (7) w\leftarrow w - \alpha(\nabla_wJ+\lambda \rm sign\it(w))\tag7 wwα(wJ+λsign(w))(7)

即:

w ← ( w − λ s i g n ( w ) ) − α ∇ w J (8) w\leftarrow (w -\lambda \rm sign\it(w))- \alpha\nabla_wJ\tag8 w(wλsign(w))αwJ(8)

可以看到L1正则化的效果与L2正则化的效果很不一样,不再是线性地缩放每个 w i w_i wi,而是减去了一项与权重 w i w_i wi同号的常数,因此当 w i > 0 w_i>0 wi>0时,更新权重使得其减小,当 w i < 0 w_i<0 wi<0时,更新权重使得其增大. 从这点来说也可以看出L1正则化更有可能使得权重为0,而L2正则化虽也使得权重减小,但缩放操作使得其仍保持同号.

因此他们的一个区别是:L1正则化会导致更稀疏的权重. 这里的“稀疏”指的是其中一部分权重参数为0.

这种区别也可以通过下面的图看出,同心椭圆为原目标函数的等值线,左图(同心)菱形为L1范数的等值线,右图(同心)圆形为L2范数的等值线. 范数的同心等值线被省略了.

在这里插入图片描述
对于左右每个图来说,假设分别从原目标函数和范数的最低点开始往外拓展等值线,把第一次两个等值线相交的点称为meet-point,那么该点就是在某个惩罚系数 λ \lambda λ下达到的代价最小点, λ \lambda λ决定了该点是更接近目标函数的最低点还是范数的最低点(原点).

由上图可以看出,L1正则化下的meet-point很可能落在坐标轴上,这些点的一部分分量为0,也就导致权重的稀疏,而L2正则化下的meet-point则更有可能落在某个象限内,因此不会有L1正则化的稀疏性.

为什么参数的绝对值更小对应的模型更简单?可以考虑多项式拟合的场景:

在等量的数据集规模下,复杂的模型为了对训练样本的拟合程度更高,拟合的曲线要不断地剧烈上下抖动以求穿过每一个训练样本点,这就导致多项式的阶数比较大且参数绝对值比较大;反之,而当模型比较简单时,曲线就更平滑,即多项式order比较小且参数绝对值也小得多.

前面对L2正则化的效果分析得出的结论是:L2正则化会在每次更新参数时对参数向量多进行一步缩放操作. 但是这仅是对于单个步骤的分析,事实上我们可以对整个训练过程进行分析,并得到正则化的最优解与不进行正则化的区别.

w ∗ = arg min ⁡ w J ( w ) w^*=\argmin_wJ(w) w=wargminJ(w),即 w ∗ w^* w J ( w ) J(w) J(w)的最小值点,利用泰勒展开将式 ( 1 ) (1) (1)中的 J ( w ) J(w) J(w) w ∗ w^* w点处展开,并只保留到二阶导的项作为近似. 如果目标函数确实是二次的(例如使用均方误差损失的线性回归模型),那么得到的表达式是没有误差的.

J ~ ( w ) \tilde J(w) J~(w)近似得到 J ^ ( w ) \hat J(w) J^(w)

J ~ ( w ) = J ( w ) + λ 2 w T w ≈ J ( w ∗ ) + 1 2 ( w − w ∗ ) T H ( w − w ∗ ) + λ 2 w T w = 令 为 J ^ ( w ) (9) \begin{aligned} \tilde J(w) &=J(w)+\frac\lambda 2w^Tw \\ &\approx J(w^*)+\frac12(w-w^*)^TH(w-w^*)+\frac\lambda 2w^Tw\xlongequal{令为}\hat J(w)\tag9 \end{aligned} J~(w)=J(w)+2λwTwJ(w)+21(ww)TH(ww)+2λwTw J^(w)(9)

其中 H H H J ( w ) J(w) J(w) w ∗ w^* w处关于 w w w的Hessian矩阵,由于 w ∗ w^* w为极值点,所以 ∇ w J = 0 \nabla_wJ=\boldsymbol 0 wJ=0,故近似式中没有一次项. 另外由 w ∗ w^* w为极小值点可知 H H H是半正定的.

J ^ ( w ) \hat J(w) J^(w) w w w的梯度为:

∇ w J ^ ( w ) = H ( w − w ∗ ) + λ w (10) \nabla_w\hat J(w)=H(w-w^*)+\lambda w \tag{10} wJ^(w)=H(ww)+λw(10)

w ^ = arg min ⁡ w J ^ ( w ) \hat w=\argmin_w\hat J(w) w^=wargminJ^(w),即 w ^ \hat w w^ J ^ ( w ) \hat J(w) J^(w)的最小值点,则

∇ w ^ J ^ ( w ) = H ( w ^ − w ∗ ) + λ w ^ = 0 (11) \nabla_{\hat w}\hat J(w)=H(\hat w-w^*)+\lambda \hat w=\boldsymbol 0 \tag{11} w^J^(w)=H(w^w)+λw^=0(11)

( H + λ I ) w ^ = H w ∗ (12) (H+\lambda I)\hat w=Hw^*\tag{12} (H+λI)w^=Hw(12)

w ^ = ( H + λ I ) − 1 H w ∗ (13) \hat w=(H+\lambda I)^{-1}Hw^*\tag{13} w^=(H+λI)1Hw(13)

λ \lambda λ趋于0时,正则化后的代价函数的最优解 w ^ \hat w w^趋于 w ∗ w^* w,那么当 λ \lambda λ增加时会发生什么呢?

由于Hessian矩阵 H H H是实对称矩阵,所以其可对角化,即 Q T H Q = Λ Q^TH Q=\Lambda QTHQ=Λ,其中 Q Q Q为正交矩阵且列向量为 H H H的特征向量,故 H = Q Λ Q T H=Q\Lambda Q^T H=QΛQT,代入式 ( 13 ) (13) (13)可得

w ^ = ( Q Λ Q T + λ I ) − 1 Q Λ Q T w ∗ = [ Q ( Λ + λ I ) Q T ] − 1 Q Λ Q T w ∗ = Q ( Λ + λ I ) − 1 Q T w ∗ (14) \begin{aligned} \hat w &=(Q\Lambda Q^T+\lambda I)^{-1}Q\Lambda Q^Tw^* \\ &=[Q (\Lambda+\lambda I)Q^T]^{-1}Q\Lambda Q^Tw^*\\ &=Q(\Lambda +\lambda I)^{-1}Q^Tw^* \tag{14} \end{aligned} w^=(QΛQT+λI)1QΛQTw=[Q(Λ+λI)QT]1QΛQTw=Q(Λ+λI)1QTw(14)

H ^ = Q ( Λ + λ I ) − 1 Q T \hat H=Q(\Lambda +\lambda I)^{-1}Q^T H^=Q(Λ+λI)1QT,则有 w ^ = H ^ w ∗ \hat w=\hat Hw^* w^=H^w,即 H ^ \hat H H^的特征值为 ξ i ξ i + λ \frac{\xi_i}{\xi_i+\lambda} ξi+λξi,其中 ξ i \xi_i ξi H H H的特征值,且 H ^ \hat H H^的特征值 ξ i ξ i + λ \frac{\xi_i}{\xi_i+\lambda} ξi+λξi对应的特征向量与 H H H的特征值 ξ i \xi_i ξi对应的特征向量相同,均为 Q Q Q的第 i i i列.

因此, w ∗ w^* w左乘 H ^ \hat H H^可以看做沿着由 H H H的特征向量所定义的轴来缩放 w ∗ w^* w,具体来说,我们会根据 ξ i ξ i + λ \frac{\xi_i}{\xi_i+\lambda} ξi+λξi因子来缩放 w ∗ w^* w H H H的第 i i i个特征向量方向上的分量 w i ∗ w_i^* wi. 因此,对于较大的特征值 ξ i ≫ λ \xi_i \gg \lambda ξiλ所对应的特征向量的方向上,正则化的影响较小,因为分量 w i ∗ w_i^* wi的缩放因子趋于1;而对于较小的特征值 ξ i ≪ λ \xi_i \ll \lambda ξiλ所对应的特征向量的方向上, w ∗ w^* w的分量 w i ∗ w_i^* wi会缩放到几乎为 0 \boldsymbol 0 0.

还可以这样来理解:L2正则化会将最优解 w ∗ w^* w的分量进行缩放,某分量方向上代价函数降低得越慢,则对其缩放的程度越高,即偏好保留的是代价函数降低更快的方向,这些方向特征值大,故二阶导数大,所以降低快 [ 2 ] ^{[2]} [2]. 这种效应如下图所示.

在这里插入图片描述
上图是假设参数向量 w w w维度仅为2,即 w = [ w 1 , w 2 ] w=[w_1,w_2] w=[w1,w2],作出 J ( w ) J(w) J(w)的等值线后,由Hessian矩阵与等值线的关系可知,图中所画的 J ( w ) J(w) J(w)的Hessian矩阵 H H H的特征向量方向恰为水平和垂直方向,且等值线密集的垂直方向对应的特征值较大,等值线稀疏的水平方向对应的特征值较小.

根据前文所述结论, w ∗ w^* w在水平方向的分量将被收缩较多,而在垂直方向的分量所收到的影响则相对没那么大. 图中的 w ~ \tilde w w~点正是加了正则项后的最优解,其垂直与水平分量相对于 w ∗ w^* w的变化验证了我们的想法.

References:

[1] 花书中文版7.1节
[2] Hessian矩阵与等值线的关系
[3] 贝叶斯角度看 L1 & L2 正则化
[4] L1正则先验分布是Laplace分布,L2正则先验分布是Gaussian分布

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页