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

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

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

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

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

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

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

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

对应的梯度为:

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

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

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

等价于:

w(1αλ)wαwJ(4)w\leftarrow (1-\alpha\lambda )w-\alpha \nabla_wJ\tag4

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

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

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

对应的(次)梯度为:

wJ~=wJ+λsign(w)(6)\nabla_w \tilde J=\nabla_wJ+\lambda \rm sign\it(w)\tag6

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

wwα(wJ+λsign(w))(7)w\leftarrow w - \alpha(\nabla_wJ+\lambda \rm sign\it(w))\tag7

即:

w(wλsign(w))αwJ(8)w\leftarrow (w -\lambda \rm sign\it(w))- \alpha\nabla_wJ\tag8

可以看到L1正则化的效果与L2正则化的效果很不一样,不再是线性地缩放每个wiw_i,而是减去了一项与权重wiw_i同号的常数,因此当wi>0w_i>0时,更新权重使得其减小,当wi<0w_i<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 minwJ(w)w^*=\argmin_wJ(w),即ww^*J(w)J(w)的最小值点,利用泰勒展开将式(1)(1)中的J(w)J(w)ww^*点处展开,并只保留到二阶导的项作为近似. 如果目标函数确实是二次的(例如使用均方误差损失的线性回归模型),那么得到的表达式是没有误差的.

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

J~(w)=J(w)+λ2wTwJ(w)+12(ww)TH(ww)+λ2wTw=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}

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

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

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

w^=arg minwJ^(w)\hat w=\argmin_w\hat J(w),即w^\hat wJ^(w)\hat 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}

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

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

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

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

w^=(QΛQT+λI)1QΛQTw=[Q(Λ+λI)QT]1QΛQTw=Q(Λ+λI)1QTw(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}

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

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

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

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

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

References:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章