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