L1与L2正则化

摘要:
L1正则化和L2正则化可以被视为损失函数的惩罚项。L1正则化模型被称为Lasso回归,L2正则化模型称为Ridge回归。即L1范数和L2范数。因此,L1正则化更容易使参数为零,而L2正则化减少了参数值,如下图所示。
1.正则化

正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的复杂度,使得模型在复杂度和性能达到*衡。
常用的正则化方法有L1正则化和L2正则化。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。 L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归。但是使用正则化来防止过拟合的原理是什么?L1和L2正则化有什么区别呢?

1.1 L1-norm L2-norm

L1正则化与L2正则化又称为L1-norm,L2-norm。即是L1范数与L2范数。

范数:范数是衡量某个向量空间或者矩阵每个向量的长度或者大小。

范数的数学的一般定义为:

[||x||_p=(sum_{i=1}^N|x_i|^p)^{1/p} ]

L1范数: p=1时,表示所有元素的绝对值之和。
L2范数, p=2时,表示某个向量所有元素*方和再开根。也就是我们所说的欧几里距离

2. 区别于联系
L1-normL2-norm
稀疏解可获得不可获得
正则化方式减少特征数量(获得稀疏解)减少w的大小
鲁棒性具有(对异常值不敏感)
3.正则化如何解决过拟合?

3.1 直观理解

当模型较为复杂的时候,模型尝试去兼顾每一个点,导致模型函数处于一种动荡的状态。这就意味着函数在某个很小的区间导数非常大,由于自变量可大可小,所以只要系数足够大,导师值就很大。当我们的参数(lambda)增加的时候,为了是目标函数减少,所有的( heta)都会一定程度上的减小。从而达到了解决过拟合的目的。

Ridge:

[J( heta)=1/2m[sum_{i=1}^N(h_ heta(x^{(i)})-y^{(i)})+lambdasum_{i=1}^N heta_j^2] ]

如果发生了过拟合,那么( heta)一般都是比较大的值,加入(lambda)过后只要控制(lambda)的大小。

(lambda)很大的时候,$$ heta$$就会变得很小。

就达到了约束数量庞大的特征的目的。

3.2 贝叶斯角度理解

文章《深入理解线性回归算法(二):正则项的详细分析》提到,当先验分布是拉普拉斯分布时,正则化项为L1范数;当先验分布是高斯分布时,正则化项为L2范数。本节通过先验分布来推断L1正则化和L2正则化的性质。

画高斯分布和拉普拉斯分布图(来自知乎某网友):

img

由上图可知,拉普拉斯分布在参数w=0点的概率最高,因此L1正则化相比于L2正则化更容易使参数为0;高斯分布在零附*的概率较大,因此L2正则化相比于L1正则化更容易使参数分布在一个很小的范围内。

3.3 纯数学解释

[a= heta(wx+b) ]

记录他们的损失函数为

假设只有一个变量x和一个参数w,模型为

img

损失函数为

img

加上L1正则后损失函数为

img

损失函数对w求导

img

第一项是本来就有的,我们用一个常数字母c代替

img

更新w

img

可以看到w更新的时候多减了一项,所以它会更快的趋向0

同理看看L2正则的情况

img

可以看到w的系数变小了,它的更新方式跟L1不一样。

因此,可以说L1会让系数趋向于0,而L2会让系数变小。

3.4 PRML的图形角度分析

因为L1正则化在零点附*具有很明显的棱角,L2正则化则在零附*比较*缓。所以L1正则化更容易使参数为零,L2正则化则减小参数值,如下图。

img

img

(1)L1正则化使参数为零 (2)L2正则化使参数减小

3.5 知乎点赞最多的图形角度分析

函数极值的判断定理

(1)当该点导数存在,且该导数等于零时,则该点为极值点;

(2)当该点导数不存在,左导数和右导数的符号相异时,则该点为极值点。

如下面两图:

img

img

左图对应第一种情况的极值,右图对应第二种情况的极值。本节的思想就是用了第二种极值的思想,只要证明参数w在0附*的左导数和右导数符合相异,等价于参数w在0取得了极值。

图形角度分析

损失函数L如下:

img

黑色点为极值点x1,由极值定义:L'(x1)=0;

含L2正则化的损失函数:

img

