L1 和 L2 详解 (范数、损失函数、正则化)

本贴最后更新于 350 天前,其中的信息可能已经时异事殊

一、易混概念

  对于一些常见的距离先做一个简单的说明

  1.欧式距离

  假设 X 和 Y 都是一个 n 维的向量,即 X=(x1,x2,x3,…xn),Y=(y1,y2,y3,…yn

  则欧氏距离: D(X, Y)=\sqrt{\sum_{i=1}^{n}\left(x_{i}-y_{i}\right)^{2}}

2.L2 范数

  假设 X 是 n 维的特征 X=(x1,x2,x3,…xn

  L2 范数: ||X||_{2}=\sqrt{\sum_{i=1}^{n}x_{i}^{2}}

3 .闵可夫斯基距离

  这里的 p 值是一个变量,当 p=2 的时候就得到了欧氏距离。

  D(X, Y)=\left(\sum_{i=1}^{n}\left|x_{i}-y_{i}\right|^{p}\right)^{\frac{1}{p}}

4 .曼哈顿距离

  来源于美国纽约市曼哈顿区,因为曼哈顿是方方正正的。

  D(X, Y)=(\sum_{i=1}^{n}|x_{i}-y_{i}|)

二、损失函数

  L1 和 L2 都可以做损失函数使用。

1. L2 损失函数

  L2 范数损失函数,也被称为最小平方误差(LSE)。它是把目标值 yi 与估计值 f(xi) 的差值的平方和最小化。一般回归问题会使用此损失,离群点对次损失影响较大。

  ​image

2. L1 损失函数

  也被称为最小绝对值偏差(LAD),绝对值损失函数(LAE)。总的说来,它是把目标值 yi 与估计值 f(xi) 的绝对差值的总和最小化。

  ​image

3. 二者对比

  L1 损失函数相比于 L2 损失函数的鲁棒性更好。

  因为 L2 范数将误差平方化(如果误差大于 1,则误差会放大很多),模型的误差会比 L1 范数大的多,因此模型会对这种类型的样本更加敏感,这就需要调整模型来最小化误差。但是很大可能这种类型的样本是一个异常值,模型就需要调整以适应这种异常值,那么就导致训练模型的方向偏离目标了。

三、正则化

1. 正则化为什么可以避免过拟合?

  正规化是防止过拟合的一种重要技巧。

  正则化通过降低模型的复杂性, 缓解过拟合。过拟合发生的情况,拟合函数的系数往往非常大,为什么?

  如下图所示,就是过拟合的情况,拟合函数考虑到了每一个样本点,最终形成的拟合函数波动很大,也就是在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的系数非常大,就是模型中的 w 会很大。

  ​

2. L1 正则

  L1 正则常被用来进行特征选择,主要原因在于 L1 正则化会使得较多的参数为 0,从而产生稀疏解,我们可以将 0 对应的特征遗弃,进而用来选择特征。一定程度上 L1 正则也可以防止模型过拟合。

  假设 L(W) 是未加正则项的损失,λ 是一个超参,控制正则化项的大小。

  对应的损失函数: ​image

3. L2 正则

  主要用来防止模型过拟合,直观上理解就是 L2 正则化是对于大数值的权重向量进行严厉惩罚。鼓励参数是较小值,如果 w 小于 1,那么 w^2^ 会更小。

  对应的损失函数: ​image

4. 为什么 L1 会产生稀疏解

  稀疏性:很多参数值为 0。

  1)梯度的方式:

  对其中的一个参数 wi 计算梯度,其他参数同理, η 是步进, sign(wi) 是符号函数

  wi>0,sign(wi)=1;wi<0,sign(wi)= -1。

  L1 的梯度:

  ​image

  L2 的梯度:

  ​image

  当 wi 小于 1 的时候,L2 的惩罚项会越来越小,而 L1 还是会非常大,所以 L1 会使参数为 0,而 L2 很难。

  2)图形的方式:

  损失函数 L 与参数 w 的关系图,绿点是最优点。

  ​

  如果加上 L2 正则,损失函数 L 为 L+λw^2^ ,对应的函数是蓝线,最优点是黄点。

  ​

  如果是加上 L1 损失,那么损失函数 L 是 L+|w| ,对应的函数是粉线,最优点是红点,参数 w 变为 0。

  ​

  两种正则化,能不能将最优的参数变为 0,取决于最原始的损失函数在 0 点处的导数,如果原始损失函数在 0 点处的导数 ​image​ 不为 0,则加上 L2 正则化项 2λw 之后,导数依然不为 0,说明在 0 这点不是极值点,最优值不在 w=0 处。

  而施加 L1=L+λ|w| 正则项时,**导数在 w=0 这点不可导**。不可导点是否是极值点,就是看不可导点左右的单调性。单调性可以通过这个点左、右两侧的导数符号判断,导数符号相同则不是极值点,左侧导数正,右侧导数负,则是极大值,左侧导数负,右侧导数正,极小值。

  根据极值点判断原则, w=0 左侧导数 image ,只要正则项的系数 λ 大于image ,那么左侧导数小于 0, w=0 右侧导数 image ,所以 w=0 就会变成一个极小值点,所以 L1 经常会把参数变为 0,产生稀疏解。

  ‍

  • 数学
    32 引用 • 86 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...