L1、L2 范数理解 --Ridge 以及 Lasso 回归
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
一:范数对比
L0 范数: 指向量中非 0 的元素的个数。(L0 范数很难优化求解)
L1 范数: 指向量中各个元素绝对值之和
L2 范数: 指向量各元素的平方和然后求平方根
注: L0 范数,指向量中非零元素的个数。无穷范数,指向量中所有元素的最大绝对值。<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
二:范数作用
L1 范数: 可以进行特征选择,即让特征的系数变为 0.
L2 范数: 可以防止过拟合,提升模型的泛化能力,有助于处理 condition number 不好下的矩阵(数据变化很小矩阵求解后结果变化很大)(核心:L2 对大数,对 outlier 离群点更敏感!)
下降速度:最小化权值参数 L1 比 L2 变化的快
模型空间的限制:L1 会产生稀疏 L2 不会。L1 会趋向于产生少量的特征,而其他的特征都是 0,而 L2 会选择更多的特征,这些特征都会接近于 0。<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
三:L0 范数和 L1 范数之间的比较
L0 范数: 指向量中非零元素的个数。
L1 范数: 是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。
现在我们来分析下这个价值一个亿的问题:
1.为什么 L1 范数会使权值稀疏?
答:任何的规则化算子,如果他在 Wi=0 的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。
2.既然 L0 可以实现稀疏,为什么不用 L0,而要用 L1 呢?
答:一是因为 L0 范数很难优化求解(NP 难问题),二是 L1 范数是 L0 范数的最优凸近似,而且它比 L0 范数要容易优化求解。所以大家才把目光和万千宠爱转于 L1 范数。
3.总结
答:L1 范数和 L0 范数可以实现稀疏,L1 因具有比 L0 更好的优化求解特性而被广泛应用。
理解备注:
1.不可微的理解:在 w1/w2=0 的地方因为是|w1|,所以其是不可导的。
解决方法:LARS、FIST、坐标轴下降法。
2.为什么要特征选择/稀疏:
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
四:L1 范数和 L2 范数的比较
L1 范数: 是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。
L2 范数: 它也不逊于 L1 范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减 weight decay”。注意,其一般会在 L2 的范数基础上在平方!!!
注:L1 范数的理解见前面,L2 范数的理解如下
L2 范数的规则项||W||2 最小,可以使得 W 的每个元素都很小,都接近于 0,但与 L1 范数不同,它不会让它等于 0,而是接近于 0, 这里是有很大的区别的哦。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。
1.为什么越小的参数说明模型越简单?
我的理解是:限制了参数很小,实际上就限制了多项式某些分量的影响很小(看上面线性回归的模型的那个拟合的图),这样就相当于减少参数个数。这里可以想象只有两者参数 w1、w2,对于 y= w1x1+w2x2,如果 w1 和 w2 越小,当 x1、x2 发生变化的时候,y 的值变化不是很大,所以比较平滑,模型也就越简单。
2.L2 范数的好处
3.两者的差距
1)下降速度:
如上图:L1 就是按绝对值函数的“坡”下降的,而 L2 是按二次函数的“坡”下降。所以实际上在 0 附近,L1 的下降速度比 L2 的下降速度要快。
2)模型空间的限制:我们将模型空间限制在 w 的一个 L1-ball 中。为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为 C 的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:
可以看到,L1-ball 与 L2-ball 的不同就在于 L1 在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有 w1=0,而更高维的时候(想象一下三维的 L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。 相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么 L1-regularization 能产生稀疏性,而 L2-regularization 不行的原因了。 因此,一句话总结就是:L1 会趋向于产生少量的特征,而其他的特征都是 0,而 L2 会选择更多的特征,这些特征都会接近于 0。Lasso 在特征选择时候非常有用,而 Ridge 就只是一种规则化而已。<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
五:L1 范数和 L2 范数之反向传播的理解
L1 范数: 因为存在不可导的地方,其解决方法参见:LARS、FIST、坐标轴下降法。
LARS:https://blog.csdn.net/xbinworld/article/details/44284293
FIST:https://www.cnblogs.com/louisanu/p/12045861.html
坐标轴下降法:https://blog.csdn.net/qq_32742009/article/details/81735274
L2 范数:
<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">
版权声明: 本文为 InfoQ 作者【Studying_swz】的原创文章。
原文链接:【http://xie.infoq.cn/article/1ac6b023d32867361b8f0ef25】。文章转载请联系作者。
评论