Lasso學習

Lasso的身世

Lasso全稱爲The Least Absolute Shrinkage and Selection Operator,是Tibshrani受到Breiman的Non-Negative Garrote(NNG)的啓發在1996年提出的一種壓縮估計方法,他把NNG的兩步合併爲一步,即L1-norm regularization。Lasso的巨大優勢在於它所構造的模型是Sparse的,因爲它會自動地選擇很少一部分變量構造模型。現在,Lasso已經家喻戶曉了,但是Lasso出生後的頭兩年卻很少有人問津。後來Tibshirani自己回憶時說,可能是由下面幾個原因造成的:1. 速度問題:當時計算機求解Lasso的速度太慢;2. 理解問題:大家對Lasso模型的性質理解不夠(直到Efron的LAR出來後大家才搞明白);3. 需求問題:當時還沒有遇到太多高維數據分析的問題,對Sparsity的需求似乎不足。Lasso的遭遇似乎在闡釋我們已經熟知的一些道理: 1.千里馬常有,而伯樂不常有(沒有Efron的LAR,Lasso可能很難有這麼大的影響力)。2.時勢造英雄(高維數據分析的問題越來越多,比如Bioinformatics領域)。3.金子總是會閃光的。

Lasso的思想

從線性迴歸到Lasso

使用最小二乘法(最小化殘差平方和(RSS))擬合的普通線性迴歸是數據建模的基本方法。其建模要點在於誤差項一般要求獨立同分布(常假定爲正態)零均值。
對較複雜的數據建模,普通線性迴歸會有一些問題:
- * 預測精度的問題 * 如果響應變量和預測變量之間有比較明顯的線性關係,最小二乘迴歸會有很小的偏倚,特別是如果觀測數量n遠大於預測變量p時,最小二乘迴歸也會有較小的方差。但是如果n和p比較接近,則容易產生過擬合;如果n小於p,最小二乘迴歸得不到有意義的結果。
- * 模型解釋能力的問題 * 一個多元線性迴歸模型裏的很多變量可能是和響應變量無關時也有可能產生多重共線性的現象:即多個預測變量之間明顯相關。這些情況都會增加模型的複雜程度,削弱模型的解釋能力。這時候需要進行變量選擇(特徵選擇)。其中一種選擇方法稱爲正則化(又稱收縮方法),主要包括:

  • 嶺迴歸(ridge regression):在最小化RSS的計算里加入了一個收縮懲罰項(正則化的l2範數),懲罰項的加入有利於縮減待估參數接近於0。
    這裏寫圖片描述
    這個懲罰項中lambda大於等於0,是個調整參數。因此重點在於lambda的確定,可以使用交叉驗證或者Cp準則。
    嶺迴歸優於最小二乘迴歸的原因在於方差&偏倚選擇。隨着lambda的增大,模型方差減小而偏倚(輕微的)增加。嶺迴歸缺點:在建模時,同時引入p個預測變量,罰約束項可以收縮這些預測變量的待估係數接近0,但並非恰好是0(除非lambda爲無窮大)。這個缺點對於模型精度影響不大,但給模型的解釋造成了困難。這個缺點可以由lasso來克服。(所以嶺迴歸雖然減少了模型的複雜度,並沒有真正解決變量選擇的問題
  • lasso迴歸: 通過對最小二乘估計加入罰約束,使某些係數的估計爲0。
    這裏寫圖片描述
    lasso是在RSS最小化的計算中加入一個l1範數作爲罰約束。l1範數的好處是當lambda充分大時可以把某些待估係數精確地收縮到0。
    關於lasso的發展和一些思想介紹可以參考網上很有名氣的一篇文章《統計學習那些事》(http://cos.name/2011/12/stories-about-statistical-learning/)。

認識Lasso

Lasso通過構造一個罰函數得到一個較爲精煉的模型,使得它壓縮一些係數,同時設定一些係數爲零。因此保留了子集收縮的優點,是一種處理具有復共線性數據的有偏估計。Lasso 的基本思想是在迴歸係數的絕對值之和小於一個常數的約束條件下,使殘差平方和最小化,從而能夠產生某些嚴格等於0 的迴歸係數,得到可以解釋的模型。將Lasso應用於迴歸,可以在參數估計的同時實現變量的選擇,較好的解決迴歸分析中的多重共線性問題,並且能夠很好的解釋結果.

Lasso相關文獻

以下是幾篇影響比較大的:(轉載自http://blog.csdn.net/godenlove007/article/details/11387977

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章