machine learning--L1 ,L2 norm
關於L1範數和L2範數的內容和圖示,感覺已經看過千百遍,剛剛看完此大牛博客http://blog.csdn.net/zouxy09/article/details/24971995/,此時此刻終於弄懂了那麽一丟丟,趕緊“趁熱”記錄一番!
從兩個方面看L1 norm和L2 norm的不同:
1.下降速度:
L1和L2都是規則化的方式,我們將權值參數 w 用L1或者L2範數的方式加到目標函數中。然後模型就會嘗試去最小化這些權值參數。
通用目標函數形式:
而這個最小化就像一個下坡的過程,L1和L2的差別就在於這個“坡”不同,如下圖:
L1就是按絕對值函數的“坡”下降的,而L2是按二次函數的“坡”下降。所以實際上在0附近,L1
L1 在民間人稱Lasso,L2 人稱Ridge。在《機器學習實戰》一書中chapter 8介紹回歸的章節中介紹“縮減法”時有提到嶺回歸和Lasso.
2.模型空間的限制:
實際上,對於L1和L2規則化的損失函數來說,我們可以寫成以下形式:
也就是說,我們將模型空間限制在w的一個L1-ball 中。為了便於可視化,我們考慮兩維的情況,在(w1, w2)平面上可以畫出目標函數的等高線,而約束條件則成為平面上半徑為C的一個 norm ball 。等高線與 norm ball 首次相交的地方就是最優解:
可以看到,L1-ball 與L2-ball 的不同就在於L1在和每個坐標軸相交的地方都有“角”出現,而目標函數的測地線除非位置擺得非常好,大部分時候都會在角的地方相交。註意到在角的位置就會產生稀疏性
相比之下,L2-ball 就沒有這樣的性質,因為沒有角,所以第一次相交的地方出現在具有稀疏性的位置的概率就變得非常小了。這就從直觀上來解釋了為什麽L1-regularization 能產生稀疏性,而L2-regularization 不行的原因了。
因此,一句話總結就是:L1會趨向於產生少量的特征,而其他的特征都是0,而L2會選擇更多的特征,這些特征都會接近於0。Lasso在特征選擇時候非常有用,而Ridge就只是一種規則化而已。
machine learning--L1 ,L2 norm