其他分享
首页 > 其他分享> > 正则化 Regularization

正则化 Regularization

作者:互联网

什么是正则化

凡是减少泛化误差(而不是训练误差)的方法都可以称作正则化
换句话说,也就是减小过拟合的方法

范数 Norm

L1范数:\(||W||_1={|w_1|+|w_2|+\cdots+|w_n|}\)

把权重\(W\)看作空间中的向量,如果\(W\)到原点的距离是欧式距离的话,那么这个范数就是L2范数:\(||W||_2=\sqrt {|w_1|^2+|w_2|^2+\cdots+|w_n|^2}\)

其他范数

\[||W||_p=\sqrt[p] {|w_1|^p+|w_2|^p+\cdots+|w_n|^p} \]

从图中可以看出,在\(p\ge 1\)时构成的集合才是个凸集

为何要正则化

从三个不同的角度来理解正则化的作用

拉格朗日乘数法

训练神经网络时,权重的初始值会影响最后的结果,经过不同的模型,权重的结果或大或小,这个结果在训练集上不会有什么影响,但如果输入新的数据集,这个影响就显现出来了。因为如果权重过大,误差和噪声也会被放大。为了解决这个问题,我们使用正则化来控制参数。
从拉格朗日乘数法的角度来理解,就是人为的给参数范围加一个约束(可行域),在可行域范围之内求最值。如果超出可行域范围,即使损失函数取值再小也不被采纳
这里只用约束\(W\)即可,因为\(W\)是最后决定曲线形状的,而\(b\)只是一个偏置

\[\begin{align*} &\ \min J(W,b,x)\\ &s.t. ||W||_2-C \le 0\\ &L(W,\lambda)=J(W)+\lambda(||W||_2-C)\\ &\min_W \max_{\lambda}L(W,\lambda)\\ &\ s.t. \lambda \ge 0 \end{align*} \]

因为是对于\(W\)找最值,只要算出\(W\)即可,所以一般的正则化都是如下公式

\[L(W,\lambda)=J(W)+\lambda ||W||_2 \]

从二维图像上直观感受一下

L1正则化的稀疏性:可以调整\(\lambda\)使得某些\(w_i\)有值,也就是某些特征起作用,从图像上看就是在某些数轴上有值

权重衰减 Weight Decay

加了正则化项之后损失函数为:其中\(\frac 1 2\)是为了求导好计算

\[J(W)=J(W)+\frac {\alpha} 2 W^TW \]

权重更新的计算为

\[\begin{align*} W=&W-\eta \cdot \nabla_W J(W)-\eta \cdot \alpha \cdot W\\ =&(1-\eta \cdot \alpha)W-\eta \cdot \nabla_WJ(W) \end{align*} \]

从这个计算可以看出跟原始的梯度下降算法(\(W\)减去学习率乘梯度)不同,这里的\(W\)先乘了一个大于0小于1的数,也就相当于在梯度更新之前权重\(W\)先相对于之前衰减了一部分

类比一下,这就相当于给权重的更新加了个毒圈,以前权重可以满地图随便跑,但是增加了毒圈之后只能在一定范围内活动,并且每走一步毒圈都会缩小一点

再从图像上理解一下,惩罚之后的\(W\)变小了,那么模型的函数泰勒展开后的那些coefficient(也就是k阶导数)也变小了,那么函数的弯弯绕绕也不会那么精确而导致过拟合,如下图

但是要注意:正则化可不完全等价于权重衰减

具体可看这篇论文:DECOUPLED WEIGHT DECAY REGULARIZATION

贝叶斯概率

正则化与原解的关系

首先将原损失函数进行二阶泰勒展开

再计算加上正则化项后的梯度

从而可以计算出原解(红色)和正则化后解(橘色)的关系

再利用Hessian矩阵的性质对式子进行一下变形

最后得到

所以L2正则化就是对原损失函数极值点\(W\)进行缩放,缩放的比例取决于\(\alpha\)

而L1正则化要麻烦许多,花书上假设Hessian矩阵是对角的来简化问题,即\(H={\rm diag}([H_{1,1},\cdots,H_{n,n}])\)




这也就解释了为什么L1正则化带来的稀疏性,因为落在这个范围之内的\(W\)都会变成0

Reference

从拉格朗日乘数法角度进行理解
为什么又叫权重衰减?到底哪里衰减了
花书教我明白伤痛——L1正则

拉格朗日乘数法;权重衰减;贝叶斯概率

标签:Regularization,权重,cdot,正则,L1,范数,lambda
来源: https://www.cnblogs.com/xiaoqian-shen/p/15473214.html