深度学习基础之正则化


文章目录

  • 概述
    • 1、正则化的定义
    • 2、正则化的理解
  • 一、正则化分析
    • 1、L2参数正则化(岭回归Ridge )
    • 2、L1参数正则化(Lasso)
  • 二、L1,L2的总结
    • 1、L1,L2正则化的选择
    • 2、 总结


概述

1、正则化的定义

**正则化技术广泛应用在机器学习和深度学习算法中,本质作用是防止过拟合、提高模型泛化能力。**过拟合简单理解就是训练的算法模型太过复杂了,过分考虑了当前样本结构。其是防止过拟合的其中一种技术手段。

在早期的机器学习领域一般只是将范数惩罚叫做正则化技术,而在**深度学习领域认为:**能够显著减少方差,而不过度增加偏差的策略都可以认为是正则化技术,故推广的正则化技术还有:扩增样本集、早停止、Dropout、集成学习、多任务学习、对抗训练、参数共享等(详细可以参见“花书”),这里,仅讲解 L 1 L_1 L1, L 2 L_2 L2正则化。

2、正则化的理解

对于机器学习领域正则化技术可以从以下几个不同角度进行理解:

(1) 正则化等价于结构风险最小化,其是通过在经验风险项后加上表示模型复杂度的正则化项或惩罚项,达到选择经验风险和模型复杂度都较小的模型目的。

经验风险:机器学习中的风险是指模型与真实解之间的误差的积累,经验风险是指使用训练出来的模型进行预测或者分类,存在多大的误差,可以简单理解为训练误差,经验风险最小化即为训练误差最小。

结构风险:结构风险定义为经验风险与置信风险(置信是指可信程度)的和,置信风险越大,模型推广能力越差。可以简单认为结构风险是经验风险后面多加了一项表示模型复杂度的函数项,从而可以同时控制模型训练误差和测试误差,结构风险最小化即为在保证模型分类精度(经验风险)的同时,降低模型复杂度,提高泛化能力。

公式表达
R ( f ) = 1 n ∑ i = 1 n L ( y i , f ( x i ) ) + λ Ω ( f ) R(f)=\frac{1}{n}\sum_{i=1}^{n}L(y_i,f(x_i))+\lambda\Omega (f) R(f)=n1i=1nL(yi,f(xi))+λΩ(f)

其中, R ( f ) R(f) R(f)表示结构风险, L ( y i , f ( x i ) ) L(y_i,f(x_i)) L(yi,f(xi))表示第 i i i个样本的经验风险, Ω ( f ) \Omega (f) Ω(f)表示模型复杂度的正则项, λ \lambda λ是正则化参数。而模型的泛化能力强、泛化误差小,即表示模型推广能力强,通俗的理解就是在训练集中训练得到的优秀模型能够很好的适用于实际测试数据,而不仅仅是减少训练误差或者测试误差。

泛化误差定义如下:
E = B i a s 2 ( X ) + V a r ( X ) + N o i s e E=Bias^2(X)+Var(X)+Noise E=Bias2(X)+Var(X)+Noise

其中, E E E表示泛化误差, B i a s Bias Bias表示偏差, V a r Var Var代表方差, N o i s e Noise Noise代表噪声。
深度学习基础之正则化_第1张图片
从上图可以看出,随着训练程度加深,模型复杂度会增加,偏差减少,方差增大,而泛化误差呈现U型变化,对于一个“好的系统”通常要求误差小,正则化的作用即为适当的控制模型复杂度,从而使得泛化误差曲线取最小值。

  • 偏差: 描述模型输出结果的期望与样本真实结果的差距。
  • 方差: 描述模型对于给定值的输出稳定性。

(2) 正则化等价于带约束的目标函数中的约束项

以平方误差损失函数和 L 2 L2 L2范数为例,优化问题的数学模型如下:
J ( θ ) = ∑ i = 1 n ( y i − θ T x i ) 2 J(\theta )=\sum_{i=1}^n(y_i-\theta^Tx_i)^2 J(θ)=i=1n(yiθTxi)2

