水熊虫
水熊虫
不认命,就拼命!
263文章 52分类

机器学习之L2正则化

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

L2参数正则化

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

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

对应的梯度为

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

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

$$\begin{gathered}w \gets w- \epsilon(\alpha w + \triangledown_{w}J(w;X;y)) \\ \gets (1-\epsilon \alpha)w-\epsilon \triangledown_{w}J(w;X;y))\end{gathered}$$

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

L2正则在训练中的影响

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

$$ \bar{J(\theta)}=J(w^{*})+\frac{1}{2}(w-w^{*})^{T} H(w-w^{*}) \tag{2.1} $$

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

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

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

$$\begin{gathered}\alpha w + H(w-w^{*})=0 \\ w=(H-\alpha I )^{-1} H w^{*} \\\end{gathered}$$

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

$$\begin{gathered}w=(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^{*}\end{gathered}$$

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

实践

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

$$ (Xw-y)^{T}(Xw-y) + \frac{1}{2} \alpha w^{T}w \tag{3.1} $$

其中第二项而L2正则项。

正规的解为

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

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

Your browser is out-of-date!

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

×