1

范数正则化的原理分析(一):贝叶斯学派角度

 2 years ago
source link: https://allenwind.github.io/blog/7575/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

范数正则化的原理分析(一):贝叶斯学派角度

范数正则化是机器学习和深度学习中最常用的正则化手段,本文讲述从贝叶斯角度理解范数正则化,另外还提供信息论上的解释。L1、L2​​正则化都是解决模型过拟合的方法,它们有什么数学上的解释呢?

正则化是一种修正学习算法的数学技巧,目的是降低模型的范化误差。通常的做法是在目标函数上添加一个学习惩罚项,比如范数。此外还有的做法是干扰优化过程,如训练过程中提前停止,不过这些方法在深度学习中才常见。

Lp范数的定义,

‖x‖p=(|x1|p+|x2|p+⋯+|xn|p)1/p

这里p≥1。当p→∞时,有

‖x‖∞=max{|x1|,|x2|,…,|xn|}

这个比较容易证明。假设|x1|,|x2|,…,|xn|中,|x|j最大,那么有,

Lp(x1,…,xn)=(n∑i=1|xi|p)1p≤(n∑i=1|xj|p)1p=(n|xj|p)1p=n1p|x|j=n1pmax(|x1|,|x2|,…,|xn|) Lp(x1,…,xn)=(n∑i=1|xi|p)1p≥(|xi|p)1p=max(|x1|,|x2|,…,|xn|) max(|x1|,|x2|,…,|xn|)≤(n∑i=1|xi|p)1p≤n1pmax(|x1|,|x2|,…,|xn|)

当p很大的情况下,n1p​接近1。因此,

limp→∞(n∑i=1|xi|p)1p=max(|x1|,|x2|,…,|xn|)

我们可视化一下不同p取值时的Lp​,

极大似然估计与最小二乘法

假设噪声独立同分布,

ϵ∼N(0,σ2In)

由于回归模型有噪声的存在,

y=Xw+ϵ

那么回归模型可以用概率模型表示,

p(yi|X,w,σ2)=N(Xw,σ2In)

对于样本(xi,yi)可以用概率模型表示,

p(yi|xi;θ)=1√2πσexp(−(yi−wTxi)22σ2)

那么似然函数有,

L(w)=n∏i=1p(yi|xi;θ)=n∏i=11√2πσexp(−(yi−wTxi)22σ2)

两边取对数,

log(L(w))=nlog(1√2πσ)−12σ2n∑i=1(yi−wTxi)2

为让上式极大化,形式上等价于下式的最小化,

ˆw=argminwn∑i=1(yi−wTxi)2

也就是说,以均方误差最小化(MLE)的学习策略的机器学习算法与极大似然估计的参数估计方法在数学计算上是等价的。

在学习问题上,MLE有一个严重的问题,当模型参数远大于样本数量n时,会出现严重的过拟合,导致模型无法学习优化。为此需要引入一定的约束。

贝叶斯学派与最大后验估计

以上的讨论让我们意识到频率学派的最大似然估计(MLE)对参数的基本假设是,参数是一个未知但固定的常数。贝叶斯学派的最大后验估计(MAPE)则认为,参数并不是一个固定的常数,而是一个未知的随机变量,服从一个概率分布,称为先验分布。有概率分布f(x,θ),从该分布中采样n个样本x1,…,xn。这里假设参数θ的先验分布为h(θ),那么根据贝叶斯公式,参数θ的后验分布为,

h(θ|x1,…,xn)=h(θ)f(x1,θ)⋯f(xn,θ)p(x1,x2,…,xn) p(x1,x2,…,xn)=∫Θh(θ)f(x1,θ)⋯f(xn,θ)dθ

考虑到参数θ的后验分布是一个函数,那么实际使用中,需要θ的具体值,那么后验分布的均值或众数也可以,这个使用的选择性比较灵活。例如,后验分布的众数可以表示为,

ˆθ=argmaxθh(θ)f(x1,θ)⋯f(xn,θ)∫Θh(θ)f(x1,θ)⋯f(xn,θ)dθ=argmaxθh(θ)f(x1,θ)⋯f(xn,θ)

