L1正则化和L2正则化

一、向量和矩阵的范数

范数是一个函数,常用来表示某个向量空间里(或矩阵)中的每个向量的长度或大小。

1.1 向量的范数

对于一个向量 x = ( x 1 , x 2 , . . . x n ) \boldsymbol{x}=(x_1,x_2,...x_n) x=(x1,x2,...xn),给出如下的范数定义:
0-范数 ∣ ∣ x ∣ ∣ 0 = ∑ i I ( x i ≠ 0 ) ||\boldsymbol{x}||_0=\sum_i I(x_i \neq 0) x0=iI(xi̸=0),表示向量中非零元素的个数,反映了向量元素的稀疏性
1-范数 ∣ ∣ x ∣ ∣ 1 = ∑ i ∣ x i ∣ ||\boldsymbol{x}||_1=\sum_i|x_i| x1=ixi,即向量各元素的绝对值之和
2-范数 ∣ ∣ x ∣ ∣ 2 = ( ∑ i x i 2 ) 1 / 2 ||\boldsymbol{x}||_2=(\sum_ix_i^2)^{1/2} x2=(ixi2)1/2,即向量各元素的根号平方和
∞ \infty -范数 ∣ ∣ x ∣ ∣ ∞ = m a x ( x i ) ||\boldsymbol{x}||_\infty=max(x_i) x=max(xi),即向量各元素中的最大值
− ∞ -\infty -范数 ∣ ∣ x ∣ ∣ − ∞ = m i n ( x i ) ||\boldsymbol{x}||_{-\infty}=min(x_i) x=min(xi),即向量各元素中的最小值
p p p-范数 ∣ ∣ x ∣ ∣ p = ( ∑ i x i p ) 1 / p ||\boldsymbol{x}||_p=(\sum_ix_i^p)^{1/p} xp=(ixip)1/p
不难发现, p p p数越大,越容易倾向于倾向大值,而忽略小值,导致对异常值的更加敏感(比如MSE比MAE对异常值更敏感)。随着 p p p的变化,范数的变化特点可通过下图直观体现出来:
范数p的变化

1.2 矩阵的范数

对于矩阵 A A A,其 i i i j j j列元素为 a i j a_{ij} aij,给出如下的范数定义
1-范数 ∣ ∣ A ∣ ∣ 1 = max ⁡ j ∑ i ∣ a i j ∣ ||A||_1=\max\limits_{j}\sum\limits_i|a_{ij}| A1=jmaxiaij,也称列和范数,即矩阵各列中元素绝对值之和最大的值
2-范数 ∣ ∣ A ∣ ∣ 2 = max ⁡ λ i ||A||_2=\max\lambda_i A2=maxλi λ i \lambda_i λi为矩阵特征值,即矩阵的最大特征值,几何意义上表示矩阵主特征方向的拉伸比例,也称谱范数
∞ \infty -范数 ∣ ∣ A ∣ ∣ ∞ = max ⁡ i ∑ j ∣ a i j ∣ ||A||_\infty=\max\limits_{i}\sum\limits_j|a_{ij}| A=imaxjaij,也称行和范数,即矩阵各行中元素绝对值之和最大的值
F-范数 ∣ ∣ A ∣ ∣ F = ( ∑ i , j a i j 2 ) 1 / 2 ||A||_F=(\sum\limits_{i,j}a_{ij}^2)^{1/2} AF=(i,jaij2)1/2,即矩阵各元素根号平方和
核-范数 ∣ ∣ A ∣ ∣ ∗ = ∑ i λ i ||A||_*=\sum\limits_i\lambda_i A=iλi,即矩阵各奇异值之和

二、正则化的初衷

设某个参数模型在训练样本上的经验损失函数为 J ( f ( ω ) ) J(f(\boldsymbol\omega)) J(f(ω)),当模型的复杂度超过数据真实的特征空间时,会发生过拟合问题。解决过拟合问题的一种重要手段为正则化(regularize),即通过限制 ω \boldsymbol\omega ω的取值范围来简化模型,降低模型的复杂度。
通过在经验损失函数中加入 ω \boldsymbol\omega ω限制函数的损失函数又被称为结构损失函数: L ( ω , λ ) = J ( f ( ω ) ) + Ω ( ω , λ ) L(\boldsymbol\omega,\lambda)=J(f(\boldsymbol\omega))+\Omega(\boldsymbol\omega,\lambda) L(ω,λ)=J(f(ω))+Ω(ω,λ)

