L1、L2正则化与稀疏性

禁止转载,谢谢!

1.正则化(Regularization)的基本概念

- 什么是正则化/如何进行正则化

  定义:在机器学习中正则化(regularization)是指在模型的损失函数中加上一个正则化项,也称为惩罚性(penalty term):
1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \frac{1}{N}\sum^{N}_{i=1}L(y_i,f(x_i))+\lambda J{(f)} N1i=1NL(yi,f(xi))+λJ(f)
  其中L为损失函数,J为正则化项, λ ≥ 0 \lambda \ge 0 λ0是系数,用以权衡经验风险和模型复杂度。通常来说,正则化项往往是关于模型参数的1-范数或者2-范数;也有这两者的某种结合,例如sklearn的逻辑回归中的弹性网正则化项。

  • 参数向量的l2范数:
    1 N ∑ i = 1 N ( y i , f ( x i ; w ) ) 2 + λ 2 ∥ w ∥ 2 \frac{1}{N}\sum^{N}_{i=1}(y_i,f(x_i;w))^2+\frac{\lambda}{2}\parallel{w}\parallel^2 N1i=1N(yi,f(xi;w))2+2λw2
    ∥ w ∥ 2 \parallel{w}\parallel^2 w2表示向量参数w的l2范数。

  • 参数向量的l1范数:
    1 N ∑ i = 1 N ( y i , f ( x i ; w ) ) 2 + λ ∥ w ∥ \frac{1}{N}\sum^{N}_{i=1}(y_i,f(x_i;w))^2+\lambda \parallel{w}\parallel N1i=1N(yi,f(xi;w))2+λw
    ∥ w ∥ \parallel{w}\parallel w表示向量参数w的l1范数。

  • 为何需要正则化

  一般来说,正则化核心的作用是缓解模型过拟合倾向,此外,由于加入正则化项后损失函数的形体发生了变化,因此也会影响损失函数的求解过程,在某些时候,加入了正则化项之后会让损失函数的求解变得更加高效。如岭回归,其实就是在线性回归的损失函数基础上加入了w的1-范数,而Lasso则是加入了w的2-范数。并且,对于逻辑回归来说,如果加入 l 2 l2 l2正则化项,损失函数就会变成严格的凸函数。

正则化符合奥卡姆剃刀(Occam‘s razor)原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型;从贝叶斯估计的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。

  • 正则化是如何缓解过拟合倾向

过拟合(over-fitting)是指学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测得很好,但因为训练数据本身存在噪音,因存在对未知数据预测很差的现象。

  在构建损失函数求最小值的过程,其实就是依据以往经验(也就是训练数据)追求风险最小(以往数据误差最小)的过程,而在给定一组参数后计算得出的损失函数的损失值,其实就是经验风险。而所谓结构风险,我们可以将其等价为模型复杂程度,模型越复杂,模型结构风险就越大。而正则化后的损失函数在进行最小值求解的过程中,其实是希望损失函数本身和正则化项都取得较小的值,即模型的经验风险和结构风险能够同时得到控制。

  模型的经验风险需要被控制不难理解,因为我们希望模型能够尽可能的捕捉原始数据中的规律,但为何模型的结构风险也需要被控制?核心原因在于,尽管在一定范围内模型复杂度增加能够有效提升模型性能,但模型过于复杂可能会导致另一个非常常见的问题——模型过拟合,但总的来说,一旦模型过拟合了,尽管模型经验风险在降低、但模型的泛化能力会下降。因此,为了控制模型过拟合倾向,我们可以把模型结构风险纳入损失函数中一并考虑,当模型结构风险的增速高于损失值降低的收益时,我们就需要停止参数训练(迭代)。

  • L1正则化为什么使得模型参数具有稀疏性呢

稀疏性:模型的很多参数为0,相当于对模型进行了一次特征选择,只留下一下比较重要的特征,提高模型的泛化能力。降低过拟合的可能。

(1)解空间形状

  在二维的情况下,黄色的部分是L2和L1正则项约束后的解空间,绿色的等高线是凸优化问题中目标函数的等高线,由图可知,L2正则项约束后的解空间是圆形,而L1正则项约束的解空间是多边形,而多边形的解空间更容易在尖角处与等高线碰撞出稀疏解。
在这里插入图片描述