这里后验分布的分母与θ无关,所有可以去掉。这里也可以看到,当h(θ)=const时,极大似然估计等价于最大后验估计。换句话说,极大似然估计等价于先验分布为均匀分布的最大后验估计。

L2 正则化与高斯分布

假设参数 w 服从正态分布,

p(w;θ)=1√2πλexp(−w22λ2)

其中参数θ=(0,λ2)。因为我们假定模型是无偏的。

已知观察样本 (xi,yi),i=1,…,n​,使用最大后验估计(MAPE),有似然函数L(w)​,

L(w)=n∏i=1p(yi|xi;θ)p(w;θ)=n∏i=11√2πσexp(−(yi−wTxi)22σ2)1√2πλexp(−w22λ2)

两边取对数,

log(L(w))=nlog(1√2πσ)−12σ2n∑i=1(yi−wTxi)2+log(1√2πλ)−12λ2‖w‖2

为让上式极大化,形式上等价于下式的最小化,

ˆw=argminwn∑i=1(yi−wTxi)2+λ|w|2

也就是说Ridge regression,即引入L2​范数正则化的模型,相当于假设参数的先验分布为正态分布。根据正态分布的性质,L2​范数正则化的引入并不能让模型产生稀疏解。

简而言之,L2正则化等价于参数服从高斯先验,其并不具有稀疏解的特性。

L1 正则化与拉普拉斯分布

类似以上方法,假设模型的参数w为随机变量,其先验分布为拉普拉斯分布,

f(w|μ,b)=12bexp(−|w−μ|b)

通常模型是无偏的,于是μ=0,参数先验分布为,

f(w|μ,b)=12bexp(−|w|b)

已知观察样本 (xi,yi),i=1,…,n​,使用最大后验估计(MAPE),有似然函数L(w)​,

L(w)=n∏i=1p(yi|xi;θ)p(w;θ)=n∏i=11√2πσexp(−(yi−wTxi)22σ2)12bexp(−|w|b)

两边取对数,

log(L(w))=nlog(1√2πσ)−12σ2n∑i=1(yi−wTxi)2+log(12b)−1b‖w‖

为让上式极大化,形式上等价于下式的最小化,

ˆw=argminwn∑i=1(yi−wTxi)2+λ‖w‖

也就是说Lasso regression ,即引入L1​​​范数正则化的模型,相当于假设参数的先验分布为拉普拉斯分布。根据拉普拉斯分布的特点,模型参数会高概率地取0,于是就产生模型参数的稀疏性。从特征工程角度看,L1正则化相当于给模型内嵌一个特征选择器。

简而言之,L1正则化等价于参数服从拉普拉斯先验,使得模型其并具有稀疏解的特性。

由于L1​​正则化在零点不可微,

‖w‖1=n∑i=1√w2i+ε

Elastic Net

一个比较自然的想法是结合L1和L2正则化,即Elastic Net,

ˆw=argminwn∑i=1(yi−wTxi)2+λ1|w|+λ2|w|2

推广到 Lp 正则化

注意到分母是Γ(x)函数,

f(x;β)=e−|x|β∫∞−∞e−|x|βdx=βe−|x|β2Γ(1β)

也就是说,对于一个 Lp 正则化约束,相当于参数先验分布为 f(x;β)=βe−|x|β2Γ(1β)​,这个分布称为广义正态分布,其一般形式有,

f(x;μ,α,β)=β2αΓ(1/β)e−(|x−μ|/α)β

其中Γ(x)​值伽马函数,β是形状参数,α​是尺度参数,μ是位置参数。​

模型引入正则化,相当于给模型参数约定了一个取值空间,如L1,L2,…Lp​​,换成贝叶斯概率的语言来说就是给参数设定先验分布。

对于炼丹来说,正则化是一种优化手段,并不是必备的东西,也不能保证用上了就一定有效,只不过是多了一种选择,最后行不行还是取决于具体的实验。

转载请包括本文地址:https://allenwind.github.io/blog/7575
更多文章请参考:https://allenwind.github.io/blog/archives/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK