機器學習--Lasso迴歸和嶺迴歸

以前咱們介紹了多元線性迴歸的原理, 又經過一個案例對多元線性迴歸模型進一步瞭解, 其中談到自變量之間存在高度相關, 容易產生多重共線性問題, 對於多重共線性問題的解決方法有: 刪除自變量, 改變數據形式, 添加正則化項, 逐步迴歸, 主成分分析等. 今天咱們來看看其中的添加正則化項.函數

添加正則化項, 是指在損失函數上添加正則化項, 而正則化項可分爲兩種: 一種是L1正則化項, 另外一種是L2正則化. 咱們把帶有L2正則化項的迴歸模型稱爲嶺迴歸, 帶有L1正則化項的迴歸稱爲Lasso迴歸.blog

1. 嶺迴歸

引用百度百科定義.數據分析

嶺迴歸(英文名:ridge regression, Tikhonov regularization)是一種專用於共線性數據分析的有偏估計迴歸方法,實質上是一種改良的最小二乘估計法,經過放棄最小二乘法的無偏性,以損失部分信息、下降精度爲代價得到迴歸係數更爲符合實際、更可靠的迴歸方法,對病態數據的擬合要強於最小二乘法。io

經過定義能夠看出, 嶺迴歸是改良後的最小二乘法, 是有偏估計的迴歸方法, 即給損失函數加上一個正則化項, 也叫懲罰項(L2範數), 那麼嶺迴歸的損失函數表示爲變量

其中, m是樣本量, n是特徵數, 是懲罰項參數(其取值大於0), 加懲罰項主要爲了讓模型參數的取值不能過大. 當趨於無窮大時, 對應趨向於0, 而表示的是因變量隨着某一自變量改變一個單位而變化的數值(假設其餘自變量均保持不變), 這時, 自變量之間的共線性對因變量的影響幾乎不存在, 故其能有效解決自變量之間的多重共線性問題, 同時也能防止過擬合.原理

2. Lasso迴歸

嶺迴歸的正則化項是對求平方和, 既然能求平方也就能取絕對值, 而Lasso迴歸的L1範數正是對取絕對值, 故其損失函數能夠表示爲百度

當只有兩個自變量時, L1範數在二維上對應的圖形是矩形(頂點均在座標軸上, 即其中一個迴歸係數爲0), 對於這樣的矩形來講其頂點更容易與同心橢圓(等值線)相交, 而相交的點則爲最小損失函數的最優解. 也就是說Lasso會出現迴歸係數爲0的狀況. 對於L2範數來講則是圓形,其不會相交於座標軸上的點, 天然也就不會出現迴歸係數爲0的狀況. 固然多個自變量也是一樣的道理sso

3. 嶺迴歸和Lasso迴歸對比

相同點:引用

1. 嶺迴歸和Lasso迴歸均是加了正則化項的線性迴歸模型, 本質上它們都是線性迴歸模型.方法

2. 二者均能在必定程度上解決多重共線性問題, 而且能夠有效避免過擬合.

3. 迴歸係數均受正則化參數的影響, 都可以用圖形表示迴歸係數和正則化參數的關係, 並能夠經過該圖形進行變量以及正則化參數的篩選.

不一樣點:

1. 嶺迴歸的迴歸係數均不爲0, Lasso迴歸部分迴歸係數爲0.

相關文章
相關標籤/搜索