正则化方法

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

L1正则化(ℓ1 -norm)

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

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

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

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

L2正则化(ℓ2 -norm)

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

损失函数正则化方法

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

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

(9)=(1ηλ)θηi=1mCiθ\tag{9}=(1-\eta \lambda )\theta - \eta \sum_{i=1}^{m}\frac{\partial C_i}{\partial \theta}

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

相关文章:

  • 2021-05-09
  • 2022-12-23
  • 2021-04-26
  • 2021-04-20
  • 2021-09-25
  • 2022-01-01
  • 2021-09-23
猜你喜欢
  • 2021-09-21
  • 2021-10-19
  • 2021-08-30
  • 2021-12-21
  • 2021-09-21
  • 2021-08-19
  • 2021-10-23
相关资源
相似解决方案