機器學習下的各種norm到底是個什麼東西?

比如什麼L1 norm,L2 norm之類的。有什麼比較好的參考資料嗎?


Norm 的數學定義前面的答主已經回答的很好了,我就來補充一下幾種 norm 的性質。

放一張2維空間的圖,圖裡展示的是 norm 等於1的向量集合。

(圖片引自wikipedia)

可以看出,L_{1}norm 有很多的稜角,在這些稜角處,x的某些元素是0。因此,在進行凸優化時,L_{1}norm 可以使優化得出的解處於稜角處,從而使結果稀疏,在某些場景下(比如自然語言處理)得到的結果更有意義。

L_{2}norm 對於向量的每一個元素是一個光滑函數,這一特性使得用L_{2}norm 定義的目標函數更便於優化,比如可以使用拉格朗日對偶性進行轉化等。

L_{infty}norm 由於是向量元素中絕對值最大的,在某些學習問題中對參數進行正則化時使得限制條件相比其他 norm 更有意義。


中文名為範數_百度百科,英文參考Norm (mathematics)

特別的,對於n維歐幾里得空間L^p範數的定義為

|x|_p = left(sum_{i=1}^nx_i^p
ight)^{1/p},quad forall xin mathbb{R}^n

對於p=2的情形,可以定義mathbb{R}^n中更一般的L_2範數為:

|x|_2^2 = x

其中A為任意給定的正定矩陣。

對於p=infty時,L_infty的定義為:

|x|_infty = sup_i {|x_i|,;i=1,2,cdots,n}

對於函數空間,類似的定義L_p為:|f|_p=left(int_Omega |f(x)|^pdP
ight)^{1/p}

隨便找本泛函分析的入門書籍,前幾章會講到。


機器學習裡面很多問題其實是一個優化(optimization)的問題。既然是優化的問題,那麼就要有優化的對象(objective function)。最簡單地機器學習模型就是linear regression。解決linear regression最常見的演算法是least square,而least square實際是解決了一個關於linear regression的優化問題,如下

argmin_eta (|y - Xeta|^2_2)

所以這裡面我們的objective function其實是一個L-2 norm。這只是一個最簡單的例子。從這個例子裡面我們可以看到norm其實是用來定義了我們優化的目標。在這個例子裡面,我們其實想找到能夠將x 映射到 y上最好的beta。對於同樣地問題,不同的演算法有不同的objective function。但是大多數都會用norm。我個人覺得原因有二:1. norm表示了兩個vector之間的距離,而優化其實是想找到兩個vector之間的最小距離 2. norm對於高維數據依然適用。


機器學習中的範數規則化之(一)L0、L1與L2範數

來源:CSDN zouxy09的專欄


實在不行,你理解為「長度」或者兩向量之間的「距離」就可以了

L2是歐幾里得距離,L1是曼哈頓距離


推薦閱讀:

學習程序資料推薦?
在人工智慧和機器學習領域,作為一個產品經理可以做什麼?
怎麼從一個有演算法基礎但是沒有項目經驗的學生,成長為數據挖掘工程師?
機器學習書籍選擇?
如何做一名優秀的數據產品經理?

TAG:數據挖掘 | 機器學習 | 模式識別 | 數學建模 | 泛函分析 |