机器学习之L2正则化

之前有一篇博客已经讲解了正则化的一些知识,本文就深入一层看看每一种正则化到底对目标函数做了什么,让大家能够更加深入的了解正则化。现在介绍L2正则化的深入分析。

L2参数正则化

首先来看下带有正则化的损失函数。

J(w;X;y)ˉ=α2wtw+J(w;X;y)(1.1)\bar{J(w;X;y)}=\frac{\alpha}{2}w^{t}w+J(w;X;y) \tag{1.1}

对应的梯度为

J(w;X;y)ˉ=αw+wJ(w;X;y)(1.2)\triangledown \bar{J(w;X;y)}=\alpha w +\triangledown_{w}J(w;X;y) \tag{1.2}

使用单步梯度下降更新权重,就是执行如下的更新

wwϵ(αw+wJ(w;X;y))(1ϵα)wϵwJ(w;X;y))w \gets w- \epsilon(\alpha w + \triangledown_{w}J(w;X;y)) \\ \gets (1-\epsilon \alpha)w-\epsilon \triangledown_{w}J(w;X;y))

从上面的关系可以看出来,加入了一个w的更新过程是先加入一个衰减后引起了学习规则的改变。就是每步执行通常的梯度更新之前先收缩权重向量((1ϵα)(1-\epsilon \alpha)乘以这个常数因子)。这是一个单独的迭代过程,那么来看看训练整个过程会发生什么?

L2正则在训练中的影响

假设存在ww^{*}为未正则化的目标函数取得最小训练误差时的权重向量,就是w=arg minwJ(w)w^{*}=arg\ min_{w}J(w)

J(θ)ˉ=J(w)+12(ww)TH(ww)(2.1)\bar{J(\theta)}=J(w^{*})+\frac{1}{2}(w-w^{*})^{T} H(w-w^{*}) \tag{2.1}

第一项是J的最优值,第二项是正则项,这里的H是J在ww^{*}处计算的的Hessian矩阵。因为ww^{*}被定义成最优,就是梯度消失为0,也也就是J(w)=0J(w^{*})'=0。当J(θ)ˉ\bar{J(\theta)}取得最小值的时候其梯度如下,且等于0

wJ(x)ˉ=H(ww)(2.2)\triangledown_{w} \bar{J(x)}=H(w-w^{*}) \tag{2.2}

上面这个公式是这样计算而来的,J(w)=0J(w^{*})'=0一阶导数为0 ,然后求正则项的导数,ww^{*}是常数,求导以后就如公式2.2. 这个时候研究权重衰减带来的影响。w是当前的最优值,就有如下的等式。

αw+H(ww)=0w=(HαI)1Hw\alpha w + H(w-w^{*})=0 \\ w=(H-\alpha I )^{-1} H w^{*} \\

其中第一行根据公式1.2推导。 当α\alpha趋近于0的时候,正则化的w的解趋近于ww^{*}. 当α\alpha增加的时候,因为H是实对称的,所以可以将其分解为如下形式,H=QQTH=Q \land Q^{T},将其用到上面的公式。

w=(QQT+αI)1QQTw=[Q(+αI)QT]1QQTw=Q(+αI)1QTww=(Q \land Q^{T}+\alpha I)^{-1} Q \land Q^{T} w^{*} \\ =[Q(\land+\alpha I)Q^{T}]^{-1} Q \land Q^{T} w^{*} \\ =Q(\land+\alpha I){-1} \land Q^{T} w^{*}

从上面的的公式推导能够看出来权重衰减的效果沿着由H的特征向量说定义的轴缩放ww^{*}。具体而言就是根据λiλi+α\frac{\lambda_{i}}{\lambda_{i}+\alpha}因子缩放与H的第i个特征向量对齐的W分量(这里的λi\lambda_{i}表示第i个特征值)。沿着H特征值较大的方向正则化影响小,反过来当λi<<α\lambda_{i}<< \alpha将会收缩到几乎为0.这里就与特征值和特征向量联系起来啦。只有在显著的减小目标函数的方向上的参数会保留相对完好,在无助与目标函数减小的方向(对应H较小的特征值)上改变的比较小。

实践

接下来咱们来一线性回归为例子,在加深一下理解。线性回归的代价函数是平均误差之和。

(Xwy)T(Xwy)+12αwTw(3.1)(Xw-y)^{T}(Xw-y) + \frac{1}{2} \alpha w^{T}w \tag{3.1}

其中第二项而L2正则项。

正规的解为

w=(XTX+αI)1XTy(3.2)w=(X^{T}X+\alpha I)^{-1}X^{T}y \tag{3.2}

如果不加入正则项,就是3.2公式中去除掉αI\alpha I,这个αI\alpha I能够防止原本的矩阵不可逆的情况,让算法更加通用 . 矩阵XTXX^{T}X与协方差矩阵1mXTX\frac{1}{m}X^{T}X成正比。发现加入正则项后对角线增加了α\alpha.而这个矩阵(XTXX^{T}X)的对角项对应每个输入特征的方差。 L2正则化能让学习算法感知到具有较高方差的输入x(对较大的方差仍然加上一个α\alpha,使之更大),目的是与输出目标(y)的协方差较小(相对增加方差)的特征会被收缩。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×