范数
范数分为向量范数、矩阵范数,其本质可以不准确但直观地说,是距离,分别表征向量大小、矩阵引起变化的大小。你可能会问,什么叫矩阵引起变化的大小,我们知道矩阵乘法运算AX=B,将向量X变为向量B,而矩阵范数表征的就是,A作为一个矩阵,其将X变成B,A->B的这个变化程度有多大。
L-P范数
L-P范数准确地来说,不是一个范数,而是一组范数的定义。p可以为0、1、2、3……这和闵可夫斯基距离类似。
L-P范数的公式为:Lp=p√∑ni=1xpi,(x=x1.x2.x3,…,xn)
L-0范数
L-0范数,也就是p=0。可以看到,不存在0√x的情况,所以在很多情况下,大家用
||x||0=x(i|xi≠0)
来表示,向量x中有多少个非零元素。
L-1范数
L-1范数的定义如下:
L1=∑ni=1|xi|,(x=x1.x2.x3,…,xn)
表示向量x中非零元素的绝对值之和。
L-1范数也被称为曼哈顿距离,形象地看,所谓曼哈顿距离就是测量在曼哈顿街区中,一辆车从一栋楼到另一栋楼的距离是多少,也叫绝对误差和(sum of absolute difference):
SAD(x1,x2)=∑i|x1i−x2i|
L-2范数
L-2范数是我们最常见也用的做多的范数,欧氏距离就是L-2范数的一种。其定义如下:
L2=2√∑ni=1x2i,(x=x1.x2.x3,…,xn)
L2可以度量两个向量之间的差距, 成为平方差和(sum of square difference)公式如下:
SSD(x1,x2)=∑i(x1i−x2i)2
无穷范数
无穷范数直观地来看,就是取向量的最大值。其定义如下:
L\infin=\infin√∑ni=1x\infini,(x=x1.x2.x3,…,xn)
先说结论,无穷范数表示的是最大值。
这可能很难理解,但我们可以在直觉上思考,210000要比1.910000要大得多得多,那么我们继续把他们的幂放大,放大到无穷大的时候,2\infin与1.9\infin相比,后者已经小到可以忽略不计。因此,无限方根就是2本身了。
度量两个向量的差异,我们通常称为切比雪夫( Chebyshev)距离:
max(|x2−x1|,|y2−y1|)
切比雪夫距离
啥叫切比雪夫距离?
国际象棋玩过么?
国王走一步能够移动到相邻的8个方格中的任意一个。
那么国王从格子 (x1,y1)走到格子 (x2,y2)最少需要多少步?
自己走走试试。你会发现最少步数总是 max(|x2−x1|,|y2−y1|)步。
切比雪夫距离就是衡量这样的距离。其应用广泛,因为只需取坐标距离的最大值,所以计算量不大,在游戏中广泛运用,比如Minecraft就是用切比雪夫距离来计算距离的。
范数的运用
计算机领域用的比较多的就是迭代过程中收敛性质的判断,如果理解上述的意义,在计算机领域,一般迭代前后步骤的差值的范数表示其大小,常用的是二范数,差值越小表示越逼近实际值,可以认为达到要求的精度,收敛。具体优化方法为以梯度下降为基础的一系列算法。
奇异值分解
- 本文作者: YA
- 本文链接: http://www.yuuuuang.com/2018/07/10/norms-or-maybe-more/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!