一种直观上的方法是减少 ω \boldsymbol\omega ω的个数,即添加参数的0-范数约束,但考虑到其不能求导,所以常采用参数的1-范数约束或/和2-范数约束,在取得类似效果的同时,保证损失函数求导的便利性,这两种约束形式被分别称为L1正则化L2正则化
L1正则化的损失函数: L ( ω , λ ) = J ( f ( ω ) ) + λ ∑ i ∣ w i ∣ L(\boldsymbol\omega,\lambda)=J(f(\boldsymbol\omega))+\lambda\sum\limits_i|w_i| L(ω,λ)=J(f(ω))+λiwi
L2正则化的损失函数: L ( ω , λ ) = J ( f ( ω ) ) + λ ∑ i w i 2 L(\boldsymbol\omega,\lambda)=J(f(\boldsymbol\omega))+\lambda\sum\limits_iw_i^2 L(ω,λ)=J(f(ω))+λiwi2
此外,还经常使用L1正则和L2正则的加权结果,即弹性网络:
α ∑ i ∣ w i ∣ + β ∑ i w i 2 \alpha\sum\limits_i|w_i|+\beta\sum\limits_iw_i^2 αiwi+βiwi2

三、从带约束的优化问题角度理解正则化

为什么通过添加合理的参数约束函数,就可以达到简化模型的目的?
一种直观的解释(见下图)是:训练样本中存在各类噪声值,导致数据波动很大,如果单纯的降低经验损失,很容易让模型计入噪声信息,表现在参数上即参数数量的增加和参数值的增大。通过L1正则化和L2正则化等正则化方法,可以对过多的参数和过大的参数达到惩罚,从而在经验损失值和模型的复杂度得到折中,而较简单的模型往往泛化能力更好。
过拟合的正则化约束
上面的解释从数学上来看,可以表示为带约束的优化问题:
m i n J ( f ( ω ) ) s . t . Ω ( ω ) ) &lt; = C min\quad J(f(\boldsymbol\omega))\\s.t. \quad \Omega(\boldsymbol\omega))&lt;=C minJ(f(ω))s.t.Ω(ω))<=C
其中 C C C取决于对参数惩罚的权重,惩罚越大, C C C越小。对于线性模型,可以将 C C C进行归一化,并不影响最后模型的效果。

3.1 L1正则化的最优化问题

L1正则对应的优化问题为:
m i n J ( f ( ω ) ) s . t . ∑ ∣ w i ∣ &lt; = C min\quad J(f(\boldsymbol\omega))\\s.t. \quad \sum|w_i|&lt;=C minJ(f(ω))s.t.wi<=C
J J J为凸函数时,等效于求解如下的最优化问题:
m i n J ( f ( ω ) ) + λ ( ∑ ∣ w i ∣ − C ) min\quad J(f(\boldsymbol \omega)) + \lambda(\sum|w_i|-C) minJ(f(ω))+λ(wiC)
其中 λ &gt; 0 \lambda&gt;0 λ>0
其梯度为 ∂ J ∂ w i + λ s i g n ( w i ) \frac{\partial J}{\partial w_i}+\lambda sign(w_i) wiJ+λsign(wi),因此参数迭代公式为: w i : = w i − μ ( ∂ J ∂ w i + λ s i g n ( w i ) ) w_i:=w_i-\mu(\frac{\partial J}{\partial w_i}+\lambda sign(w_i)) wi:=wiμ(wiJ+λsign(wi))
注意到当 w i &gt; 0 w_i&gt;0 wi>0时, w i w_i wi随着迭代值减小;而当 w i &lt; 0 w_i&lt;0 wi<0时, w i w_i wi随着迭代值增大。即参数趋向于0,意味着特征趋向于稀疏化。

从二维几何的角度来看(见下图),原型表示损失函数 J J J的等值线,而四边形为L1正则项。通过限制参数 w 1 , w 2 w_1,w_2 w1,w2在四边形边和内部变动,最优解 w ∗ w^* w更趋向于取四边形的顶点(即 s i g n w i signw_i signwi的不可导处),从而导致某些参数取0。所以L1正则会是特征稀疏化,在一定程度上天然的有着特征选择(嵌入式)的功能。
L1正则的几何解释

3.2 L2正则化的最优化问题

L2正则对应的优化问题为:
m i n J ( f ( ω ) ) s . t . ∑ w i 2 &lt; = C min\quad J(f(\boldsymbol\omega))\\s.t. \quad \sum w_i^2&lt;=C minJ(f(ω))s.t.wi2<=C
J J J为凸函数时,等效于求解如下的最优化问题:
m i n J ( f ( ω ) ) + λ ( ∑ w i 2 − C ) min\quad J(f(\boldsymbol \omega)) + \lambda(\sum w_i^2-C) minJ(f(ω))+λ(wi2C)
其中 λ &gt; 0 \lambda&gt;0 λ>0
其梯度为 ∂ J ∂ w i + λ s i g n ( w i ) \frac{\partial J}{\partial w_i}+\lambda sign(w_i) wiJ+λsign(wi),因此参数迭代公式为: w i : = w i − μ ( ∂ J ∂ w i + 2 λ w i ) w_i:=w_i-\mu(\frac{\partial J}{\partial w_i}+2\lambda w_i) wi:=wiμ(wiJ+2λwi)
可见参数在迭代过程中,由于考虑了L2正则化项 2 μ λ w i 2\mu \lambda w_i 2μλwi,所以下降速度更快。即L2正则化会使得参数更加光滑。
从二维几何的角度来看(见下图),原型表示损失函数 J J J的等值线,而圆形为L2正则项。通过限制参数 w 1 , w 2 w_1,w_2 w1,w2在圆形边和内部变动,最优解 w ∗ w^* w更趋向于正则化边界圆形处切线与损失函数 J J J等值线切线同方向的区域,使得 w 1 , w 2 w_1,w_2 w1,w2取值更小、更均衡。
L2正则化的几何解释

