什么是范数?
我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。
在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小,就好比米和尺都可以来度量远近一样;对于矩阵范数,学过线性代数,我们知道,通过运算 $AX=B$,可以将向量 $X$ 变化为 $B$,矩阵范数就是来度量这个变化大小的。
这里简单地介绍以下几种向量范数的定义和含义
1、 L-P范数
与闵可夫斯基距离的定义一样,L-P 范数不是一个范数,而是一组范数,其定义如下:
$$ L_{p} = ||\text{x}||_{p} = \sqrt[p]{\sum_{i=1}{n}{x_ip}},\ \text{x}=(x_1, x_2, …, x_n) $$
根据 P 的变化,范数也有着不同的变化,一个经典的有关 P 范数的变化图如下:
上图表示了 p 从无穷到 0 变化时,三维空间中到原点的距离(范数)为 1 的点构成的图形的变化情况。以常见的 L-2 范数(p=2)为例,此时的范数也即欧氏距离,空间中到原点的欧氏距离为 1 的点构成了一个球面。
实际上,在 0 时,Lp 并不满足三角不等式的性质,也就不是严格意义下的范数。以 p=0.5,二维坐标 (1,4)、(4,1)、(1,9)为例,$ \sqrt[0.5]{1+\sqrt{4}}+\sqrt[0.5]{1+\sqrt{4}}<\sqrt[0.5]{1+\sqrt{9}} $。因此这里的 L-P 范数只是一个概念上的宽泛说法。
2、L0范数
当 P=0 时,也就是 L0 范数,由上面可知,L0 范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数。用上面的 L-P 定义可以得到的 L-0 的定义为:
$$ ||\text{x}||0=\sqrt[0]{\sum{i=0}n{x_i0}} $$
这里就有点问题了,我们知道非零元素的零次方为 1,但零的零次方,非零数开零次方都是什么鬼,很不好说明 L0 的意义,所以在通常情况下,大家都用的是:
$$ ||\text{x}||_0=#(i|x_i\neq0) $$
表示向量 x 中非零元素的个数。
对于 L0 范数,其优化问题为:
$$ \text{min}||\text{x}||_0, \ \text{s.t. }A\text{x}=b $$
在实际应用中,由于 L0 范数本身不容易有一个好的数学表示形式,给出上面问题的形式化表示是一个很难的问题,故被人认为是一个 NP 难问题。所以在实际情况中,L0 的最优问题会被放宽到 L1 或 L2 下的最优化。
3、L1范数
L1 范数是我们经常见到的一种范数,它的定义如下:
$$ ||\text{x}||1=\sum{i=1}^n{|x_i|} $$
表示向量 $\text{x}$ 中非零元素的绝对值之和。
L1 范数有很多的名字,例如我们熟悉的曼哈顿距离、最小绝对误差等。使用 L1 范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference):
$$ \text{SAD}(x_1, x_2)=\sum_i^n{|x_{1i}-x_{2i}|} $$
对于 L1 范数,它的优化问题如下:
$$ \text{min}||\text{x}||_1, \ \text{s.t. }A\text{x}=b $$
由于 L1 范数的天然性质,对 L1 优化的解是一个稀疏解,因此 L1 范数也被叫做稀疏规则算子。通过 L1 可以实现特征的稀疏,去掉一些没有信息的特征,例如在对用户的电影爱好做分类的时候,用户有 100 个特征,可能只有十几个特征是对分类有用的,大部分特征如身高体重等可能都是无用的,利用 L1 范数就可以过滤掉。
4、L2范数
L2 范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种 L2 范数,它的定义如下:
$$ ||\text{x}||2=\sum{i=1}n{x_i2} $$
表示向量元素的平方和再开平方。
像 L1 范数一样,L2 也可以度量两个向量间的差异,如平方差和(Sum of Squared Difference):
$$ \text{SSD}(x_1, x_2)=\sum_in{(x_{1i}-x_{2i})2} $$
对于L2范数,它的优化问题如下:
$$ \text{min}||\text{x}||_2, \ \text{s.t. }A\text{x}=b $$
L2 范数通常会被用来做优化目标函数的正则化项,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。
5、$L_{\infty}$范数
当 $P=\infty$ 时,也就是 $L_{\infty}$ 范数,它主要被用来度量向量元素的最大值,与 L0 一样,通常情况下表示为
$$ ||\text{x}||_{\infty}=\text{max}(|x_i|)$$
来表示 $L_{\infty}$
作者:SethChai
来源:CSDN
原文:https://blog.csdn.net/a493823882/article/details/80569888
版权声明:本文为博主原创文章,转载请附上博文链接!