正则化
(1) 正则化Regularization
1) 正则化(Regularization)对参数w的影响
-
为了使LOSS’最小,w2部分要求w的值尽量平衡(why),和LOSS共同影响w变化。
-
正则化中将保留所有的特征变量,但是会减小特征变量的数量级(参数数值的大小)
控制在两个不同的目标中的平衡关系。使得权重衰减!
【说明】:LOSS’代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项.在这里并没有除以样本数量和2,是因为使用了绝对值误差。一般情况下, L O S S ′ = ( y − y ˉ ) 2 + λ 2 n ∣ ∣ w ∣ ∣ 2 LOSS^{'}=(y-\bar{y})^2+\frac{\lambda}{2n} {||w||}^2 LOSS′=(y−yˉ)2+2nλ∣∣w∣∣2正则项为: λ 2 n ∣ ∣ w ∣ ∣ 2 \frac{\lambda}{2n} {||w||}^2 2nλ∣∣w∣∣2 ,这是除以2是为了求导的时候计算方便。
2) 什么是weight decay?和正则化有何联系
正则项是模型复杂度的单调递增函数,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。
首先,假设我们有Loss function为
E
(
w
)
E(w)
E(w)
梯度下降算法告诉我们,为了最小化loss function为 ,要在 E的最快速下降的方向修改权值:
w
i
=
w
i
−
η
∂
E
∂
w
i
w_i=w_i- \eta \frac{\partial E}{\partial w_i}
wi=wi−η∂wi∂E
这里
η
\eta
η为学习率,学习率越大则对应的权重 修改也越大。
为了防止过拟合,在Loss function上加上正则项(惩罚项),一种简单的方法是通过在权重上引入一零均值高斯项。
E
(
w
)
=
E
(
w
)
+
λ
∣
∣
w
∣
∣
2
E(w)=E(w)+\lambda||w||^2
E(w)=E(w)+λ∣∣w∣∣2
这里,λ为正则化参数。正则项是模型复杂度的单调递增函数,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。
应用梯度下降算法到这个新的cost函数,我们得到:
w
i
=
w
i
−
η
∂
E
∂
w
i
−
2
λ
w
i
w_i=w_i- \eta \frac{\partial E}{\partial w_i}-2\lambda w_i
wi=wi−η∂wi∂E−2λwi
这新的一项
−
2
λ
w
i
-2\lambda w_i
−2λwi 起到的就是正则化的作用,使得权重与其大小成比例衰减。因为不添加正则化之前w的系数是1,现在是
(
1
−
2
λ
)
(1-2\lambda)
(1−2λ) ,
λ
\lambda
λ很小,所以w的系数此时小于1,更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀)
【一个完美的解释】
过拟合的时候,拟合函数的系数往往非常大,为什么?如下图所示,过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。
而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。
[参考]:http://blog.csdn.net/u012162613/article/details/44261657