本文咱们来看下L1正则化的深入分析。L1正则化的表达形式如下
∣∣w∣∣1=i∑∣wi∣
通过上面的计算方式能够看出L1正则化的计算方式是将所有权重的绝对值求和。接下来还是从线性回归中看L1正则化的影响。
Jˉ(w;X;y)=α∣∣w∣∣1+J(w;X;y)
对应的梯度为
▽wJˉ(w;X;y)=αsign(w)+▽wJ(w;X;y)
其中sign(w)表示取w各个元素的正负号。
对比L2正则化对梯度的影响不再是线性的缩放每个参数wi,而是增加一项与sign(w)同号的常数。 使用这个梯度以后,就不能得到J(w;X;y)的二次近似算数解(L2是可以计算的)。简单的线性模型具有二次代价函数,可以使用泰勒级数表示。但是L1惩罚项在完全一般化的Hessian情况下,无法计算直接清晰的代数表达式,因此需要进一步假设Hessian是对角的,且对角线元素大于。这里需要说一下就是当数据被预处理以后(PCA),去除了相关性,那么这个假设是成立的。那么L1的正则化目标函数的二次近似分解成关于参数求和。
Jˉ(w;X;y)=J(w∗;X;y)+∑[21Hi,i(w)i−w∗)2+α∣wi∣](1.1)
其中w∗表示最优取值,Hi,i表示Hessian矩阵的对角线元素。最小化这个近似代价函数
wi=sign(wi∗)max[∣wi∣−Hi,iα,0](1.2)
看以下两种情况
- 当wi∗<Hi,iα,正则化目标中的wi的最优值是wi=0.这个是因为在方向i上,J(w;X;y)对Jˉ(w;X;y)的贡献被抵消,L1正则化项将wi推到0
- 当wi∗>Hi,iα.正则化不会将wi的最优值推到0,而是仅仅在那个方向上移动了Hi,iα的距离。
相比于L2正则化,L1是会产生更稀疏的解,这里的稀疏指的是最优值中的一些参数为0.与L2正则化对比,L1的稀疏化具有本质的不同。 所以L1正则化导出的稀疏性质可以被广泛用于特征选择,化简机器学习问题。