损失函数正则化方法

正则化方法

为防止模型过拟合,提高模型的泛化能力,通常会在损失函数的后面添加一个正则化项。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓【惩罚】是指对损失函数中的某些参数做一些限制

L1正则化(ℓ1 -norm)

使用L1正则化的模型建叫做Lasso Regularization(Lasso回归),直接在原来的损失函数基础上加上权重参数的绝对值, η \eta η为正则化参数:
假设损失函数为 (1) J 0 = ∑ i = 1 m ( y ( i ) − θ 0 − θ 1 X 1 ( i ) − θ 2 X 2 ( i ) − ⋯ − θ n X n ( i ) ) \tag{1}J_0=\sum_{i=1}^{m}(y^{(i)}-\theta_0-\theta_1X_1^{(i)}-\theta_2X_2^{(i)}-\cdots-\theta_nX_n^{(i)}) J0=i=1m(y(i)θ0θ1X1(i)θ2X2(i)θnXn(i))(1)则Lasso Regularization为:
(2) J = J 0 + η ∑ i = 1 m ∣ θ ∣ \tag{2}J=J_0+\eta \sum_{i=1}^{m}|\theta| J=J0+ηi=1mθ(2)
J J J 是带有绝对值符号的函数,因此 J J J是不完全可微的。当我们在原始损失函数 J 0 J_0 J0后添加 L 1 L_1 L1正则化项时,相当于对 J 0 J_0 J0做了一个约束。令 L 1 = η ∑ i = 1 m ∣ θ ∣ L_1=\eta\sum_{i=1}^{m}|\theta| L1=ηi=1mθ,则 J = J 0 + L 1 J=J_0+L_1 J=J0+L1,此时我们的任务变成在 L L L约束下求出 J J J取最小值的解。
η \eta η 被称为正则化系数.

下面通过图像来说明如何在约束条件 L 1 L_1 L1下求 J J J的最小值。
在这里插入图片描述
最终的损失函数就是求等高圆圈+黑色黑色矩形的和的最小值。由图可知等高圆圈+黑色黑色矩形首次相交时, J J J取得最小值。
为什么 L 1 L_1 L1正则化项能够防止过拟合的情况?
对损失函数的参数优化求解过程进行分析
(3) ∂ C ∂ θ = ∂ C 0 ∂ θ + λ s g n ( θ ) \tag{3}\frac{\partial C}{\partial \theta}=\frac{\partial C_0}{\partial \theta}+\lambda sgn(\theta) θC=θC0+λsgn(θ)(3)

上式中 s g n ( θ ) sgn(\theta) sgn(θ)表示 θ \theta θ的符号。那么权重 θ \theta θ的更新规则为:
(4) θ → θ − η ∑ i = 1 m ∂ C i ∂ θ − η λ s g n ( θ ) \tag{4}\theta \rightarrow \theta - \eta\sum_{i=1}^{m} \frac{\partial C_i}{\partial \theta}-\eta \lambda sgn(\theta) θθηi=1mθCiηλsgn(θ)(4)

比原始的更新规则多出了 η λ s g n ( θ ) η λ sgn(\theta) ηλsgn(θ)这一项。当 θ \theta θ为正时,更新后的 θ \theta θ变小。当 θ \theta θ为负时,更新后的 θ \theta θ变大——因此它的效果就是让 η \eta η往0靠,使网络中的权重尽可能为0,也就相当于减小了网络复杂度,防止过拟合。

L2正则化(ℓ2 -norm)

使用L2正则化的模型叫做Ridge Regularization(岭回归),直接在原来的损失函数基础上加上权重参数的平方和:
令损失函数为 J 0 J_0 J0,则Ridge Regularization为:
(5) J = J 0 + 1 2 η ∑ i = 1 n θ 2 \tag{5}J=J_0+\frac{1}{2}\eta \sum_{i=1}^{n}\theta^2 J=J0+21ηi=1nθ2(5)
使最终的损失函数最小,要考虑 J 0 J_0 J0 (6) L 2 = 1 2 η ∑ i = 1 n θ 2 \tag{6}L_2=\frac{1}{2}\eta \sum_{i=1}^{n} \theta^2 L2=21ηi=1nθ2(6)两个因素,最终的损失函数就是求等高 圆圈+黑色圆圈的和的最小值。由图可知两个圆相交时, J J J取得最小值。

在这里插入图片描述

为什么 L 2 L_2 L2正则化项能够防止过拟合的情况?
对损失函数的参数优化求解过程进行分析
(7) ∂ C ∂ θ = ∂ C 0 ∂ θ + λ θ \tag{7}\frac{\partial C}{\partial \theta}=\frac{\partial C_0}{\partial \theta}+\lambda \theta θC=θC0+λθ(7)

(8) ∂ C ∂ b = ∂ C ∂ b \tag{8}\frac{\partial C}{\partial b}=\frac{\partial C}{\partial b} bC=bC(8)
可以发现L2正则化项对b的更新没有影响,但是对于 θ \theta θ的更新有影响:
θ → θ − η ∑ i = 1 m ∂ C i ∂ θ − η λ θ \theta \rightarrow \theta - \eta\sum_{i=1}^{m} \frac{\partial C_i}{\partial \theta}-\eta \lambda \theta θθηi=1mθCiηλθ

(9) = ( 1 − η λ ) θ − η ∑ i = 1 m ∂ C i ∂ θ \tag{9}=(1-\eta \lambda )\theta - \eta \sum_{i=1}^{m}\frac{\partial C_i}{\partial \theta} =(1ηλ)θηi=1mθCi(9)

在不使用L2正则化时,求导结果中 θ \theta θ前系数为1,现在 θ \theta θ前面系数为 1 − η λ 1−ηλ 1ηλ ,因为η、λ都是正的,所以 1 − η λ 1−ηλ 1ηλ小于1,它的效果是减小 θ \theta θ,这也就是权重衰减(weight decay)的由来。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值