花书学习--深度学习中的正则化

7 深度学习中的正则化

机器学习中的一个核心问题是设计不仅在训练数据上表现好,而且能在新的输入上泛化好的算法。在机器学习中,许多策略被显式地设计来减少测试误差,这些策略被统称为正则化

Q:为什么需要正则化?

在实践中,过于复杂的模型族不一定包括目标函数或真实数据的生成过程,甚至也不包括近似过程。我们很难知道数据的生成过程,所以很难确定模型族是否包含数据的生成过程。 如图像、视频文本等,本质上这些领域的真实生成过程涉及模拟整个宇宙,所以很难控制模型的复杂度来找到合适的模型。

相反,在实际的深度学习应用场景中,我们几乎总会发现最好的拟合模型是一个适当正则化的大型模型

7.1 参数范数惩罚

对目标函数进行参数范数惩罚:
J ^ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) \hat{J}(\theta;X,y)=J(\theta;X,y)+\alpha\Omega(\theta) J^(θ;X,y)=J(θ;X,y)+αΩ(θ)
J J J是目标函数, J ^ \hat{J} J^是正则化后的目标函数, α \alpha α是正则化项的超参数, Ω ( θ ) \Omega(\theta) Ω(θ)是参数范数惩罚。

我们一般只对权重 w w w进行惩罚,而不对偏置进行惩罚。精确拟合偏置所需要的数据量通常要比拟合权重少得多。每个权重会指定两个变量如何相互作用,我们需要在各种条件下观察这两个变量才能更好地拟合权重。而每个偏置仅控制一个单变量。这意味着我们不对其进行正则化也不会导致太大的方差。另外,正则化偏置参数可能会导致明显的欠拟合。因此,我们使用向量 w w w表示所有应受范数惩罚影响的权重,而向量 θ \theta θ表示所有参数(包括 w w w和无需正则化的参数)。

7.11 L 2 L^2 L2参数正则化

Ω ( θ ) = 1 2 ∣ ∣ w ∣ ∣ 2 \Omega(\theta)=\frac{1}{2}||w||^2 Ω(θ)=21w2
也被称为岭回归或Tikhonov正则。
目标函数变为:
J ^ ( θ ; X , y ) = J ( θ ; X , y ) + α 1 2 ∣ ∣ w ∣ ∣ 2 \hat{J}(\theta;X,y)=J(\theta;X,y)+\alpha\frac{1}{2}||w||^2 J^(θ;X,y)=J(θ;X,y)+α21w2
与之对应的梯度为
∇ w J ^ ( θ ; X , y ) = α w + ∇ w J ( w ; X , y ) \nabla_w\hat{J}(\theta;X,y)=\alpha w+\nabla_wJ(w;X,y) wJ^(θ;X,y)=αw+wJ(w;X,y)
使用单步梯度下更新权重,即执行以下更新:
w ← w − ϵ ( α w + ∇ w J ( w ; X , y ) ) w \leftarrow w-\epsilon (\alpha w+\nabla_wJ(w;X,y)) wwϵ(αw+wJ(w;X,y))
换一种写法是
w ← ( 1 − ϵ α ) w − ϵ ∇ w J ( w ; X , y ) w \leftarrow (1-\epsilon \alpha)w-\epsilon \nabla_wJ(w;X,y) w(1ϵα)wϵwJ(w;X,y)
我们可以看到,加入权重衰减之后在对权重更新之前首先会收缩权重向量。

w ∗ w^* w为未正则化的目标函数取得最小训练误差时的权重向量,即 w ∗ = a r g m i n w J ( w ) w^*=arg min_wJ(w) w=argminwJ(w),并在 w ∗ w^* w的邻域对目标函数做二次近似。如果目标函数确实是二次的,则该近似是完美的。近似的 J ^ ( θ ) \hat{J}(\theta) J^(θ)如下

J ^ ( θ ) = J ( w ∗ ) + 1 / 2 ( w − w ∗ ) T H ( w − w ∗ ) \hat{J}(\theta)=J(w^*)+1/2(w-w^*)^TH(w-w^*) J^(θ)=J(w)+1/2(ww)TH(ww)
其中 H H H J J J w ∗ w^* w处计算的 H e s s i a n Hessian Hessian矩阵(关于 w w w)。因为 w ∗ w^* w被定义为最优,即梯度消失为0,所以在该二次近似中没有一阶项。同样地,因为 w ∗ w^* w J J J的一个最优点,我们可以得出 H H H是半正定的结论。
J ^ \hat{J} J^取最小值时,梯度为0,即
∇ J ^ ( w ) = H ( w − w ∗ ) = 0 \nabla \hat{J}(w)=H(w-w^*)=0 J^(w)=H(ww)=0

矩阵求导的复习
y = 1 / 2 ( w − w ∗ ) T H ( w − w ∗ ) y=1/2(w-w^*)^TH(w-w^*) y=1/2(ww)TH(ww)
d y = t r ( d y ) = 1 / 2 t r ( d ( w − w ∗ ) T H ( w − w ∗ ) + ( w − w ∗ ) T H d ( w − w ∗ ) ) dy=tr(dy)=1/2tr(d(w-w^*)^TH(w-w^*)+(w-w^*)^THd(w-w^*)) dy=tr(dy)=1/2tr(d(ww)TH(ww)+(ww)THd(ww))
利用 t r ( A B ) = t r ( B A ) , t r ( A ) = t r ( A T ) tr(AB)=tr(BA),tr(A)=tr(A^T) tr(AB)=tr(BA),tr(A)=tr(AT)进行化简
d y = 1 / 2 t r ( w T ( H T + H ) d w ) dy=1/2tr(w^T(H^T+H)dw) dy=1/2tr(wT(HT+H)dw)
d y / d w = 1 / 2 ( H T + H ) w dy/dw=1/2(H^T+H)w dy/dw=1/2(HT+H)w
H T = H H^T=H HT=H时, d y / d w = H w dy/dw=Hw dy/dw=Hw

</
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值