機器學習 Lasso,L1範數,及其魯棒性

2021-08-11 04:27:16 字數 2823 閱讀 4813

前言:本文包括以下幾個方面,1. 介紹lasso,從最初提出lasso的**出發,注重動機;

2. l1和l2範數的比較,注重l1的稀疏性及魯棒性;

3. 從誤差建模的角度理解l1範數

1. lasso

最早提出lasso的文章,文獻[1],已被引用n多次。

注:對於不曉得怎麼翻譯的英文,直接搬來。

1) 文獻[1]的動機:

在監督學習中,ordinary least squares(ols) estimates 最小化所有資料的平方殘差(即只是讓經驗誤差最小化),存在2個問題:

1是**誤差(prediction accuracy):ols estimates總是偏差小,方差大;

2是可解釋性(interpretation):我們希望選出一些有代表性的子集就ok了。

【lasso還有個缺點,ref8:當p>>n時,(如 醫學樣本,基因和樣本數目),lasso卻最多只能選擇n個特徵】

為了解決上面2個問題,2種技術應運而生:

1是subset selection:其可解釋性強,但**精度可能會很差;

2是嶺回歸(ridge regression):其比較穩定(畢竟是新增了正則化項,把經驗風險公升級為結構風險),

但可解釋性差(只是讓所有coefficients都很小,沒讓任何coefficients等於0)。

看來這2種技術對於2大問題總是顧此失彼,lasso就被提出啦!其英文全稱是'least absolute shrinkage and selection operator'

lasso的目的是:shrink  some coefficients and sets others to 0,

保留subset selection可解釋性強的優點 和 ridge regression穩定性強的優點。

2)為什麼lasso相比ridge regression稀疏?

直觀的理解[1]

(a)圖:橢圓形是函式的影象,lasso的約束影象是菱形。

最優解是第一次橢圓線觸碰到菱形的點。最優解容易出現在角落,如圖所示,觸碰點座標是(0,c),等同於乙個coefficient=0;

(b)圖:嶺回歸的約束影象是圓形。

因為圓形沒有角落,所以橢圓線與圓形的第一次觸碰很難是在座標為(0,c)的點,也就不存在稀疏了。

2.  l1,l2範數誤差的增長速度(ref2,ref3)

圖1l1範數誤差的線性增長速度使其對大噪音不敏感,從而對不良作用形成一種抑制作用。

而l2範數誤差的二次增長速度 顯著放大了 大雜訊 負面作用。

3. 從誤差建模的角度理解

1)孟德宇老師從誤差建模的角度分析l1如何比l2魯棒。(ref3)

1:看圖1,由於l1範數的線性增長速度使其對大噪音不敏感,從而對其不良影響起到一種隱式抑制,因此相對魯棒。

2:從貝葉斯的角度,看圖2,l1範數誤差對應的拉普拉斯分布比l2範數誤差對應的高斯分布具有更為顯著的「厚尾」狀態,從而其更適合對大幅度噪音的似然描述,

從而導致對大噪音或異常點資料更加穩健的計算效果。

2)1是從誤差建模的角度,涉及這麼個問題:從貝葉斯角度,為什麼l1對應拉普拉斯,l2對應高斯分布呢?

這個問題我糾結了好久,因為rcc**涉及此分析。終於從知乎上找到解析:

對於回歸問題,對w引入先驗分布(高斯分布/拉普拉斯分布) -> 對樣本空間 關於w 求貝葉斯最大後驗估計(map) -> 得到了關於w的嶺回歸/lasso 

因此, 對引數引入 高斯先驗/拉普拉斯先驗 等價於 l2正則化/l1正則化

2是參考** ref 7: ( ref6的高階 )

除了高斯先驗、拉普拉斯先驗,還講了其他先驗。   

4. ref4

l0範數很難優化求解(np難問題),l1範數是l0範數的最優凸近似,比l0範數容易優化求解。

5. ref5 一篇極好的博文,全面分析了各種範數(l1,l2,核範數,魯棒pca)

參考:[1]《regression shrinkage and selection via the lasso》robert tibshirani

[2] 《improve robustness of sparse pca by l1-norm maximization》 meng deyu et.al

[3] 《誤差建模原理》孟德宇  人工智慧通訊

[4] 《convex optimization》s.boyd  (書)

[5]    (csdn部落格,總結的很好)

[6]   (github部落格)

[7] 《lazy sparse stochastic gradient descent for regularized mutlinomial logistic regression》

[8] 《regularization and variable selection via the elastic net》ppt  hui.zou

機器學習中的範數

lo範數是向量中非零元素的數目如果採用l0範數來規劃化乙個引數矩陣的,就是為了讓矩陣稀疏,希望大部分權值都為0。但是,這個術語在數學意義上是不對的,非零元素的數目不是範數,因為對向量縮放 倍不會改變該向量的非零數目。l1範數是向量中各個元素的絕對值的和,也叫做 稀疏規則運算元 l1範數能夠實現權值稀...

機器學習中的範數問題

一 l0範數與l1範數 範數相當於衡量乙個矩陣的大小 l0範數是指向量中非0的元素的個數。如果我們用l0範數來規則化乙個引數矩陣w的話,就是希望w的大部分元素都是0。這太直觀了,太露骨了吧,換句話說,讓引數w是稀疏的。ok,看到了 稀疏 二字,大家都應該從當下風風火火的 壓縮感知 和 稀疏編碼 中醒...

機器學習 正則化項L1範數與L2範數的關係

在學習機器學習過程中,我自己糾結了很久的乙個問題是 l1 norm 和 l2 norm 到底是什麼關係,有什麼區別。l1 和 l2 都是深度學習中常用的正則化項 regularizer 描述的是模型的複雜度,它的作用在於模型越複雜,正則化項越大,將它加在損失函式 loss function 後面作為...