img

由结论可定性的画含L2正则化的图:

img

极值点为黄色点,即正则化L2模型的参数变小了。

含L1正则化的损失函数****:

img

img

因此,只要C满足推论的条件,则损失函数在0点取极值(粉红色曲线),即L1正则化模型参数个数减少了。

img

4. 应用场景

How to decide which regularization (L1 or L2) to use?

Is there collinearity among some features? L2 regularization can improve prediction quality in this case, as implied by its alternative name, "ridge regression." However, it is true in general that either form of regularization will improve out-of-sample prediction, whether or not there is multicollinearity and whether or not there are irrelevant features, simply because of the shrinkage properties of the regularized estimators. L1 regularization can't help with multicollinearity; it will just pick the feature with the largest correlation to the outcome. Ridge regression can obtain coefficient estimates even when you have more features than examples... but the probability that any will be estimated precisely at 0 is 0.

What are the pros & cons of each of L1 / L2 regularization?

L1 regularization can't help with multicollinearity. L2 regularization can't help with feature selection. Elastic net regression can solve both problems. L1 and L2 regularization are taught for pedagogical reasons, but I'm not aware of any situation where you want to use regularized regressions but not try an elastic net as a more general solution, since it includes both as special cases.

实际使用过程中,如果数据量不是很大,用L2的精度要好。

多重共线性(multicollinearity)指的是你建模的时候,解释变量之间有高度相关性。

img

5. 参考

比较全面解释正则化

周志华《机器学习西瓜书》

l1正则与l2正则的特点是什么,各有什么优势?

免责声明:文章转载自《L1与L2正则化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇macOS 上安装 PECLUEFI GPT 安装windows 7 (64bit)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

范数与距离

范数与距离 目录 范数与距离 距离的概念 范数的概念 向量范数与矩阵范数的理解 范数的分类 1.L-P范数 2.L0范数 3.L1范数 4.L2范数 距离的分类1.欧氏距离——对应L2范数 距离的概念 给定一个集合(V),在(V)上定义一种新的运算:距离:(V imes V ightarrow R,forall x,y in V,)在(...

动手学深度学习13-权重衰减

权重衰减 高维线性回归实验 从零开始实现 初始化模型参数 定义L2范数惩罚项 定义训练和测试 使用权重衰减 pytorch简洁实现 小结 上一节中提提到的过拟合现象,在模型的训练误差远小于测试集上的误差。虽然增大训练接数据集可以减轻过拟合,但是获得额外的训练数据往往代价过大,本节介绍过拟合常用的方式:权重衰减(weight decay)。 权重衰...

盲去模糊之模型与算法

  写这篇博客的缘由:   对于专利《基于边缘自适应的高效图像盲去模糊方法》,是关于图像处理方面的,平时写代码和分析问题时一套一套的,很长时间不讲突然要向别人说就磕磕巴巴的也说不清楚。遂有了要认真思考,并陈述总结自己所学的想法。虽然以后并不定做盲去模糊方面的东西,但所学总有相通。遂写下这篇文章描述整体思路。 背景:拍照过程中相机抖动、离焦、散焦或目标物体...

YOLO v4分析

YOLO v4分析 YOLO v4 的作者共有三位:Alexey Bochkovskiy、Chien-Yao Wang 和 Hong-Yuan Mark Liao。其中一作 Alexey Bochkovskiy 是位俄罗斯开发者,此前曾做出 YOLO 的 windows 版本。那么,YOLOv4 性能如何呢? 在实际研究中,有很多特性可以提高卷积神经网络(...

python机器学习sklearn 岭回归(Ridge、RidgeCV)

  1、介绍     Ridge 回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题。 岭系数最小化的是带罚项的残差平方和,          其中,α≥0α≥0 是控制系数收缩量的复杂性参数: αα 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。        2、参数         alpha:{float,array-like}...

Numpy入门学习之(二)linalg库----向量范数、矩阵范数、行列式、矩阵逆、幂

转自:https://blog.csdn.net/qq_30138291/article/details/76327051   老师课堂总结,请勿转载 Numpy中的核心线性代数工具 numpy.linalg模块包含线性代数的函数。使用这个模块,我们可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。 求解矩阵的范数 在实数域中,数的大小和两个数之间的...