1. 程式人生 > >範數和正則化

範數和正則化

概念

範數是具有“長度”概念的函式。在向量空間內,為所有的向量的賦予非零的增長度或者大小。不同的範數,所求的向量的長度或者大小是不同的。

舉個例子,2維空間中,向量(3,4)的長度是5,那麼5就是這個向量的一個範數的值,更確切的說,是歐式範數或者L2範數的值。

對於p-範數,如果

X=[x1,x2,...,xn]

那麼向量x的p-範數就是

||X||p=(|x1|p+|x2|p+...+|xn|p)1p
當然用的最多的還是L1,L2範數

L1範數:

||X||1=(|x1|+|x2|+...+|xn|)

L2範數:

||X||2=(|x1|2+|x2|2+...+|xn|
2
)12

特別的,L0範數:指向量中非零元素的個數。無窮範數:指向量中所有元素的最大絕對值。

範數的意義

要更好的理解範數,就要從函式、幾何與矩陣的角度去理解。
我們都知道,函式與幾何圖形往往是有對應的關係,這個很好想象,特別是在三維以下的空間內,函式是幾何影象的數學概括,而幾何影象是函式的高度形象化,
比如:f(x)=x就是一條直線。
但當函式與幾何超出三維空間時,就難以獲得較好的想象,於是就有了對映的概念,對映表達的就是一個集合通過某種關係轉為另外一個集合。通常數學書是先說對映,然後再討論函式,這是因為函式是對映的一個特例。
為了更好的在數學上表達這種對映關係,(這裡特指線性關係)於是就引進了矩陣。這裡的矩陣就是表徵上述空間對映的線性關係。矩陣就是某種關係的集中表達。
於是,我們可以這樣理解,一個集合(向量),通過一種對映關係(矩陣),得到另外一個幾何(另外一個向量)。那麼向量的範數,就是表示這個原有集合的大小。比如維度。
而矩陣的範數,就是表示這個變化過程的大小的一個度量。
那麼說到具體几几範數,其不過是定義不同,一個矩陣範數往往由一個向量範數引出,我們稱之為運算元範數,其物理意義都如我上述所述。

  • 0範數,
  • 1範數,為絕對值之和。
  • 2範數,就是通常意義上的模。
  • 無窮範數,就是取向量的最大值。

  • 具體怎麼用,看不同的領域,看你來自計算機領域 用的比較多的就是迭代過程中收斂性質的判斷,如果理解上述的意義,在計算機領域,一般迭代前後步驟的差值的範數表示其大小,常用的是二範數,差值越小表示越逼近實際值,可以認為達到要求的精度,收斂。

總結

範數就是度量向量的變化程度的。