s . t . ∣ ∣ θ ∣ ∣ 2 2 < C s.t. ||\theta||_2^2<C s.t.θ22<C

针对上述带约束条件的优化问题,采用拉格朗日乘积算子法可以转化为无约束优化问题,即:
J ( θ ) = ∑ i = 1 n ( y i − w T x i ) 2 + λ ( ∣ ∣ θ ∣ ∣ 2 2 − C ) J(\theta)=\sum_{i=1}^n(y_i-w^Tx_i)^2+\lambda(||\theta||_2^2-C) J(θ)=i=1n(yiwTxi)2+λ(θ22C)

由于参数C为常数,可以忽略,故上述公式和标准的正则化公式完全一致。

(3) 从贝叶斯角度考虑,正则项等价于引入参数的模型先验概率,可以简单理解为对最大似然估计引入先验概率,从而转化为最大后验估计,其中的先验概率即对于正则项。

一、正则化分析

正则化也可以称为规则化、权重衰减技术,不同的领域叫法不一样,数学上常称为范数,例如 L 1 L1 L1, L 2 L2 L2范数。

1、L2参数正则化(岭回归Ridge )

使用L2正则化的模型叫做Ridge回归。

最常见的参数惩罚是通常被称为权重衰减(weight decay)的L2参数范数惩罚。即向目标函数添加一个正则项 Ω ( θ ) = 1 2 ∣ ∣ ω ∣ ∣ 2 2 Ω(θ)=\frac{1}{2}||ω||^2_2 Ω(θ)=21ω22。L2也被称为岭回归。

J ( β ) = ∑ i = 1 n ( y i − β T x i ) 2 + λ ∣ ∣ β ∣ ∣ 2 2 J(\beta)=\sum_{i=1}^n(y_i-\beta^Tx_i)^2+\lambda||\beta||_2^2 J(β)=i=1n(yiβTxi)2+λβ22

解析解为:
β ^ = ( X T X + λ I ) − 1 X T y \hat\beta=(X^TX+\lambda I)^{-1}X^Ty β^=(XTX+λI)1XTy
深度学习基础之正则化_第2张图片
上图中,蓝色的圆形空间表示 L 2 L2 L2范数空间,设为 β 1 2 + β 2 2 = r 2 \beta^2_1+\beta^2_2=r^2 β12+β22=r2,可以看出,当 r r r从0逐渐增大时,该圆形也逐渐增大,红色的线表示原始代价函数解空间,即 ∑ i = 1 n ( y i − β T x i ) 2 \sum_{i=1}^n(y_i-\beta^Tx_i)^2 i=1n(yiβTxi)2,为了绘图方便,设置了参数只有二维。红色圆环上的任何一点都表示一个可行解,即代表一组 β 1 , β 2 \beta_1,\beta_2 β1,β2,其中任何一个红色圆环上面的 β 1 , β 2 \beta_1,\beta_2 β1,β2对应的代价函数值一样(可以理解为等值线), β ^ \hat\beta β^代表最佳解空间。

当正则项 β 1 2 + β 2 2 = r 2 \beta^2_1+\beta^2_2=r^2 β12+β22=r2和原代价函数项 ∑ i = 1 n ( y i − β T x i ) 2 \sum_{i=1}^n(y_i-\beta^Tx_i)^2 i=1n(yiβTxi)2这两个空间有交集时,即代表了一个 J ( θ ) J(\theta) J(θ)的解。当不存在正则项时, λ \lambda λ为0, J ( θ ) J(\theta) J(θ)的解即为 ∑ i = 1 n ( y i − β T x i ) 2 \sum_{i=1}^n(y_i-\beta^Tx_i)^2 i=1n(yiβTxi)2的解,表示原始解空间没有任何约束,通过样本集训练,不容易直接收敛到最优值 β ^ \hat\beta β^,出现过拟合。然而,在增加了正则项后,随着不断增加 r r r取值,原始的解空间会不断被压缩。如果选择合适的 λ \lambda λ,则可以将最优点压缩到 β ^ \hat\beta β^处,从而得到合适的模型。上面就是 L 2 L2 L2范数正则可以避免出现过拟合的示意图。

