機器學習--Lasso回歸和嶺回歸
之前我們介紹了多元線性回歸的原理, 又通過一個案例對多元線性回歸模型進一步了解, 其中談到自變量之間存在高度相關, 容易產生多重共線性問題, 對於多重共線性問題的解決方法有: 刪除自變量, 改變數據形式, 添加正則化項, 逐步回歸, 主成分分析等. 今天我們來看看其中的添加正則化項.
添加正則化項, 是指在損失函數上添加正則化項, 而正則化項可分為兩種: 一種是L1正則化項, 另一種是L2正則化. 我們把帶有L2正則化項的回歸模型稱為嶺回歸, 帶有L1正則化項的回歸稱為Lasso回歸.
1. 嶺回歸
引用百度百科定義.
嶺回歸(英文名:ridge regression, Tikhonov regularization)是一種專用於共線性數據分析的有偏估計回歸方法,實質上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分信息、降低精度為代價獲得回歸系數更為符合實際、更可靠的回歸方法,對病態數據的擬合要強於最小二乘法。
通過定義可以看出, 嶺回歸是改良後的最小二乘法, 是有偏估計的回歸方法, 即給損失函數加上一個正則化項, 也叫懲罰項(L2範數), 那麽嶺回歸的損失函數表示為
其中, m是樣本量, n是特征數, 是懲罰項參數(其取值大於0), 加懲罰項主要為了讓模型參數的取值不能過大. 當趨於無窮大時, 對應趨向於0, 而表示的是因變量隨著某一自變量改變一個單位而變化的數值(假設其他自變量均保持不變), 這時, 自變量之間的共線性對因變量的影響幾乎不存在, 故其能有效解決自變量之間的多重共線性問題, 同時也能防止過擬合.
2. Lasso回歸
嶺回歸的正則化項是對求平方和, 既然能求平方也就能取絕對值, 而Lasso回歸的L1範數正是對
當只有兩個自變量時, L1範數在二維上對應的圖形是矩形(頂點均在坐標軸上, 即其中一個回歸系數為0), 對於這樣的矩形來說其頂點更容易與同心橢圓(等值線)相交, 而相交的點則為最小損失函數的最優解. 也就是說Lasso會出現回歸系數為0的情況. 對於L2範數來說則是圓形,其不會相交於坐標軸上的點, 自然也就不會出現回歸系數為0的情況. 當然多個自變量也是同樣的道理
3. 嶺回歸和Lasso回歸對比
相同點:
1. 嶺回歸和Lasso回歸均是加了正則化項的線性回歸模型, 本質上它們都是線性回歸模型.
2. 兩者均能在一定程度上解決多重共線性問題, 並且可以有效避免過擬合.
3. 回歸系數均受正則化參數的影響, 均可以用圖形表示回歸系數和正則化參數的關系, 並可以通過該圖形進行變量以及正則化參數的篩選.
不同點:
1. 嶺回歸的回歸系數均不為0, Lasso回歸部分回歸系數為0.
機器學習--Lasso回歸和嶺回歸