四、从最大后验概率角度理解正则化

对正则化的另一种理解来源于贝叶斯框架的参数最大后验概率,所谓的贝叶斯框架即“后验=先验+证据/数据”。在后面的朴素贝叶斯方法中会做详细介绍,这里做直接的使用。
在贝叶斯框架下,机器学习模型参数的后验概率可表示成:
P ( ω ∣ D ) = P ( ω ) P ( D ∣ ω ) P ( D ) P(\boldsymbol \omega|D)= \frac{P(\boldsymbol \omega)P(D|\boldsymbol \omega)}{P(D)} P(ωD)=P(D)P(ω)P(Dω)
其中 P ( D ) P(D) P(D)为数据的固有属性(与参数无关的定值),可不考虑,即:
P ( ω ∣ D ) ∼ P ( ω ) P ( D ∣ ω ) P(\boldsymbol \omega|D) \sim P(\boldsymbol \omega)P(D|\boldsymbol \omega) P(ωD)P(ω)P(Dω)
其中 P ( D ∣ ω ) P(D|\boldsymbol \omega) P(Dω)反映了模型的能力,与模型切身相关(可参见线性回归(一)基础理论中的相关论述),而 P ( ω ) P(\boldsymbol \omega) P(ω)则是关于参数本身的先验概率,即对参数的某种约束。

4.1 L1正则化的贝叶斯视角

在L1正则中,先验假设参数符合拉普拉斯分布。
先简单介绍下拉普拉斯分布。如果随机变量的概率密度函数分布为:
f ( x ∣ μ , b ) = 1 2 b e x p ( − ∣ x − μ ∣ b ) f(x|\mu, b)=\frac{1}{2b}exp{(-\frac{|x-\mu|}{b})} f(xμ,b)=2b1exp(bxμ)
则称为拉普拉斯分布。其中 μ \mu μ为期望, b b b为振幅。
拉普拉斯分布
假设各参数独立,并满足Laplace(0,1)的先验概率,则参数的最大后验似然函数可表示成:
L ( ω ∣ D ) = P ( D ∣ ω ) ∏ P ( w i ) = P ( D ∣ ω ) ∏ i e x p − ∣ w i ∣ L(\boldsymbol \omega|D)=P(D|\boldsymbol \omega)\prod P(w_i)=P(D|\boldsymbol \omega)\prod\limits_{i}exp^{-|w_i|} L(ωD)=P(Dω)P(wi)=P(Dω)iexpwi
对应的对数似然函数为:
l n L ( ω ∣ D ) = l n P ( D ∣ ω ) + ∑ i − ∣ w i ∣ lnL(\boldsymbol \omega|D)=lnP(D|\boldsymbol \omega)+\sum\limits_i-|w_i| lnL(ωD)=lnP(Dω)+iwi
右端第二项即为L1正则项。

4.2 L2正则化的贝叶斯视角

在L2正则中,先验假设参数符合高斯分布。
假设各参数独立,并满足标准正态分布 N ( 0 , 1 ) N(0,1) N(0,1)的先验概率,则参数的最大后验似然函数可表示成:
L ( ω ∣ D ) = P ( D ∣ ω ) ∏ P ( w i ) = P ( D ∣ ω ) ∏ i e x p − w i 2 L(\boldsymbol \omega|D)=P(D|\boldsymbol \omega)\prod P(w_i)=P(D|\boldsymbol \omega)\prod\limits_{i}exp^{-w_i^2} L(ωD)=P(Dω)P(wi)=P(Dω)iexpwi2
对应的对数似然函数为:
l n L ( ω ∣ D ) = l n P ( D ∣ ω ) + ∑ i w i 2 lnL(\boldsymbol \omega|D)=lnP(D|\boldsymbol \omega)+\sum\limits_iw_i^2 lnL(ωD)=lnP(Dω)+iwi2
右端第二项即为L2正则项。

五、总结

正则化通过在原始损失函数的基础上添加参数的约束函数,将参数估计朝零的方向进行约束、调整或缩小。通过正则化可以在学习过程中,有效降低模型复杂度和不稳定程度,从而避免过拟合的危险。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值