2、L1参数正则化(Lasso)

使用L1正则化的模型建叫做Lasso回归,Lasso的稀疏结果可以用来进行特征选择,选择非零的维度。

稀疏性在提高模型的准确性以及降低过拟合方面都很有作用。

稀疏约束。L0最直观,约束非0元素的个数不大于k。但0范式不连续且非凸,是一个组合优化问题,找出目标函数最小值对应的系数组合为一个NP问题。

L1是L0范式的最优凸近似,也可以达到稀疏的效果。

J ( β ) = ∑ i = 1 n ( y i − β T x i ) 2 + λ ∑ j = 1 d ∣ ∣ β ∣ ∣ J(\beta)=\sum_{i=1}^n(y_i-\beta^Tx_i)^2+\lambda\sum_{j=1}^d||\beta|| J(β)=i=1n(yiβTxi)2+λj=1dβ

深度学习基础之正则化_第3张图片
同上述 L 2 L2 L2分析一致, L 1 L1 L1范数对应的解空间图像为菱形,作用和 L 2 L2 L2一致。
需要注意的是: L 2 L2 L2范数与原代价函数的交点处所得的参数 β \beta β可以无限缩小,但不一定会为0。然而 L 1 L1 L1范数与原代价函数的交点一般在坐标轴上,从而使得某些 β i = 0 \beta_i=0 βi=0,得到稀疏解(当然,并没有绝对保证一定交于坐标轴,但是通过实验可以发现,大部分可以得到稀疏解)。如果使用 L 0 L0 L0范数正则,则可以保证一定得到稀疏解,但是由于 L 0 L0 L0范数的实际求解是NP问题,难以计算,所以在实际应用中一般都是采用 L 1 L1 L1范数代替 L 0 L0 L0范数得到稀疏解,可以简单认为: L 1 L1 L1范数是 L 0 L0 L0范数的凸近似。

二、L1,L2的总结

通过可视化可以很明显的发现,使用L1正则化在取得最优解的时候 β 1 \beta_1 β1的值为0,相当于去掉了这一个特征。而使用L2正则化在取得最优解的的时候其都有值。

1、L1,L2正则化的选择

L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。L1在特征选择时候非常有用,而L2就只是一种规则化而已。在所有特征中只有少数特征起重要作用的情况下,选择L1比较合适,因为它能自动选择特征。而如果所有特征中,大部分特征都能起作用,而且起的作用很平均,那么使用L2也许更合适。

2、 总结

  • 正则化的作用是防止过拟合、提高模型泛化能力;
  • 正则化等价于结构风险最小化;
  • 正则化等价于带约束的目标函数中的约束项;
  • 正则项等价于引入参数的模型先验概率;
  • 从贝叶斯先验的角度看,当训练一个模型时,仅依靠当前的训练数据集是不够的,为了实现更好的泛化能力,往往需要加入先验项,而加入正则项相当于加入了一种先验;
  • L0和L1正则可以得到稀疏解,而L2不能,并且参数优化速度L1快于L2,但是L2更容易理解,计算更方便;
  • L1范数相当于加入了一个Laplacean先验,可以保证模型的稀疏性,也就是某些参数等于0;L2范数相当于加入了一个Gaussian先验,可以保证模型的稳定性,也就是参数的值不会太大或太小;
  • L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归。
    深度学习基础之正则化_第4张图片
    正则化方法一般都是不对偏移项进行正则的,原因是它们也没有和数据直接有乘法等交互,其不会影响到最后结果中某个数据维度的作用,如果你执意要对其进行正则化,也是可以的,对结果没有多少影响。

你可能感兴趣的:(机器学习,深度学习,数据挖掘与数据竞赛,深度学习,机器学习,正则化,规范化)