机器学习之L1正则化

本文咱们来看下L1正则化的深入分析。L1正则化的表达形式如下

w1=iwi||w||_{1}=\sum_{i} |w_{i}|

通过上面的计算方式能够看出L1正则化的计算方式是将所有权重的绝对值求和。接下来还是从线性回归中看L1正则化的影响。

Jˉ(w;X;y)=αw1+J(w;X;y)\bar{J}(w;X;y)=\alpha ||w||_{1} + J(w; X;y)

对应的梯度为

wJˉ(w;X;y)=αsign(w)+wJ(w;X;y)\triangledown_{w} \bar{J}(w;X;y)=\alpha sign(w) + \triangledown_{w} J(w; X;y)

其中sign(w)表示取w各个元素的正负号。
对比L2正则化对梯度的影响不再是线性的缩放每个参数wiw_{i},而是增加一项与sign(w)同号的常数。 使用这个梯度以后,就不能得到J(w;X;y)J(w;X;y)的二次近似算数解(L2是可以计算的)。简单的线性模型具有二次代价函数,可以使用泰勒级数表示。但是L1惩罚项在完全一般化的Hessian情况下,无法计算直接清晰的代数表达式,因此需要进一步假设Hessian是对角的,且对角线元素大于。这里需要说一下就是当数据被预处理以后(PCA),去除了相关性,那么这个假设是成立的。那么L1的正则化目标函数的二次近似分解成关于参数求和。

Jˉ(w;X;y)=J(w;X;y)+[12Hi,i(w)iw)2+αwi](1.1)\bar{J}(w;X;y)=J(w^{*};X;y)+\sum[\frac{1}{2}H_{i,i}(w){i}-w^{*})^{2}+\alpha |w_{i}|] \tag{1.1}

其中ww^{*}表示最优取值,Hi,iH_{i,i}表示Hessian矩阵的对角线元素。最小化这个近似代价函数

wi=sign(wi)max[wiαHi,i,0](1.2)w_{i}=sign(w_{i}^{*})max[|w_{i}|-\frac{\alpha}{H_{i,i}},0] \tag{1.2}

看以下两种情况

  1. wi<αHi,iw_{i}^{*}<\frac{\alpha}{H_{i,i}},正则化目标中的wiw_{i}的最优值是wi=0w_{i}=0.这个是因为在方向i上,J(w;X;y)J(w; X;y)Jˉ(w;X;y)\bar{J}(w; X;y)的贡献被抵消,L1正则化项将wiw_{i}推到0
  2. wi>αHi,iw_{i}^{*}>\frac{\alpha}{H_{i,i}}.正则化不会将wiw_{i}的最优值推到0,而是仅仅在那个方向上移动了αHi,i\frac{\alpha}{H_{i,i}}的距离。

相比于L2正则化,L1是会产生更稀疏的解,这里的稀疏指的是最优值中的一些参数为0.与L2正则化对比,L1的稀疏化具有本质的不同。 所以L1正则化导出的稀疏性质可以被广泛用于特征选择,化简机器学习问题。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×