问题引入:为什么加入正则项就是定义了解空间呢?为什么L1和L2的解空间是不同的呢?

  事实上,“带正则项”和“带约束条件”是等价的,为了约束w的可能取值空间从而防止过拟合,在最优化问题加上一个约束,就是w的L2范数的平方不能大于m:
{ m i n ∑ i = 1 N ( y i − w T x i ) 2 s . t ∣ ∣ w ∣ ∣ 2 2 ≤ m \left\{ \begin{aligned} min \sum^N_{i=1}(y_i - w^Tx_i)^2 \\ s.t ||w||_2^2 \le m \end{aligned} \right. mini=1N(yiwTxi)2s.tw22m
为了求解带约束条件的凸优化问题,引入拉格朗日函数:
∑ i = 1 N ( y i − w T x i ) 2 + λ ( ∣ ∣ w ∣ ∣ 2 2 − m ) \sum^N_{i=1}(y_i - w^Tx_i)^2 + \lambda( ||w||_2^2-m) i=1N(yiwTxi)2+λ(w22m)
w ∗ w^* w λ ∗ \lambda^* λ分别是原问题和对偶问题的最优解,则根据KKT条件,它们用满足:
{ 0 = ∇ w ( ∑ i = 1 N ( y i − w ∗ T x i ) 2 + λ ∗ ( ∣ ∣ w ∗ ∣ ∣ 2 2 − m ) 0 ≤ λ ∗ \left\{ \begin{aligned} 0 = \nabla _w ( \sum^N_{i=1}(y_i - w^{*T}x_i)^2+ \lambda^*( ||w^*||_2^2-m) \\ 0 \le \lambda^* \end{aligned} \right. 0=wi=1N(yiwTxi)2+λ(w22m)0λ

由以上式子可得: w ∗ w^* w为带L2正则项的优化问题的最优解的条件,而 λ ∗ \lambda^* λ就是L2正则项前面的正则参数。L2正则化相当于为参数定义了一个圆形的解空间(因为必须保证L2范数不能大于m),而L1正则化相当于为参数定义了一个菱形的解空间。如果原问题目标函数的最优解不是恰好落在解空间内,那么约束条件下的最优解一定是在解空间的边界上,而L1棱角分明的解空间更容易与目标函数等高线在角点碰撞,从而产生稀疏解。

(2)贝叶斯先验 ( P ( x ∣ y ) = P ( y ∣ x ) ⋅ P ( x ) P ( y ) P(x|y) = \frac{P(y|x)\cdot P(x)}{P(y)} P(xy)=P(y)P(yx)P(x))

  从贝叶斯的角度来理解L1正则化和L2正则化,L1正则化相当与对模型参数w引入了拉普拉斯先验,L2正则化相当引入了高斯先验,而拉普拉斯先验使参数为0的可能性更大。

对于给定样本,目标是希望最大化后验概率,即从贝叶斯定理得:
w o p t i m = a r g m a x P ( w ∣ x , y ) = P ( y , x ∣ w ) ⋅ p ( w ) P ( x , y ) ∝ m a x p ( y , x ∣ w ) ⋅   p ( w ) \begin{aligned} w_{optim} &=argmax P(w|x,y) \\ &= \frac{P(y,x|w)\cdot p(w)}{P(x,y)} \\ & \varpropto_{max} p(y,x|w)\cdot\ p(w) \end{aligned} woptim=argmaxP(wx,y)=P(x,y)P(y,xw)p(w)maxp(y,xw) p(w)
假设样本统计独立:即
w o p t i m = a r g m a x [ ∏ i = 1 m P ( y i , x i ∣ w ) ] ⋅ P ( w ) 由 条 件 概 率 链 式 法 则 = [ ∏ i = 1 m P ( y i ∣ x i , w ) P ( x i ∣ w ) ] P ( w ) x 与 w 无 关 = [ ∏ i = 1 m P ( y i ∣ x i , w ) P ( x i ) ] P ( w ) P ( x i ) 为 常 数 = [ ∏ i = 1 m P ( y i ∣ x i , w ) ] P ( w ) = l n [ ∏ i = 1 m P ( y i ∣ x i , w ) ] + l o g P ( w ) = ∑ i = 1 m l n P ( y i ∣ x i , w ) + l n P ( w ) 令 G ( w ) = L ( w ) + l n π ( w ) \begin{aligned} w_{optim}&=argmax[\prod^m_{i=1}P(y^i,x^i|w)]\cdot P(w) \\ & 由条件概率链式法则 \\ &= [\prod^m_{i=1}P(y^i|x^i,w)P(x^i|w)]P(w) \\ & x与w无关\\ &= [\prod^m_{i=1}P(y^i|x^i,w)P(x^i)]P(w) \\ & P(x^i) 为常数\\ &= [\prod^m_{i=1}P(y^i|x^i,w)]P(w) \\ &= ln[\prod^m_{i=1}P(y^i|x^i,w)]+ logP(w) \\ &= \sum^m_{i=1}lnP(y^i|x^i,w)+ lnP(w) \\ &令G(w)= L(w) + ln\pi(w) \end{aligned} woptim=argmax[i=1mP(yi,xiw)]P(w)=[i=1mP(yixi,w)P(xiw)]P(w)xw=[i=1mP(yixi,w)P(xi)]P(w)P(xi)=[i=1mP(yixi,w)]P(w)=ln[i=1mP(yixi,w)]+logP(w)=i=1mlnP(yixi,w)+lnP(w)G(w)=L(w)+lnπ(w)
(1) 证明:视w为随机变量,假定其服从高斯分布 w ∼ G ( 0 , σ 2 ) w\thicksim G(0,\sigma^2) wG(0,σ2),即 P ( w ) = 1 2 π σ 2 e − w T w 2 σ 2 P(w) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{w^Tw}{2\sigma^2}} P(w)=2πσ2 1e2σ2wTw
l n π ( w ) = l n ∏ i = 1 m π ( w i ) = l n ∏ i = 1 m 1 2 π σ 2 e − w i 2 2 σ = l n ( 1 2 π σ ) m e − ∑ i = 1 m w i 2 2 σ 2 = − m l n 2 π σ − ∑ i = 1 m w i 2 2 σ 2 ≈ − ∑ i = 1 m w i 2 2 σ 2 \begin{aligned} ln\pi(w) &=ln\prod^m_{i=1}\pi(w_i)\\ &= ln\prod^m_{i=1}\frac{1}{\sqrt{2\pi\sigma^2}}e^{-{\frac{w^2_i}{2\sigma}}} \\ &=ln(\frac{1}{\sqrt{2\pi}\sigma})^me^{-\frac{\sum^m_{i=1}w^2_i}{2\sigma^2}}\\ &=-mln\sqrt{2\pi}\sigma -\frac{\sum^m_{i=1}w^2_i}{2\sigma^2}\\ &\approx -\frac{\sum^m_{i=1}w^2_i}{2\sigma^2}\\ \end{aligned} lnπ(w)=lni=1mπ(wi)=lni=1m2πσ2 1e2σwi2=ln(2π σ1)me2σ2i=1mwi2=mln2π σ2σ2i=1mwi22σ2i=1mwi2

G m i n ( w ) = m i n [ L ( w ) + l n π ( w ) ] = m i n J ( w ) + m i n [ 1 2 σ ∑ i = 1 m w i 2 + C ] = m i n J ( w ) + m i n [ 1 2 σ ∑ i = 1 m w i 2 ] → l 2 正 则 化 \begin{aligned} G_{min}(w)&= min[L(w) + ln\pi(w)]\\ &= minJ(w)+min[\frac{1}{2\sigma}\sum^m_{i=1}w^2_i+C] \\ &= minJ(w)+min[\frac{1}{2\sigma}\sum^m_{i=1}w^2_i] \to l2正则化\\ \end{aligned} Gmin(w)=min[L(w)+lnπ(w)]=minJ(w)+min[2σ1i=1mwi2+C]=minJ(w)+min[2σ1i=1mwi2]l2
(2)证明:w服从拉普拉斯分布 w ∼ l a ( 0 , β ) w\thicksim la(0,\beta) wla(0,β),即
P ( w ) = 1 2 β e − ∣ w ∣ β P(w) = \frac{1}{\sqrt{2\beta}} e^{-{\frac{|w|}{\beta}}} P(w)=2β 1eβw
G ( w ) = L ( w ) + l n π ( w ) G(w)= L(w) + ln\pi(w) G(w)=L(w)+lnπ(w)
l n π ( w ) = l n ∑ i = 1 m π ( w i ) = l n ∏ i = 1 m 1 2 β e − ∣ w ∣ β = l n ( 1 2 β ) m e − ∣ w i ∣ β = − m l n ( 2 β ) − 1 β ∑ i = 1 m ∣ w i ∣ \begin{aligned} ln\pi(w) &=ln \sum^m_{i=1}\pi(w_i)\\ &= ln\prod^m_{i=1} \frac{1}{\sqrt{2\beta}} e^{-{\frac{|w|}{\beta}}} \\ &=ln(\frac{1}{\sqrt{2\beta}})^me^{-\frac{|w_i|}{\beta}}\\ &=-mln(2\beta) - \frac{1}{\beta}\sum^m_{i=1}|w_i| \end{aligned} lnπ(w)=lni=1mπ(wi)=lni=1m2β 1eβw=ln(2β 1)meβwi=mln(2β)β1i=1mwi
所以armax lnG(w) = L ( w ) + l n π ( w ) = l ( w ) − [ 1 β ∑ i = 1 m ∣ w i ∣ + C ] L(w)+ln\pi(w)=l(w) - [\frac{1}{\beta}\sum^m_{i=1}|w_i|+C] L(w)+lnπ(w)=l(w)[β1i=1mwi+C]
则min [ L ( w ) + 1 β ∑ i = 1 m ∣ w i ∣ ] → l 1 正 则 化 [L(w)+\frac{1}{\beta}\sum^m_{i=1}|w_i|] \to l1正则化 [L(w)+β1i=1mwi]l1

由高斯分布图可见,在极值点(0点)处是平滑的,在认为w在极值点附件取不同的可能性是接近的,则l2正则化只会让w更接近0点,而不会等于0的原因。
由拉普拉斯分布曲线图可见,在极值点(0点)处是一个尖峰,所以认为拉普拉斯先验分布中w取值为0的可能性更高。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值