正则化。
什么是正则化
任何减少泛化误差(而不是训练误差)的方法都可以称为正则化。
换句话说,就是减少过拟合的方法。
范数 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。
其他规范
\[| | w | | _ p=\ sqrt[p]{|w_1|^p |w_2|^p \ cdots |w_n|^p}
\]
从图中可以看出,在\(p\ge 1\)形成的集是凸集。
为何要正则化
从三个不同的角度理解正则化的作用。
拉格朗日乘数法
训练神经网络时,权重的初始值会影响最终的结果。不同的模型之后,权重的结果会更大或更小。这个结果不会对训练集产生任何影响,但是如果输入新的数据集,就会出现这种影响。如果权重过大,误差和噪声会被放大。为了解决这个问题,我们使用正则化来控制参数。
从拉格朗日乘数法的角度来看,是指人为地在参数范围内增加一个约束(可行域),并在可行域内寻找最大值。如果超出可行范围,即使损失函数的值很小,也不会被采用。
这里只能使用约束\(W\),因为\(W\)最终决定了曲线的形状,而\(b\)只是一个偏移量。
\[\begin{align*}
\\最小J(W,b,x)\\
s.t. ||W||_2-C \le 0\\
L(W,\)=J(W)\(| | W | | _ 2-C)\
\最小_宽\最大_长(宽,宽)\\
\ s.t. \lambda \ge 0
\end{align*}
\]因为我们找到了\(W\)的最大值,所以只需要计算\(W\),所以一般正则化公式如下。
\[L(W,\)=J(W)\| | W | | _ 2
\]从2D形象直观感受一下。
L1正则化的稀疏性:可以调整\(\lambda\)使某些\(w_i\)有值,即某些特征起作用,从图像上看,某些数轴上有值。
权重衰减 Weight Decay
添加正则化项后的损失函数为:其中\(\frac 1 2\)用于推导和计算。
\[j(w)=j(w)\ frac \u 2 w^tw
\]权重更新的计算是。
\[\begin{align*}
W=W-\\ cdot \ nab la _ W J(W)-\\ cdot \ alpha \ cdot W \ \
=(1-\ eta \ cdot \ alpha)W-\ eta \ cdot \ nabla _ WJ(W)
\end{align*}
\]从这个计算可以看出,与原始的梯度下降算法(\(W\)减去学习率乘以梯度不同,\(W\)在这里乘以一个大于0但小于1的数字,这意味着权重\(W\)在梯度更新之前是部分衰减的。
以此类推,这相当于在权重更新中增加了一个毒圈。以前重量可以在地图上自由运行,但是加了毒圈之后只能在一定范围内移动,每走一步毒圈都会缩小一点。
从图像来理解,如果惩罚后\(W\)变小,那么泰勒展开后模型函数的系数(即k阶导数)也会变小,那么函数的曲线就不会那么精确,导致过拟合,如下图所示。
但是,需要注意的是,正则化可能不完全等同于权重衰减。
具体见本文:下降权重衰减正则化。
贝叶斯概率
正则化与原解的关系
首先,对原始损失函数进行二阶泰勒展开。
然后计算加入正则项后的梯度。
因此,可以计算原始解(红色)和正则解(橙色)之间的关系。
然后利用Hessian矩阵的性质对公式进行变形。
终于得到
因此,L2正则化是对原始损失函数的极值点进行标度,标度依赖于。
L1正则化要麻烦得多,为了简化问题,假设Hessian矩阵是对角的,即,\ (h={\ rmdiag} ([h _ {1,1},\ cdots,h _ {n,n}]) \)。
这解释了为什么L1正则化会带来稀疏性,因为落在这个范围内的\(W\)将变成0。
Reference
从拉格朗日乘数法的角度理解。
为什么也叫重量衰减?衰减到哪里去了?
这本书告诉我,疼痛是有规律的。
拉格朗日乘数法;重量衰减;贝叶斯概率
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52944.html