在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小,就好比米和尺都可以来度量远近一样;对于矩阵范数,学过线性代数,我们知道,通过运算 A X = B AX=B AX=B,可以将向量X变化为B,矩阵范数就是来度量这个变化大小的。
$Lp=\sqrt[p]{\sum\limits_{1}^n x_i^p},x=(x_1,x_2,\cdots,x_n)$
实际上,在0 ≤ p < 1 \le p\lt 1 ≤p<1时,Lp并不满足三角不等式的性质,也就不是严格意义下的范数。以p=0.5,二维坐标(1,4)、(4,1)、(1,9)为例, ( 1 + 4 ) 0.5 + ( 4 + 1 ) 0.5 < ( 1 + 9 ) 0.5 \sqrt[0.5]{(1+\sqrt{4})}+\sqrt[0.5]{(\sqrt{4}+1)}<\sqrt[0.5]{(1+\sqrt{9})} 0.5(1+4)+0.5(4+1)<0.5(1+9)。因此这里的L-P范数只是一个概念上的宽泛说法。
2、L0范数
当P=0时,也就是L0范数,由上面可知,L0范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数。用上面的L-P定义可以得到的L-0的定义为:
$||x||=\sqrt[0]{\sum\limits_1^nx_i^0},x=(x_1,x_2,\cdots,x_n)$
$||x||_0=$#$(i|x_i\neq 0)$
对于L0范数,其优化问题为:
$min||x||_0$ s.t. Ax=b
3、L1范数
L1范数是我们经常见到的一种范数,它的定义如下:
$||x||_1=\sum_i|x_i|$
L1范数有很多的名字,例如我们熟悉的曼哈顿距离、最小绝对误差等。使用L1范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference):
$SAD(x_1,x_2)=\sum_i|x_{1i}-x_{2i}|$
对于L1范数,它的优化问题如下:
$min ||x||_1$ $s.t. Ax=b$
4、L2范数
L2范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种L2范数,它的定义如下:
$||x||_2=\sqrt{\sum_ix_i^2}$
$SSD(x_1,x_2)=\sum_i(x_{1i}-x_{2i})^2$
对于L2范数,它的优化问题如下:
$min ||x||_2$ $s.t. Ax=b$
5、L- ∞ 范 数 \infty范数 ∞范数
当P= ∞ \infty ∞时,也就是L- ∞ \infty ∞范数,它主要被用来度量向量元素的最大值。用上面的L-P定义可以得到的L ∞ \infty ∞的定义为:
$||x||_\infty=\sqrt[\infty]{\sum\limits_1^nx_i^\infty},x=(x_1,x_2,\cdots,x_n)$
$||x||_\infty=max(|x_i|)$
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230349.html原文链接:https://javaforall.net
