参数范数正则化

机器学习中的一个核心的问题就是解决模型的泛化能力,很多模型被故意的设计为以增大训练误差为代价来获得泛化能力,这些方法统称为正则化。很多情况下,我们通过给目标函数 J 添加一个参数范数的惩罚Ω(θ),其主要目的是用于限制模型的学习能力。正则化后的目标函数可以表示为

˜J(θ;X,y)=J(θ;X,y)+αΩ(θ)

其中α[0,)是调整惩罚项惩罚力度的一个超参数。α=0就对应着没有正则惩罚,越大的α对应着更加严重的惩罚。当我们训练最小正则化后的目标函数时,他会同时降低原始目标的训练误差并减小参数的规模。不同的正则化会导致不同的优先解。

L2参数正则化

L2参数正则化(也被称为权重衰减 weight decay)通过向目标函数添加一个正则项Ω(θ)=12|ω|22使权重更加接近原点(一般认为接近空间中的某些特定点同样拥有正则效果,这个值在接近真实值得时候会获得更好的效果,一般来说零一个是有意义的默认值)。

L2正则化的研究可以从研究目标函数的梯度入手,梯度方法是现在最流行的复杂结构的训练方法。我们先假定模型中没有偏置参数,此目标函数可以写为

˜J(ω;X,y)=α2ωTω+J(ω;X,y)

容易求得梯度

_ω˜J(ω;X,y)=αω+_ωJ(ω;X,y)

如果使用梯度下降更新参数的话

ωωϵ(αω+ωJ(ω;X,y))

为了简化分析,设ω为未经过正则化过的参数向量ω=argminωJ(ω) 并在ω的邻域做二次近似。如果目标函数是二次的(最小二乘回归或者其他以均方误差来拟合模型的情况),这个近似是无偏差的。近似的目标函数

ˆJ(θ)=J(ω)+12(ωω)TH(ωω)

其中HJω处计算的海森矩阵,因为最小化点处梯度消失,这个二次近似中理论上没有一阶项。H是半正定的。为了研究正则化对权重衰减的影响,我们在梯度中加入正则项,设ˆJ是正则化后的最小值,使用变量˜ω来表示正则化后的最小值

α˜ω+H(˜ωω)=0(H+αI)˜ω=Hω˜ω=(H+αI)1Hω

在正则化系数趋向于零时,正则化结果趋向于非正则化的结果,但是当α增加时,因为H的实对称性质,我们将其对角化分解为H=QΛQT可得

˜ω=(QΛQT+αI)1QΛQTω=Q(Λ+αI)1ΛQTω

我们可以看到权重衰减的效果是沿着由H的特征向量所定义的轴对ω做了缩放,具体来说,与H的第i个特征向量对其的ω的分量根据λiλi+α因子做了缩放,沿着H特征值较大的方向正则化影响较小,而λiα的分量将会近似被缩小到零。只有显著减小目标函数方向的参数会保存完好,不会显著增加梯度的方向将会被正则化衰减掉。L2正则化能让学习算法 ‘‘感知’’ 到具有较高方差的输入x,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会被收缩。

将此正则化方法应用在线性回归模型中,使得原本的平方误差函数(Xωy)T(Xωy)变化为

(Xωy)T(Xωy)+α2ωTω

方程的解从简单的伪逆解ω=(XTX)1XTy变为

ω=(XTX+αI)1XTy

L1参数正则化

当对模型参数取正则化Ω(θ)=|ω|1时,对模型进行了L1参数正则化,与L2正则化类似,我们使用一个超参数α描述正则化对目标函数的贡献,此时的目标函数可以表示为

˜J(ω;X,y)=J(ω;X,y)+αω_1

L2的分析,此目标函数的梯度

ω˜J(ω;X,y)=αsign(ω)+ωJ(ω;X,y)

由此可见,L1正则化并不是线性的缩放每个ωi,而是对相应的分量加上一个与sign(ωi)相同符号的常数。我们一不定能得到这种正则化的直接算数解,我们可以通过泰勒级数表示目标函数是二次的线性模型,在这个设定下,梯度下降

ω˜J(ω)=H(ωω)

L1正则化在一般的情况下无法得到干净的解析表达式,我们进一步假设这个海森矩阵是对角的且每个对角元素大于零(在用于线性回归的数据已经经过类似 PCA 预处理,特征之间没有相关性得情况下,这一假设是成立的)。将L1正则化的目标函数的二次近似分解为关于参数的求和

˜J(ω;X,y)=J(ω;X,y)+i[12Hii(ωiωi)2+α|ωi|]

对这个近似的目标函数,我们可以得到每一维的解析解

ωi=sign(ωi)max{|ωi|αHii,0}

现考虑所有iωi>0的情况:

  1. ωiαHii 的情况,正则化后给出的最优值是ωi=0。这是因为在方向iJ(ω;X,y)对于 ˜J(ω;X,y)的贡献受到压制,L1正这话将这个参数推向零
  2. ωi>αHii 时,正则化仅仅在那个方向上移动αHii 的距离

ωi的情况与之类似,但是正则化使ωi更接近0或者为0.

一般来说L1正则化倾向产生更稀疏的解,L2正则化虽然对一些输入进行了缩放,但是并不会使参数稀疏,L1可以通过足够大的α实现稀疏。也正是因为L1的稀疏性质,这种正则化被广泛地用于特征选择。就如著名的 LASSO (Least Absolute Shrinkage and Selection Operator)将L1正则化与线性模型结合,并使用最小二乘使部分子集的权重为零,表明某些特征可以被安全的忽略。

MAP 贝叶斯推断正则化

许多的正则化策略可以解释为 MAP 贝叶斯推断。先看原始的线性回归模型,我们的假设为hω(x)=ωTx+ϵ,其中ϵ是一个呈高斯分布的误差量p(ϵ)=N(0,σ2)我们可以得出对数似然函数

l(ω)=logL(ω)=mi=1p(y(i)|X;ω)=mi=1log12πσexp((y(i)ωTx(i))2)2σ2)=mlog12πσ12σ2mi=1(y(i)ωTx(i))2

这是一般的最小二乘优化形式。这时我们对参数没有加入任何的先验分布,在模型参数很多的时候很容易发生过拟合,通过对ω引入不同的先验分布,我们可以同样推导出我们熟悉的正则化形式。

  1. L2正则化相当于权重是高斯先验的 MAP 贝叶斯推断。

    当我们对参数引入协方差为α的零均值高斯先验 p(ωj)=12παexp((ω(j))2/2α),其最大后验估计

    L(ω)=p(y|X;ω)p(ω)=mi=112πσexp((y(i)ωTx(i))2)2σ2)mj=112παexp((ω(j))22α)=mi=112πσexp((y(i)ωTx(i))2)2σ2)12παexp(ωTω2α)

    取其对数

    l(ω)=logl(ω)=mlog12πσ+nlog12πα12σ2mi=1(y(i)ωTx(i))212αωTω

    最大似然后 ω=argminω(1n|yωTX|2+α|ω|2) ,提取其目标函数,与L2正则化形式类似。

  2. L1正则化相当于是权重为拉普拉斯先验的 MAP 贝叶斯推断