L1-norm (L1范数) L2-norm(L2范数)

news/2024/11/24 2:19:28/

同样存在L0、L3等,L1、L2范数应用比较多。

一个向量的 norm 就是将该向量投影到 [0, ∞​) 范围内的值,其中 0 值只有零向量的 norm 取到。不难想象,将其与现实中距离进行类比,在机器学习中 norm 也就总被拿来表示距离关系:根据怎样怎样的范数,这两个向量距离多远。这里怎样怎样的范数就是范数的种类,即p-norm,严格定义为:

当p取1时被称为1-norm,也就是L1-norm,同理可得L2-norm。

L1和L2范数定义即为: 

                  

L2展开就是欧几里得范数:

题外话,其中 L1-norm 又叫做 taxicab-norm 或者 Manhattan-norm,可能最早提出的大神直接用在曼哈顿区坐出租车来做比喻吧。下图中绿线是两个黑点的 L2 距离,而其他几根就是 taxicab 也就是 L1 距离,确实很像我们平时用地图时走的路线了。

L1 和 L2 范数在机器学习上最主要的应用大概分下面两类:

(1)作为损失函数使用

(2)作为正则项使用也即所谓 L1-regularization 和 L2-regularization

例如:(1)损失函数

在回归问题中

待解决的问题是,找出一条线,让数据点到线上的总距离(也就是error)最小。

因为范数可以表示距离,因此可以用能表示距离的L1-norm和L2-norm作为损失函数,度量预测值与实际目标之间的距离,最小化损失相当于在最小化预测值与实际值之间的距离。

  1. L1-norm损失函数,又称为最小绝对偏差 (least absolute deviation,LAD)。

最小化损失函数,其实就是最小化预测值和目标值的绝对值。

  1. L2-norm损失函数,又称为最小二乘误差(least squares error, LSE)。

一般选择L2做损失函数,不用L1的原因:

联想一个数学问题,利用微积分求一个方程的最小值,一般步骤为:求导、置零、解方程。但如果给出一个绝对值的方程,求最小值就有点麻烦了,因为绝对值的倒数是不连续的。

在L1和L2做损失函数的选择中,也会遇到同样的问题,选择L2的原因就是:计算方便,可以直接求导获得取最小值时各个参数的取值。

此外还有一点,用L2一定只有一条最好的预测线,L1则因为其性质可能存在多个最优解。

L1也有优点,那就是鲁棒性更强,对异常值更不敏感。

(2)正则项

对于实验过程中出现的过拟合问题,正则化可以防止过拟合。从数学角度,就是在损失函数中加个正则项,防止参数过度拟合。

L1-regularization 和 L2-regularization 都是常用的正则项,公式如下:

这两个正则项主要有两点不同:

  1. L2可以让参数衰减,防止模型过拟合。
  2. L1可以产生稀疏权值矩阵,即产生一个稀疏模型,把不重要的特征直接置零,也就是特征自动选择,所以L1是一个天然的特征选择器,而L2则不会。

关于性质B,用直观的例子进行讲解。

我们常用梯度下降法优化网络,需要求导获得梯度,然后更新参数。

分别先对 L1 正则项和 L2 正则项来进行求导。

(Sign()符号函数:在数学和计算机运算中,其功能是取某个数的符号(正或负): 当x>0,sign(x)=1;当x=0,sign(x)=0; 当x<0, sign(x)=-1。)

将L1和L2和导数画在图上。

发现,在梯度更新时,不管 L1 的大小是多少(只要不是0)梯度都是1或者-1,所以每次更新时,它都是稳步向0前进。

而看 L2 的话,就会发现它的梯度会越靠近0,就变得越小。

总结:L1 防止模型过拟合的方式是产生稀疏解,实际上是减少特征数量。而 L2 是减小模型参数,尽管都能简化模型,但是一般来说 L2 模型的抗过拟合的能力更好一点。并且进一步说,L1 是假定参数符合拉普拉斯分布,L2 是假定参数符合高斯分布。

资料收集于网络资源。


http://www.ppmy.cn/news/546487.html

相关文章

正则项L1和L2

正则项 摘要 本文章主要讲述了L1和L2的基本定义,以及其所具有的性质,如下: L1 它的主要特性是能够产生稀疏解,某种程度上使得增加模型的”解释性“L2 它的主要特性是偏向于求得较小的解,通过限制权重的大小实现了对模型空间的限制,从而一定程度可以避免过拟合针对他们的…

L1 loss 是什么

L1 Loss&#xff08;也称为Mean Absolute Error&#xff09;是深度学习中常用的一种损失函数&#xff0c;用于衡量模型预测结果与真实标签之间的平均绝对误差。具体来说&#xff0c;对于一个大小为N的样本集合&#xff0c;L1 Loss定义如下&#xff1a; L 1 ( y , y ^ ) 1 N ∑…

L1、L2、smooth L1三类损失函数

一、常见的MSE、MAE损失函数 1.1 均方误差、平方损失 均方误差&#xff08;MSE&#xff09;是回归损失函数中最常用的误差&#xff0c;它是预测值与目标值之间差值的平方和&#xff0c;其公式如下所示&#xff1a; 下图是均方根误差值的曲线分布&#xff0c;其中最小值为预测值…

正则项:L1与L2

正则项 一般地&#xff0c;我们优化 M S E MSE MSE l m s e ∑ i ( y i − y ^ i ) 2 n l_{mse}\frac{\sum_i (y_i-\hat y_i)^2}{n} lmse​n∑i​(yi​−y^​i​)2​ 为了使参数尽可能小&#xff0c;加入正则项&#xff0c;防止过拟合&#xff0c;减小方差。L1正则可以更容易…

L1, L2以及smooth L1 loss

在机器学习实践中&#xff0c;你也许需要在神秘的L1和L2中做出选择。通常的两个决策为&#xff1a;1) L1范数 vs L2范数 的损失函数&#xff1b; 2) L1正则化 vs L2正则化。 作为损失函数 L1范数损失函数&#xff0c;也被称为最小绝对值偏差&#xff08;LAD&#xff09;&#…

YK-L1刷机

文章目录 1.测试是否能够连接到路由器2.刷breed3.Padavan firmware编译4.烧板5.验证杂文1.1设置应用开机后自启动1.编写测试用程序2.编写运行脚本3.编写start.service4.设置为开机自启动5.验证 1.2内核模块编写&#xff08;使用insmod方式&#xff09;1.3内核模块编写&#xff…

L1 和 L2的区别

L1 和 L2的区别&#xff1a; L1范数是指向量中各个元素绝对值值和&#xff0c;也有一个美称叫“稀疏规则算子”。&#xff08;Lasso regularization&#xff09; 比如向量 A [ 1 , − 1 , 3 ] A [1,-1,3] A[1,−1,3],那么A的L1范数为 ∣ 1 ∣ ∣ − 1 ∣ ∣ 3 ∣ |1||-1||…

L1和L2 复习问题

L1和L2 L2正则化&#xff0c;为什么L2正则化可以防止过拟合&#xff1f;L1正则化是啥&#xff1f; https://editor.csdn.net/md/?articleId106009362 “为什么所有这些都有助于减少过度拟合的问题&#xff1f;” 请考虑绝对值和平方函数的图&#xff0c;其中绝对值表示在L1期…