机器学习中的一个核心的问题就是解决模型的泛化能力,很多模型被故意的设计为以增大训练误差为代价来获得泛化能力,这些方法统称为正则化。很多情况下,我们通过给目标函数 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(ω−ω∗)其中H是J在ω∗处计算的海森矩阵,因为最小化点处梯度消失,这个二次近似中理论上没有一阶项。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)−1XTyL1参数正则化
当对模型参数取正则化Ω(θ)=|ω|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的情况:
- ω∗i≤αHii 的情况,正则化后给出的最优值是ωi=0。这是因为在方向i上J(ω;X,y)对于 ˜J(ω;X,y)的贡献受到压制,L1正这话将这个参数推向零
- ω∗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(ω)=m∏i=1p(y(i)|X;ω)=m∑i=1log1√2πσexp(−(y(i)−ωTx(i))2)2σ2)=mlog1√2πσ−12σ2m∑i=1(y(i)−ωTx(i))2这是一般的最小二乘优化形式。这时我们对参数没有加入任何的先验分布,在模型参数很多的时候很容易发生过拟合,通过对ω引入不同的先验分布,我们可以同样推导出我们熟悉的正则化形式。
L2正则化相当于权重是高斯先验的 MAP 贝叶斯推断。
当我们对参数引入协方差为α的零均值高斯先验 p(ωj)=1√2παexp(−(ω(j))2/2α),其最大后验估计
L(ω)=p(y|X;ω)p(ω)=m∏i=11√2πσexp(−(y(i)−ωTx(i))2)2σ2)m∏j=11√2παexp(−(ω(j))22α)=m∏i=11√2πσexp(−(y(i)−ωTx(i))2)2σ2)1√2παexp(−ωTω2α)取其对数
l(ω)=logl(ω)=mlog1√2πσ+nlog1√2πα−12σ2m∑i=1(y(i)−ωTx(i))2−12αωTω最大似然后 ω=argminω(1n|y−ωTX|2+α|ω|2) ,提取其目标函数,与L2正则化形式类似。
L1正则化相当于是权重为拉普拉斯先验的 MAP 贝叶斯推断