范数丨向量范数和矩阵范数

范数

​   有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用被称为范数 norm ( n o r m ) 的函数衡量向量大小。形式上, LP L P 范数定义如下:

||x||p=(i|xi|p)1p | | x | | p = ( ∑ i | x i | p ) 1 p

​   其中 pR,p1 p ∈ R , p ≥ 1

​   范数(包括 LP L P 范数)是将向量映射到非负值函数。直观上来说,向量 x x 的范数是衡量从原点到点 x x 的距离。更严格地说,范数是满足下列性质的任意函数:

  • f(x)=0x=0

    • f(x+y)f(x)+f(y)(triangle inequality) f ( x + y ) ≤ f ( x ) + f ( y ) ( 三 角 不 等 式 ( t r i a n g l e   i n e q u a l i t y ) )
      • αR,f(αx)=|α|f(x) ∀ α ∈ R , f ( α x ) = | α | f ( x )
      • 向量范数

        L0 L 0 范数

        有时候我们会统计向量中非零元素的个数来衡量向量的大小。有些作者将这种函数称为 “ L0 L 0 范数’’,但是这个术语在数学意义上是不对的。向量的非零元素的数目不是范数,因为对标量放缩 α α 倍不会改变该向量非零的数目。因此,L1 范数经常作为表示非零元素数目的替代函数。

      L1 L 1 范数

         L1 L 1 范数是我们经常见到的一种范数,它的定义如下:

      ||x||1=i|xi| | | x | | 1 = ∑ i | x i |

        表示向量 x x 中非零元素的绝对值之和。 matlab函数如下:

      norm(x,1);

      L2范数

         L2 L 2 范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种 L2 L 2 范数,它的定义如下:

      ||x||2=ix2i | | x | | 2 = ∑ i x i 2

        Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方。 matlab函数如下:

      norm(x,2);

      L L ∞ 范数

      ||x||=maxi|xi| | | x | | ∞ = max i | x i |

        即所有向量元素绝对值中的最大值,matlab调用函数:

      norm(x,inf);

      L L − ∞ 范数

      ||x||=mini|xi| | | x | | − ∞ = min i | x i |

        即所有向量元素绝对值中的最小值,matlab调用函数:

      norm(x,-inf);

      Lp L p 范数

      Lp=1nxpipx=(x1,x2,,xn) L p = ∑ 1 n x i p p , x = ( x 1 , x 2 , ⋯ , x n )

        即向量元素绝对值的p次方和的1/p次幂,matlab调用函数:

      norm(x, p);

      这里写图片描述
        上图表示了p从无穷到0变化时,三维空间中到原点的距离(范数)为1的点构成的图形的变化情况。以常见的 L2 L 2 范数 p=2 ( p = 2 ) 为例,此时的范数也即欧氏距离,空间中到原点的欧氏距离为1的点构成了一个球面。


      矩阵范数

      L1 L 1 范数

      ||A||1=maxji=1m|ai,j| | | A | | 1 = max j ∑ i = 1 m | a i , j |

        列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数:

      norm(A, 1);

      L2 L 2 范数

      ||A||2=λ1 | | A | | 2 = λ 1

        其中 λATA λ ∈ A T A 的最大特征值。

        谱范数,即 ATA A T A 矩阵的最大特征值的开平方。matlab调用函数:

      norm(A, 2);

      L L ∞ 范数

      ||A||=maxij=1N|ai,j| | | A | | ∞ = max i ∑ j = 1 N | a i , j |

        行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数:

      norm(A, inf);

      LF L F 范数

      ||L||F=(i=1mj=1n|ai,j|2)12 | | L | | F = ( ∑ i = 1 m ∑ j = 1 n | a i , j | 2 ) 1 2

        Frobenius 范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数:

      norm(A,'fro');

      L L ∗ 核范数

      ||A||=i=1nλi | | A | | ∗ = ∑ i = 1 n λ i

        其中, λi λ i A A <script type="math/tex" id="MathJax-Element-56">A</script>的奇异值。

        所以核范数是奇异值之和。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值