1. 程式人生 > >0 範數、1 範數、2 範數有什麼區別?

0 範數、1 範數、2 範數有什麼區別?

最近學習經常能看到範數,又不是特別懂,所以收集了幾篇知乎上的答案,結尾附上答案原地址

1.來自JI Weiwei的回答

你是問向量範數還是矩陣範數?
要更好的理解範數,就要從函式、幾何與矩陣的角度去理解,我儘量講的通俗一些。
我們都知道,函式與幾何圖形往往是有對應的關係,這個很好想象,特別是在三維以下的空間內,函式是幾何影象的數學概括,而幾何影象是函式的高度形象化,比如一個函式對應幾何空間上若干點組成的圖形。
但當函式與幾何超出三維空間時,就難以獲得較好的想象,於是就有了對映的概念,對映表達的就是一個集合通過某種關係轉為另外一個集合。通常數學書是先說對映,然後再討論函式,這是因為函式是對映的一個特例。
為了更好的在數學上表達這種對映關係,(這裡特指線性關係)於是就引進了矩陣。這裡的矩陣就是表徵上述空間對映的線性關係。而通過向量來表示上述對映中所說的這個集合,而我們通常所說的基,就是這個集合的最一般關係。於是,我們可以這樣理解,一個集合(向量),通過一種對映關係(矩陣),得到另外一個幾何(另外一個向量)。
那麼向量的範數,就是表示這個原有集合的大小。
而矩陣的範數,就是表示這個變化過程的大小的一個度量。

那麼說到具體几几範數,其不過是定義不同,一個矩陣範數往往由一個向量範數引出,我們稱之為運算元範數,其物理意義都如我上述所述。

以上符合知乎回答問題的方式。

接下來用百度回答方式:

0範數,向量中非零元素的個數。

1範數,為絕對值之和。

2範數,就是通常意義上的模。

2.來自魏通的回答

@邱乾方 指出錯誤,已改正。

以下分別列舉常用的向量範數和矩陣範數的定義。
  • 向量範數

1-範數:

||x||_1 = \sum_{i=1}^N|x_i|,即向量元素絕對值之和,matlab呼叫函式norm(x, 1) 。

2-範數:

||\textbf{x}||_2 =\sqrt{\sum_{i=1}^Nx_i^2},Euclid範數(歐幾里得範數,常用計算向量長度),即向量元素絕對值的平方和再開方,matlab呼叫函式norm(x, 2)。

\infty-範數:||\textbf{x}||_\infty = \max_{i}|x_i|,即所有向量元素絕對值中的最大值,matlab呼叫函式norm(x, inf)。


-\infty-範數:||\textbf{x}||_{-\infty}=\min_i|x_i|

,即所有向量元素絕對值中的最小值,matlab呼叫函式norm(x, -inf)。


p-範數:||\textbf{x}||_p = (\sum_{i=1}^N|x_i|^p)^{\frac{1}{p}}
,即向量元素絕對值的p次方和的1/p次冪,matlab呼叫函式norm(x, p)。


  • 矩陣範數

1-範數:||A||_1 = \max_j\sum_{i=1}^m|a_{i,j}|
, 列和範數,即所有矩陣列向量絕對值之和的最大值,matlab呼叫函式norm(A, 1)。


2-範數:||A||_2 = \sqrt{\lambda_1}"\lambda<br/” eeimg=”1”>為A^TA的最大特徵值。

,譜範數,即A’A矩陣的最大特徵值的開平方。matlab呼叫函式norm(x, 2)。

\infty-範數:||A||_\infty = \max_i\sum_{j=1}^N|a_{i,j}|

,行和範數,即所有矩陣行向量絕對值之和的最大值,matlab呼叫函式norm(A, inf)。


F-範數:||A||_F=\left(\sum_{i=1}^m\sum_{j=1}^n|a_{i,j}|^2\right)^{\frac{1}{2}}

,Frobenius範數,即矩陣元素絕對值的平方和再開平方,matlab呼叫函式norm(A, ’fro‘)。


核範數:||A||_* = \sum_{i=1}^{n}\lambda_i, \lambda_i是A的奇異值

即奇異值之和。

我是原連結