范数丨向量范数和矩阵范数
范数范数向量范数L0L0L^0范数L1L1L^1范数L2L2L^2范数L∞L∞L^{\infty}范数L−∞L−∞L^{-\infty}范数LpLpL^{p}范数矩阵范数L1L1L^1范数L2L2L^2范数L∞L∞L^\infty范数LFLFL^F范数L∗L∗L^*核范数 有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用...
范数
- 范数
- 向量范数
- L0 L 0 <script type="math/tex" id="MathJax-Element-2">L^0</script>范数
- L1 L 1 <script type="math/tex" id="MathJax-Element-3">L^1</script>范数
- L2 L 2 <script type="math/tex" id="MathJax-Element-4">L^2</script>范数
- L∞ L ∞ <script type="math/tex" id="MathJax-Element-5">L^{\infty}</script>范数
- L−∞ L − ∞ <script type="math/tex" id="MathJax-Element-6">L^{-\infty}</script>范数
- Lp L p <script type="math/tex" id="MathJax-Element-7">L^{p}</script>范数
- 矩阵范数
- L1 L 1 <script type="math/tex" id="MathJax-Element-8">L^1</script>范数
- L2 L 2 <script type="math/tex" id="MathJax-Element-9">L^2</script>范数
- L∞ L ∞ <script type="math/tex" id="MathJax-Element-10">L^\infty</script>范数
- LF L F <script type="math/tex" id="MathJax-Element-11">L^F</script>范数
- L∗ L ∗ <script type="math/tex" id="MathJax-Element-12">L^*</script>核范数
- 向量范数
有时我们需要衡量一个向量的大小。在机器学习中,我们经常使用被称为范数 (norm) ( n o r m ) <script type="math/tex" id="MathJax-Element-13">(norm)</script>的函数衡量向量大小。形式上, LP L P <script type="math/tex" id="MathJax-Element-14">L^P</script>范数定义如下:
其中 p∈R,p≥1 p ∈ R , p ≥ 1 <script type="math/tex" id="MathJax-Element-16">p \in R,p \geq 1</script>。
范数(包括 LP L P <script type="math/tex" id="MathJax-Element-17">L^P</script>范数)是将向量映射到非负值函数。直观上来说,向量 x x <script type="math/tex" id="MathJax-Element-18">x </script>的范数是衡量从原点到点 x x <script type="math/tex" id="MathJax-Element-19">x</script>的距离。更严格地说,范数是满足下列性质的任意函数:
-
<script type="math/tex" id="MathJax-Element-20">f(x) = 0 ⇒ x = 0</script>
- 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 ) ) <script type="math/tex" id="MathJax-Element-21">f(x + y) ≤ f(x) + f(y) (三角不等式 (triangle \space inequality))</script>
-
- ∀α∈R,f(αx)=|α|f(x) ∀ α ∈ R , f ( α x ) = | α | f ( x ) <script type="math/tex" id="MathJax-Element-22">∀α ∈ R, f(αx) = |α|f(x)</script>
-
向量范数
L0 L 0 <script type="math/tex" id="MathJax-Element-23">L^0</script>范数
有时候我们会统计向量中非零元素的个数来衡量向量的大小。有些作者将这种函数称为 “ L0 L 0 <script type="math/tex" id="MathJax-Element-24">L^0</script>范数’’,但是这个术语在数学意义上是不对的。向量的非零元素的数目不是范数,因为对标量放缩 α α <script type="math/tex" id="MathJax-Element-25">α</script>倍不会改变该向量非零的数目。因此, <script type="math/tex" id="MathJax-Element-26">L^1</script> 范数经常作为表示非零元素数目的替代函数。
L1 L 1 <script type="math/tex" id="MathJax-Element-27">L^1</script>范数
L1 L 1 <script type="math/tex" id="MathJax-Element-28">L^1</script>范数是我们经常见到的一种范数,它的定义如下:
||x||1=∑i|xi| | | x | | 1 = ∑ i | x i |<script type="math/tex; mode=display" id="MathJax-Element-29"> ||x||_1=\sum_{i}{|x_i|} </script>
表示向量 x x <script type="math/tex" id="MathJax-Element-30">x</script>中非零元素的绝对值之和。 matlab函数如下:norm(x,1);<script type="math/tex" id="MathJax-Element-31">L^2</script>范数
L2 L 2 <script type="math/tex" id="MathJax-Element-32">L^2</script>范数是我们最常见最常用的范数了,我们用的最多的度量距离欧氏距离就是一种 L2 L 2 <script type="math/tex" id="MathJax-Element-33">L^2</script>范数,它的定义如下:
||x||2=∑ix2i−−−−−√ | | x | | 2 = ∑ i x i 2<script type="math/tex; mode=display" id="MathJax-Element-34"> ||x||_2=\sqrt{\sum_ix_i^2} </script>
Euclid范数(欧几里得范数,常用计算向量长度),即向量元素绝对值的平方和再开方。 matlab函数如下:norm(x,2);L∞ L ∞ <script type="math/tex" id="MathJax-Element-35">L^{\infty}</script>范数
||x||∞=maxi|xi| | | x | | ∞ = max i | x i |<script type="math/tex; mode=display" id="MathJax-Element-36"> ||x||_{\infty}=\max_{i}|x_i| </script>即所有向量元素绝对值中的最大值,matlab调用函数:
norm(x,inf);L−∞ L − ∞ <script type="math/tex" id="MathJax-Element-37">L^{-\infty}</script>范数
||x||−∞=mini|xi| | | x | | − ∞ = min i | x i |<script type="math/tex; mode=display" id="MathJax-Element-38"> ||x||_{-\infty}=\min_i|x_i| </script>即所有向量元素绝对值中的最小值,matlab调用函数:
norm(x,-inf);Lp L p <script type="math/tex" id="MathJax-Element-39">L^{p}</script>范数
Lp=∑1nxpi−−−−−√p,x=(x1,x2,⋯,xn) L p = ∑ 1 n x i p p , x = ( x 1 , x 2 , ⋯ , x n )<script type="math/tex; mode=display" id="MathJax-Element-40"> L_p=\sqrt[p]{\sum\limits_{1}^n x_i^p},x=(x_1,x_2,\cdots,x_n) </script>即向量元素绝对值的p次方和的1/p次幂,matlab调用函数:
norm(x, p);
上图表示了p从无穷到0变化时,三维空间中到原点的距离(范数)为1的点构成的图形的变化情况。以常见的 L2 L 2 <script type="math/tex" id="MathJax-Element-41">L^2</script>范数 (p=2) ( p = 2 ) <script type="math/tex" id="MathJax-Element-42">(p=2)</script>为例,此时的范数也即欧氏距离,空间中到原点的欧氏距离为1的点构成了一个球面。矩阵范数
L1 L 1 <script type="math/tex" id="MathJax-Element-43">L^1</script>范数
||A||1=maxj∑i=1m|ai,j| | | A | | 1 = max j ∑ i = 1 m | a i , j |<script type="math/tex; mode=display" id="MathJax-Element-44"> ||A||_1=\max_j\sum_{i=1}^{m}|a_{i,j}| </script>列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数:
norm(A, 1);L2 L 2 <script type="math/tex" id="MathJax-Element-45">L^2</script>范数
||A||2=λ1−−√ | | A | | 2 = λ 1<script type="math/tex; mode=display" id="MathJax-Element-46"> ||A||_2=\sqrt{\lambda_1} </script>其中 λ∈ATA λ ∈ A T A <script type="math/tex" id="MathJax-Element-47">\lambda \in A^TA</script>的最大特征值。
谱范数,即 ATA A T A <script type="math/tex" id="MathJax-Element-48">A^TA</script>矩阵的最大特征值的开平方。matlab调用函数:
norm(A, 2);L∞ L ∞ <script type="math/tex" id="MathJax-Element-49">L^\infty</script>范数
||A||∞=maxi∑j=1N|ai,j| | | A | | ∞ = max i ∑ j = 1 N | a i , j |<script type="math/tex; mode=display" id="MathJax-Element-50"> ||A||_\infty=\max_i\sum_{j=1}^{N}|a_{i,j}| </script>行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数:
norm(A, inf);LF L F <script type="math/tex" id="MathJax-Element-51">L^F</script>范数
||L||F=(∑i=1m∑j=1n|ai,j|2)12 | | L | | F = ( ∑ i = 1 m ∑ j = 1 n | a i , j | 2 ) 1 2<script type="math/tex; mode=display" id="MathJax-Element-52"> ||L||_F=(\sum_{i=1}^{m}\sum_{j=1}^{n}|a_{i,j}|^2)^\frac{1}{2} </script>Frobenius 范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数:
norm(A,'fro');L∗ L ∗ <script type="math/tex" id="MathJax-Element-53">L^*</script>核范数
||A||∗=∑i=1nλi | | A | | ∗ = ∑ i = 1 n λ i<script type="math/tex; mode=display" id="MathJax-Element-54"> ||A||_*=\sum_{i=1}^{n}\lambda_i </script>其中, λi λ i <script type="math/tex" id="MathJax-Element-55">\lambda_i</script>是 A A <script type="math/tex" id="MathJax-Element-56"></script>的奇异值。
所以核范数是奇异值之和。
更多推荐


所有评论(0)