L1、L2范数理解--Ridge以及Lasso回归

简介: L1、L2范数理解--Ridge以及Lasso回归

一:范数对比

L0范数: 指向量中非0的元素的个数。(L0范数很难优化求解)

L1范数: 指向量中各个元素绝对值之和

L2范数: 指向量各元素的平方和然后求平方根

30.png

注:L0范数,指向量中非零元素的个数。无穷范数,指向量中所有元素的最大绝对值。


二:范数作用

L1范数: 可以进行特征选择,即让特征的系数变为0.


L2范数: 可以防止过拟合,提升模型的泛化能力,有助于处理 condition number不好下的矩阵(数据变化很小矩阵求解后结果变化很大)(核心:L2对大数,对outlier离群点更敏感!)


下降速度:最小化权值参数L1比L2变化的快


模型空间的限制:L1会产生稀疏 L2不会。L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。



三: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.为什么要特征选择/稀疏:


31.png



四: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范数的好处


32.png

3.两者的差距

1)下降速度:

33.png

如上图:L1就是按绝对值函数的“坡”下降的,而L2是按二次函数的“坡”下降。所以实际上在0附近,L1的下降速度比L2的下降速度要快。


2)模型空间的限制:

我们将模型空间限制在w的一个L1-ball 中。为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:


34.png

    可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。

    相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。

    因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。



五: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范数:


35.png


目录
相关文章
|
10月前
|
机器学习/深度学习 数据挖掘 PyTorch
Logistic Regression 逻辑斯蒂回归
Logistic Regression 逻辑斯蒂回归
121 0
|
1月前
Ridge,Lasso,Elasticnet回归
这篇文章探讨了多元线性回归与正则化的结合,包括Ridge、Lasso和Elasticnet回归。Ridge回归通过添加L2惩罚项提高模型鲁棒性,但可能牺牲一些准确性。Lasso回归引入L1范数,对异常值更敏感,能进行特征选择。Elasticnet结合L1和L2范数,允许在正则化中平衡两者。通过调整α和l1_ratio参数,可以控制整体正则化强度和正则化类型的比例。
21 0
|
1月前
R语言stan泊松回归Poisson regression
R语言stan泊松回归Poisson regression
|
1月前
|
机器学习/深度学习 算法
逻辑回归(Logistic Regression)详解
逻辑回归(Logistic Regression)详解
15 0
|
10月前
|
机器学习/深度学习 算法 PyTorch
Softmax回归(Softmax Regression)
Softmax回归(Softmax Regression),也称为多类别逻辑回归或多项式回归,是一种用于解决多类别分类问题的统计学习方法。它是逻辑回归在多类别情况下的扩展。
171 3
|
机器学习/深度学习 算法
线性回归(Linear regression)算法
属于有监督学习、判别模型、有预测函数、有优化目标,有优化求解算法
270 0
|
算法 Python
利用python实现Ridge岭回归和Lasso回归
利用python实现Ridge岭回归和Lasso回归
291 0
利用python实现Ridge岭回归和Lasso回归
|
Python
Lasso 和 Ridge回归中的超参数调整技巧(下)
Lasso 和 Ridge回归中的超参数调整技巧
298 0
Lasso 和 Ridge回归中的超参数调整技巧(下)
|
机器学习/深度学习 数据可视化 Python
Lasso 和 Ridge回归中的超参数调整技巧(上)
Lasso 和 Ridge回归中的超参数调整技巧
690 0
Lasso 和 Ridge回归中的超参数调整技巧(上)