【机器学习】深剖L1与L2权重正则化
前言
深度学习优化中的损失函数 L \mathcal{L} L通常由两部分组成,经验损失 L e m p \mathcal{L_{emp}} Lemp与正则损失 Ω ( f ) \mathcal{\Omega(f)} Ω(f),可以描述如下: L = L e m p + λ Ω ( f ) \mathcal{L}=\mathcal{L_{emp}}+\lambda\mathcal{\Omega(f)} L=Lemp+λΩ(f)经验损失尽可能地拟合数据集,从数据集中挖掘规则,然而由于数据集采样的随机性与有限性,经验分布无法准确描述数据生成分布,容易导致过拟合问题的发生。正则化损失编码了我们对模型、问题的先验知识,体现了我们对模型的归纳偏好,致力于提高模型的泛化能力。综合两种损失,即可以挖掘数据提供的信息避免过拟合,又可以充分利用人们的先验知识提升泛化性能。
正则损失通常可以分为两类:一般性的正则损失(如L1,L2正则化、奥卡姆剃刀原则、最大熵原则),领域相关的正则损失。本文重点描述L1、L2正则损失。
概念
L1正则损失:
Ω
(
f
)
=
∑
θ
∣
θ
∣
\mathcal{\Omega(f)}=\sum\limits_{\theta}|\theta|
Ω(f)=θ∑∣θ∣
L2正则损失:
Ω
(
f
)
=
∑
θ
∣
∣
θ
∣
∣
2
2
\mathcal{\Omega(f)}=\sum\limits_{\theta}||\theta||_2^2
Ω(f)=θ∑∣∣θ∣∣22
特点
L1归纳偏好:学习到的模型权重稀疏
L2归纳偏好:学习到的模型权重平滑
理解
参数的极大似然估计
参数估计的方式有矩估计、极大似然估计、贝叶斯估计。机器学习常用的为后两者。极大似然估计认为参数是确定的值,并把再当前参数配置下样本的发生概率作为当前参数配置的似然,然后最大化参数的似然,即
arg
max
θ
P
(
X
∣
θ
)
\arg\max\limits_{\theta} P(X|\theta)
argθmaxP(X∣θ),然后基于学到的参数来预测。贝叶斯估计认为参数是服从先验分布的随机变量,给定当前观测
X
X
X下,可以获得对参数的进一步认知,得到参数的后验分布
P
(
θ
∣
X
)
P(\theta|X)
P(θ∣X),并基于参数的后验分布做预测。由于贝叶斯估计考虑对参数的先验知识,所以通常情况下贝叶斯估计要优于极大似然估计,但是贝叶斯决策是基于参数的后验分布来决策的,所以计算量较大。通过综合两者的优点可以得到参数的最大后验概率估计,即
arg
max
θ
P
(
θ
∣
X
)
\arg\max\limits_{\theta} P(\theta|X)
argθmaxP(θ∣X)。进一步,
arg
max
θ
P
(
θ
∣
X
)
=
arg
max
θ
P
(
X
∣
θ
)
P
(
θ
)
P
(
X
)
=
arg
max
θ
P
(
X
∣
θ
)
P
(
θ
)
=
a
r
g
max
θ
log
P
(
X
∣
θ
)
+
log
P
(
θ
)
\begin{aligned} &\arg\max\limits_{\theta} P(\theta|X)\\ =&\arg\max\limits_{\theta}\frac{P(X|\theta)P(\theta)}{P(X)}\\ =&\arg\max\limits_{\theta}P(X|\theta)P(\theta)\\ =&arg\max\limits_{\theta} \log P(X|\theta)+\log P(\theta) \end{aligned}
===argθmaxP(θ∣X)argθmaxP(X)P(X∣θ)P(θ)argθmaxP(X∣θ)P(θ)argθmaxlogP(X∣θ)+logP(θ)
由此可知,最大后验概率估计相当于考虑了参数先验分布的极大似然估计。
当 θ ∼ L a p l a c e ( 0 , λ ) \theta\thicksim Laplace(0,\lambda) θ∼Laplace(0,λ)时, log P ( θ ) = − 1 λ ∣ θ ∣ + C \log P(\theta)=-\frac{1}{\lambda}|\theta|+C logP(θ)=−λ1∣θ∣+C,取负后并约去常数项后可以得到 1 λ ∣ θ ∣ \frac{1}{\lambda}|\theta| λ1∣θ∣,由于每个参数独立同分布,故可以得到 1 λ ∑ θ ∣ θ ∣ \frac{1}{\lambda}\sum\limits_{\theta}|\theta| λ1θ∑∣θ∣,即L1正则损失。而Laplace分布是尖峰分布,随着与0距离的增加,概率密度指数衰减,虽然避免了极端大或者小的权重,但概率密度主要集中在0附近,使模型倾向于得到稀疏权重,使得部分特征或者神经单元不起作用(使用L1损失时需要强先验:特征包含部分无关特征,需要通过稀疏来进行特征选择降低无关特征的作用,不然还是推荐L2损失)。
当 θ ∼ N ( 0 , δ 2 ) \theta\thicksim N(0, \delta^2) θ∼N(0,δ2)时, log P ( θ ) = − 1 δ 2 θ 2 + C \log P(\theta)=-\frac{1}{\delta^2}\theta^2+C logP(θ)=−δ21θ2+C,取负并约去常数项得到 1 δ 2 θ 2 \frac{1}{\delta^2}\theta^2 δ21θ2,由于每个参数独立同分布,故可以得到 1 δ 2 ∑ θ θ 2 \frac{1}{\delta^2}\sum\limits_{\theta}\theta^2 δ21θ∑θ2,即L2正则损失。相比于Laplace分布,正态分布在主要集中在[-3,3]区域,避免了极端大或小的权重,变化比较平缓,所以很容易得到平滑的权重
注:Laplace分布:
f
(
x
)
=
1
2
λ
e
−
∣
x
−
μ
∣
λ
f(x)=\frac{1}{2\lambda}e^{-\frac{|x-\mu|}{\lambda}}
f(x)=2λ1e−λ∣x−μ∣, 从下图可以看出laplace分布相当于两个背靠背的指数分布
lagrange约束优化
arg min L e m p s . t . Ω ( f ) < T \arg\min \mathcal{L_{emp}} \quad s.t. \quad\Omega(f)<T argminLemps.t.Ω(f)<T对应的lagrange函数为: L e m p + λ Ω ( f ) + C ( λ ≥ 0 ) \mathcal{L_{emp}}+\lambda\mathcal{\Omega(f)}+C(\lambda\ge0) Lemp+λΩ(f)+C(λ≥0),假设最优解取得的地方 λ = λ ∗ , w = w ∗ \lambda=\lambda^*, w=w^* λ=λ∗,w=w∗,则从 L e m p + λ ∗ Ω ( f ) \mathcal{L_{emp}}+\lambda^*\mathcal{\Omega(f)} Lemp+λ∗Ω(f)中求得的最优解 w w w也为 w ∗ w^* w∗,也就是说加正则的损失函数求得的最优解相当于 arg min L e m p s . t . Ω ( f ) < T \arg\min \mathcal{L_{emp}} \quad s.t. \quad\Omega(f)<T argminLemps.t.Ω(f)<T的最优解。
梯度更新角度
L1的梯度: ∣ ∂ L 1 ∂ θ ∣ = λ |\frac{\partial L1}{\partial \theta}|=\lambda ∣∂θ∂L1∣=λ为常值, 当权重接近0时,仍保持固定的步长,可以接近0,从而得到稀疏权重。另一方面,在权重0的左右,梯度相差为 2 λ 2\lambda 2λ,极有有可能两边梯度异号,导致参数0处为驻点(即SGD优化的目标),从而导致稀疏权重
L2的梯度: ∣ ∂ L 2 ∂ θ ∣ = λ θ |\frac{\partial L2}{\partial \theta}|=\lambda \theta ∣∂θ∂L2∣=λθ为与权重有关的变量,当权重接近0时,L2带来的梯度更新越来越小,很难真正为0,所 以不容易产生稀疏权重。
二阶近似角度
可视化角度(均方经验损失为例)
以均方经验经验损失为例,在高维参数空间下它的等值线为超椭球。考虑二维参数空间,图中绿色的的轮廓线为均方经验损失的等值线,越往外,值越大。L1损失的等值线为左图中的正方形,L2损失的等值线为有图中的圆。固定经验损失,即给定一条绿色的线,计算曲线上任意一点的L1或者L2损失,可以发现给定一条绿色的线,具有最小的L1损失的解倾向于在坐标轴上(即具有稀疏权重),具有最小的L2损失的解倾向于离原点近,但是没有在坐标轴上的倾向(即非稀疏权重)
另一种理解方式:固定正则损失,即给定一条黑色的线,考虑只有一个交点的情况:L2只有两个圆在坐标轴方向相切时,才可能取得部分权重为0的解。L1正则化在每个坐标轴方向每个方向有90度的方向相切,从这个角度看,L1正则化得到稀疏解的可能是L2得到稀疏解的可能的无穷倍。
图片来源:https://img-blog.csdnimg.cn/20190717204327273.png
扩展1–> L 1 L 2 L_{1}L_{2} L1L2正则化与线性回归
L1正则化应用于线性回归模型时被称为Lasso回归,常用于保险业,L1正则化表达了希望模型学到稀疏解的倾向,这有利于数据分析师从大量特征中找出对目标因素影响最大的因素,忽略次要因素(L1正则化也是融合式的特征选择方法)。
L2正则化应用于线性回归模型时被称为Ridge回归,常用于特征之间存在多重共线性的情况,L2正则化表达了希望模型学到小的权重的倾向,当存在多重共线性时,存在无穷解,不容易收敛或者容易得到权重很大解,造成模型对小的扰动不稳定,这也与传统模型的局部不变性先验不一致,加上正则化后,模型最优解唯一,此时有利于收敛。
一些其它想法:机器学习中常用的归纳偏置都是相通的,奥卡姆剃刀、最小描述长度、局部不变性。L1正则化具有这三者的特性,L2正则化也具有这三者的特性(L2的最小描述长度可以这样理解:参数空间缩小,描述参数的编码长度可以减小)。
扩展2–> L x L_{x} Lx正则化
可视化:画出
L
x
L_{x}
Lx损失的轮廓线来,如下图所示,随着阶数的升高,轮廓线由十字变为正方形,并且高阶损失的轮廓线包裹着低阶损失的轮廓线。
另一种理解方式,对
x
x
x的小数部分根据Taylor展开进行二阶近似(在
x
=
1
x=1
x=1展开)得到
θ
x
−
i
∼
1
+
λ
θ
\theta^{x-i}\sim1+\lambda \theta
θx−i∼1+λθ,
L
x
L_{x}
Lx正则化可以看作
L
i
+
λ
L
i
+
1
,
i
=
f
l
o
o
r
(
x
)
L_i+ \lambda L_{i+1}, i=floor(x)
Li+λLi+1,i=floor(x)的组合。所以
L
x
L_{x}
Lx的轮廓线应该位于
L
i
L_{i}
Li和
L
i
+
1
L_{i+1}
Li+1的轮廓线之间。
图片来源:https://blog.csdn.net/eric41050808/article/details/24365765
参考博客
https://blog.csdn.net/m0_38045485/article/details/82147817