改善过拟合——权重衰减

解决过拟合问题的方法之一是权重衰减

方法

权重衰减等价于L2范数正则化(regularization)。
正则化通过为模型损失函数添加惩罚项使训练出的模型参数值较小,是应对过拟合的常用手段。
以线性回归为例,介绍什么是L2范数正则化

L2范数正则化

L2范数正则化在模型原损失函数基础上添加L2范数惩罚项,从而得到训练所需要最小化的函数。L2范数惩罚项指的是模型权重参数每个元素的平方和与一个正的常数的乘积,设原损失函数为 l o s s ( ω , b ) loss(\omega ,b) loss(ω,b),则带有L2范数惩罚项的新损失函数为
n e w l o s s ( ω , b ) = l o s s ( ω , b ) + λ 2 n ∥ ω ∥ 2 newloss(\omega ,b)=loss(\omega ,b)+\frac{\lambda }{2n}\left \| \omega \right \|^2 newloss(ω,b)=loss(ω,b)+2nλω2
其中n为样本数,1/2是为了求导方便加入的常数值。
其中超参数 λ \lambda λ大于0。当权重参数均为0时,惩罚项最小。当 ? 较大时,惩罚项在损失函数中的比重较大,这通常会使学到的权重参数的元素较接近0。当 ? 设为0时,惩罚项完全不起作用。
实际场景中,有时也在惩罚项中添加偏差元素的平方和。
采用新的损失函数,则 ω \omega ω的迭代方式为
ω = ( 1 − η λ ∣ B ∣ ) ω − η ∣ B ∣ l o s s ′ ( w ) \omega =(1-\frac{\eta\lambda }{\left | B\right |})\omega - \frac{\eta }{|B|}loss'(w) ω=(1Bηλ)ωBηloss(w)
其中 η \eta η为学习率,B表示批量大小。
L2范数正则化令权重先自乘小于1的数,再减去不含惩罚项的梯度。因此,L2范数正则化又叫权重衰减。权重衰减通过惩罚绝对值较大的模型参数为需要学习的模型增加了限制,这可能对过拟合有效。

你可能感兴趣的:(deep,learning)