【什么是范数】L1、L2范数介绍

一、 什么是范数

范数(Norm)是数学中用于衡量向量大小(或距离)的一种概念。在几何和代数中,范数可以提供一个向量长度或大小的量度。更正式地说,范数是一个函数,它将向量的集合映射到非负实数,满足以下性质:

在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小,就好比米和尺都可以来度量远近一样

二、 L1范数------曼哈顿范数(Manhattan Norm)

表示向量各元素的绝对值之和,它对应于在坐标轴上移动到向量端点所需的最小步伐数。

使用 L1范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference):

由于L1范数的天然性质,对L1优化的解是一个稀疏解, 因此L1范数也被叫做稀疏规则算子。 通过L1可以实现特征的稀疏,去掉一些没有信息的特征,例如在对用户的电影爱好做分类的时候,用户有100个特征,可能只有十几个特征是对分类有用的,大部分特征如身高体重等可能都是无用的,利用L1范数就可以过滤掉。

2.1 L1范数的性质

  • 稀疏性:L1范数倾向于产生稀疏解,即解中的许多元素为零。这在某些情况下非常有用,比如在稀疏编码或压缩感知中。
  • 线性:L1范数是一个线性算子,意味着它满足线性性质,即对于任意标量 α和向量 𝑥 和𝑦,有∣∣𝛼𝑥+𝑦∣∣=∣𝛼∣⋅∣∣𝑥∣∣+∣∣𝑦∣∣。
  • 次梯度:L1范数不是处处可微的,因为它在原点处有一个尖角。但是,它具有次梯度(subgradient),这允许在优化问题中使用它,即使它不是处处可微的。

2.2 L1范数的应用

  • 稀疏编码:在机器学习中,L1正则化(Lasso回归)通过惩罚较大的系数来促进特征选择和稀疏解。
  • 压缩感知:在信号处理中,L1范数用于从少量的随机测量中恢复稀疏信号。
  • 优化问题:在许多优化问题中,L1范数被用作正则化项,以防止模型过拟合。

在OpenCV中,cv2.norm() 函数可以用来计算两个点集之间的L1范数距离,通过指定 cv2.NORM_L1 作为参数。这在比较图像或点集时特别有用,尤其是在需要稀疏解的情况下。

三、 L2范数------欧几里得范数(Euclidean Norm)

表示向量元素的平方和再开平方,这是最直观的向量长度定义,对应于我们通常所说的"长度"。。

距离欧氏距离就是一种L2范数,如小学学过的求坐标轴上P(x,y)与坐标原点o的距离。
像L1范数一样,L2也可以度量两个向量间的差异,如平方差和(Sum of Squared Difference): (或者可以理解为两点之间的距离)

3.1 L2范数的性质:

3.2 L2范数的应用:

  • 几何距离:L2范数在几何上表示两点之间的直线距离,因此常用于计算两点之间的距离。
  • 优化问题:在优化问题中,L2范数用作正则化项,有助于控制模型的复杂度,防止过拟合。这种方法被称为L2正则化或Ridge Regression。
  • 机器学习:在机器学习算法中,如线性回归和支持向量机,L2范数用于惩罚模型参数的大值,从而促进模型的平滑性和泛化能力。

在OpenCV中,可以使用cv2.norm()函数计算两个点集之间的L2范数距离,通过指定cv2.NORM_L2作为参数。这在比较图像或点集时特别有用,尤其是在需要考虑真实距离或误差时。

3.3 与L1范数的比较:

  • L1范数(曼哈顿距离)是向量元素绝对值之和,它在几何上表示在坐标轴上移动到向量端点所需的最小步伐数。
  • L2范数与L1范数相比,通常会产生更平滑的解,而L1范数则倾向于产生稀疏解(即解中的许多元素为零)。

四、 L∞范数------最大值范数(Maximum Norm)

表示向量所有元素绝对值的最大值。

五、 总结

5.1 范数的一般形式:L-P范数

当 p=2 时,它是欧几里得范数;当 p=1 时,它是曼哈顿范数;当 𝑝→∞时,它是最大值范数。

在实际应用中,选择哪种范数取决于问题的特性和所需的解的性质。例如,L1范数促进稀疏解,而L2范数则倾向于产生平滑解。其他p-范数可能在需要特定平衡时使用。

5.2 L1正则化产生稀疏的权值, L2正则化产生平滑的权值为什么会这样?

在支持向量机学习过程中,L1范数实际是一种对于成本函数求解最优的过程,因此,L1范数正则化通过向成本函数中添加L1范数,使得学习得到的结果满足稀疏化,从而方便提取特征。

L1范数可以使权值稀疏,方便特征提取。 L2范数可以防止过拟合,提升模型的泛化能力。

5.3 L1和L2正则先验分别服从什么分布

L1服从拉普拉斯分布,L2服从高斯分布。

六、 参考

https://blog.csdn.net/qq_37466121/article/details/87855185

相关推荐
正义的彬彬侠26 分钟前
sklearn.datasets中make_classification函数
人工智能·python·机器学习·分类·sklearn
belldeep28 分钟前
python:用 sklearn 转换器处理数据
python·机器学习·sklearn
正义的彬彬侠1 小时前
CatBoost 中对分类特征进行目标变量统计编码 公式解析
人工智能·机器学习·集成学习·boosting·catboost
Chef_Chen2 小时前
从0开始学习机器学习--Day22--优化总结以及误差作业(上)
人工智能·学习·机器学习
华清元宇宙实验中心2 小时前
【每天学点AI】前向传播、损失函数、反向传播
深度学习·机器学习·ai人工智能
宋一诺332 小时前
机器学习—高级优化方法
人工智能·机器学习
龙的爹23333 小时前
论文 | The Capacity for Moral Self-Correction in LargeLanguage Models
人工智能·深度学习·机器学习·语言模型·自然语言处理·prompt
phoenix@Capricornus4 小时前
矩阵的对角化&特征值分解
图像处理·线性代数·机器学习·矩阵
Chef_Chen4 小时前
从0开始学习机器学习--Day25--SVM作业
学习·机器学习·支持向量机
秀儿还能再秀14 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习