正则化
—————-以下来源深度学习圣经———————–
正则化的定义为: “旨在减少学习算法的泛化误差,而不是训练误差的修改”。
一个有效的正则化时有利的“交易”,也就是能够显著减小方差,而不会过度增加偏差。
参数范数惩罚
我们将正则化的目标函数记为: J^(θ;X.y)=J(θ;X,y)+αΩ(θ)
参数规范 Ω 的不同选择可以导致不同的优先解,在神经网络中我们通常指对每一层的仿射变换的权重做惩罚,而不对偏置做正则惩罚。有时希望对网络的每个层使用单独的惩罚,并分配不同的 α 系数,搜索多个正确超参数的代价很大,因此所有层使用相同权重衰减以减少搜索空间是合理的。
L2 参数正则化
最常见的参数惩罚是通常被称为权重衰减(weight decay)的 L2 参数范数惩罚。即向目标函数添加一个正则项 Ω(θ)=12||ω||22 。 L2 也被称为岭回归。
带有正则化的成本函数:
J~(ω;X,y)=α2wTw+J(w;X,y)
那么更新方式:
w←(1−ϵα)w−ϵ▽wJ(w;X,y)
整个训练过程发生什么?
假设,
w∗
为没有正则化的目标函数取的最小训练误差的权重向量。即
w∗=argminwJ(w)
讲
J(w)
在
w∗
点泰勒展开如下:
J^(θ)=J(w∗)+12(w−w∗)TH(w−w∗)
当
j^
取最小值的时候,梯度:
▽wJ^(w)=H(w−w∗)=0
将权重衰减项加入到上式,可得:
w~=Q(Λ+αI)−1ΛQTw∗
我们可以看到权重衰减的效果是沿着H的特征向量所定义的轴进行缩放 w∗ .具体来说,与H第i个特征向量对齐的 w∗ 的分量根据 λiλi+α 因子进行缩放。
沿着H特征值较大的方向,正则化的影响较小,而较小的分量将会被缩小到几乎为零。
例如: 线性回归的目标函数:
(Xw−y)T(Xw−y)
添加正则项以后,目标函数变为:
(Xw−y)T(Xw−y)+12αwTw
将普通方程的解从
w=(XTX)−1XTy
变为
w=(XTX+αI)−1XTy
αI 矩阵的对角项对应着每个输入特征的方差。因此,协方差较小的特征的权重将会相对被收缩的厉害一些。
L1 参数正则化
2范数的权重衰减是正则化的最常见的形式,同样还有1范数
具体的成本函数为:
J~(w;X,y)=α||w||1+J(w;X,y)
同样,若
w∗
为不带正则化时,的最优解。那么:
wi=sign(w∗i)max{|w∗|−α/Hi,i,0}
所以:
- w∗i<=αHi,i 的情况。则正则化项将 wi 推向0
- w∗i>αHi,i 的情况。这种情况下,正则化项不会将w推向0,但是会让w在那个方向上移动。
相比 L1 正则化会产生更加稀疏的解,稀疏是指参数中含有更多的0值,2范数的正则化项不会导致参数变得更加的稀疏。