200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > L1 L2正则化与稀疏性

L1 L2正则化与稀疏性

时间:2020-09-11 22:29:39

相关推荐

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)} N1​i=1∑N​L(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 N1​i=1∑N​(yi​,f(xi​;w))2+2λ​∥w∥2

∥ w ∥ 2 \parallel{w}\parallel^2 ∥w∥2表示向量参数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 N1​i=1∑N​(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=1∑N​(yi​−wTxi​)2s.t∣∣w∣∣22​≤m​

为了求解带约束条件的凸优化问题,引入拉格朗日函数:

∑ 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=1∑N​(yi​−wTxi​)2+λ(∣∣w∣∣22​−m)

若 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=∇w​(i=1∑N​(yi​−w∗Txi​)2+λ∗(∣∣w∗∣∣22​−m)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(x∣y)=P(y)P(y∣x)⋅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(w∣x,y)=P(x,y)P(y,x∣w)⋅p(w)​∝max​p(y,x∣w)⋅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=1∏m​P(yi,xi∣w)]⋅P(w)由条件概率链式法则=[i=1∏m​P(yi∣xi,w)P(xi∣w)]P(w)x与w无关=[i=1∏m​P(yi∣xi,w)P(xi)]P(w)P(xi)为常数=[i=1∏m​P(yi∣xi,w)]P(w)=ln[i=1∏m​P(yi∣xi,w)]+logP(w)=i=1∑m​lnP(yi∣xi,w)+lnP(w)令G(w)=L(w)+lnπ(w)​

(1) 证明:视w为随机变量,假定其服从高斯分布 w ∼ G ( 0 , σ 2 ) w\thicksim G(0,\sigma^2) w∼G(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 ​1​e−2σ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=1∏m​π(wi​)=lni=1∏m​2πσ2 ​1​e−2σwi2​​=ln(2π ​σ1​)me−2σ2∑i=1m​wi2​​=−mln2π ​σ−2σ2∑i=1m​wi2​​≈−2σ2∑i=1m​wi2​​​

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σ1​i=1∑m​wi2​+C]=minJ(w)+min[2σ1​i=1∑m​wi2​]→l2正则化​

(2)证明:w服从拉普拉斯分布 w ∼ l a ( 0 , β ) w\thicksim la(0,\beta) w∼la(0,β),即

P ( w ) = 1 2 β e − ∣ w ∣ β P(w) = \frac{1}{\sqrt{2\beta}} e^{-{\frac{|w|}{\beta}}} P(w)=2β ​1​e−β∣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=1∑m​π(wi​)=lni=1∏m​2β ​1​e−β∣w∣​=ln(2β ​1​)me−β∣wi​∣​=−mln(2β)−β1​i=1∑m​∣wi​∣​

所以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)−[β1​∑i=1m​∣wi​∣+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)+β1​∑i=1m​∣wi​∣]→l1正则化

由高斯分布图可见,在极值点(0点)处是平滑的,在认为w在极值点附件取不同的可能性是接近的,则l2正则化只会让w更接近0点,而不会等于0的原因。

由拉普拉斯分布曲线图可见,在极值点(0点)处是一个尖峰,所以认为拉普拉斯先验分布中w取值为0的可能性更高。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。