機器學習中范數的作用


范數的定義

范數的一般化定義:對於實數X,p-norm的定義為:
||X||p=(ni=1|xi|p)1p
其賦予某個向量空間(或矩陣)中每個元素以長度或大小。直觀地說,范數越大,則相應的向量或矩陣也就越大。三種范數在機器學習中的正則化與稀疏編碼(Sparse Coding)中有非常有趣的應用。

L0 范數

||X||0=0ni=0X0i with xi!=0
其表示向量中非零元素的個數。如果我們使用 L0 來規則化參數向量w,就是希望w的元素大部分都為零。 L0 范數的這個屬性,使其非常適用於機器學習中的稀疏編碼。在特征選擇中,通過最小化 L0 范數來尋找最少最優的稀疏特征項。但是, L0 范數的最小化問題是NP難問題。 L1 范數是 L0 范數的最優凸近似,它比 L0 范數要更容易求解。因此, L0 優化過程將會被轉換為更高維的范數(例如 L1 范數)問題。

L1 范數

||X||1=ni=1|Xi|
L1 范數是向量中各個元素絕對值之和,也被稱作“Lasso regularization”(稀疏規則算子)。

在機器學習特征選擇中的應用

稀疏規則化能夠實現特征的自動選擇。一般來說,xi的大部分元素(也就是特征)都是和最終的輸出yi沒有關系或者不提供任何信息的,在最小化目標函數的時候考慮xi這些額外的特征,雖然可以獲得更小的訓練誤差,但在預測新的樣本時,這些沒用的信息反而會被考慮,從而干擾了對正確yi的預測。稀疏規則化算子的引入就是為了完成特征自動選擇,它會學習地去掉這些沒有信息的特征,也就是把這些特征對應的權重置為0。
L1 范數與 L0 范數都可以實現稀疏,而 L1 范數比 L0 具有更好的優化求解特性而被廣泛使用。
L0 范數本身是特征選擇的最直接最理想的方案,但如前所述,其不可分,且很難優化,因此實際應用中我們使用 L1 來得到 L0 的最優凸近似。

L2 范數

||X||2=ni=0X2i

一.從學習理論的角度 L2 可以防止過擬合

我們讓 L2 的規則化項 ||w||2 最小,可以使w中的每個元素都很小,但是不是像 L1 范數那樣使元素等於0,而是接近於零。越小的參數說明模型越簡單,越簡單的模型越不容易產生過擬合的現象。??通過 L2 范數可以防止過擬合,提升模型的泛化能力。

二.從優化計算的角度 L2 范數可以有助於處理condition number 不好地情況下矩陣求逆很困難的問題

具體參見http://blog.csdn.net/zouxy09/article/details/24971995/
L2 范數不僅可以防止過擬合,還可以讓我們的優化求解變的穩定和迅速。

三. L2 范數與 L1 范數的關系

1)下降速度
我們知道,L1和L2都是規則化的方式,我們將權值參數以L1或者L2的方式放到代價函數里面去。然后模型就會嘗試去最小化這些權值參數。而這個最小化就像一個下坡的過程,L1和L2的差別就在於這個“坡”不同,如下圖:L1就是按絕對值函數的“坡”下降的,而L2是按二次函數的“坡”下降。所以實際上在0附近,L1的下降速度比L2的下降速度要快。
這里寫圖片描述
2)最優化問題的平滑性
從最優化問題解的平滑性來看, L1 范數的最優解相對於 L2 范數要少,但是其往往是最優解,而 L2 范數的解很多,但其更多的傾向於某種局部最優解。
這里寫圖片描述這里寫圖片描述
但由於 L1 范數並沒有平滑的方式表示,起初 L1 最優化問題解決起來非常困難。但是現在,很多凸優化問題使 L1 最優化成為可能。
3)模型空間的限制
實際上,對於L1和L2規則化的代價函數來說,我們可以寫成以下形式:
這里寫圖片描述
也就是說,我們將模型空間限制在w的一個L1-ball 中。為了便於可視化,我們考慮兩維的情況,在(w1, w2)平面上可以畫出目標函數的等高線,而約束條件則成為平面上半徑為C的一個 norm ball 。等高線與 norm ball 首次相交的地方就是最優解:
這里寫圖片描述
可以看到,L1-ball 與L2-ball 的不同就在於L1在和每個坐標軸相交的地方都有“角”出現,而目標函數的測地線除非位置擺得非常好,大部分時候都會在角的地方相交。注意到在角的位置就會產生稀疏性,例如圖中的相交點就有w1=0,而更高維的時候(想象一下三維的L1-ball 是什么樣的?)除了角點以外,還有很多邊的輪廓也是既有很大的概率成為第一次相交的地方,又會產生稀疏性。
相比之下,L2-ball 就沒有這樣的性質,因為沒有角,所以第一次相交的地方出現在具有稀疏性的位置的概率就變得非常小了。這就從直觀上來解釋了為什么L1-regularization 能產生稀疏性,而L2-regularization 不行的原因了。因此,一句話總結就是: L1 會趨向於產生少量的特征,而其他的特征都是0,而 L2 會選擇更多的特征,這些特征都會接近於0。Lasso在特征選擇時候非常有用,而Ridge就只是一種規則化而已。
L2 相對於 L1 具有更為平滑的特性,在模型預測中,往往比 L1 具有更好的預測特性。當遇到兩個對預測有幫助的特征時, L1 傾向於選擇一個更大的特征。而 L2 更傾向把兩者結合起來。

L2,1 范數

||X||2,1=ni=1tj=1X2i,j=ni=1X2i,:=ni=1||Xi,:||2
原始矩陣是n行t列的,可以看出 L2,1 是對列求和,也就是先對每行元素求 L2 范數,然后再按行求和。
從中可以看出, L2,1 范數就是對矩陣X中每行元素的 L2 范數之和。
在矩陣稀疏表示模型中,其作為正則化的作用?
它是每行的 L2 范數之和。在最小化問題中,只有每一行的 L2 都最小結果才能最小。而怎么才能使每一行的 L2 范數取得最小呢?當行內盡可能多的元素為零時,約束才可能取得最小。而行內盡可能取零的含義就是行稀疏。
不同於 L1 范數的稀疏要求(矩陣元素絕對值之和), L2,1 范數還要求行稀疏。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com