說起線性回歸大家肯定都不陌生,我們經常用這種手段來揭示一組變量間的相關性,一般情況下,我們用線性函數來對數據做出擬合,通過殘差來計算差異度,用梯度下降法找到一組使均值方差最小的權重。詳細可以看之前的一篇推送:
而我們今天要分享大家的是:lasso 回歸和嶺回歸(ridge regression),這兩種回歸方式其實就是在標準線性回歸的基礎上分別加入不同的正則化矯正而已(regularization)。
對於普通線性模型:
它的損失函數是:
用大家熟悉的方式來表達的話,就是訓練集中點到最小回歸直線的距離的平方差,也叫做殘差的平方,如圖所示虛線即代表殘差。
其實這個回歸方法看起來已經很合理了,那麼為什麼我們要引入新的參數來進行正則化呢?
其實,在我們對現有數據進行線性回歸的時候,很容易誇大一個變量對另一個變量的影響。舉個例子:
假設紅色的點代表訓練集,綠色的點代表測試集,當我們對紅點進行線性擬合的時候,我們很容易得到一個沒有偏好性(Bias)的直線,然而它對測試集的擬合情況並不是很好,而且我們容易發現,當擬合直線上的點在x軸上的取值出現微小變化的同時,y軸上的取值會出現較大的變化,而這可能會導致該直線在對測試集進行擬合的時候殘差過大。因此,我們引入了正則化修正,來對擬合直線的曲率進行懲罰,從而使它更有可能更好的對測試集進行預測。
正因為w在數值上非常的大,所以,如果輸入變量x有一個微小的變動,其反應在輸出結果上也會變得非常大,這就是對輸入變量總的噪聲非常敏感的原因。
為了限制模型參數w的數值大小,就在模型原來的目標函數上加上一個懲罰項,這個過程叫做正則化(Regularization)。如果懲罰項是參數的l2範數,就是脊回歸(Ridge Regression),又叫嶺回歸。
其損失函數是:
這個w其實可以是斜率,大多數時候這個參數等價於參數
https://blog.csdn.net/zhuxiaodong030/article/details/54408786 w 的先驗概率分布滿足高斯分布。詳情可以參考這個博客:lasso回歸則是在ridge回歸的基礎上對參數稍微做出了一些改變:
關於這兩個回歸的優缺點,我們可以看它的原文:
http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=8E12A5FF179046C33D169679526C5356?doi=10.1.1.35.7574&rep=rep1&type=pdf這裡我們只展示它其中的一張圖片
圖中的坐標系表示
w 的兩維,一圈又一圈的橢圓表示函數 J=1n∑ni=1(w⊤xi+b−yi)2 的等高線,橢圓越往外, J 的值越大, w∗ 表示使得損失 J 取得全局最優的值。等高線從低到高第一次和 w取值範圍相切的點,即是 lasso 和 ridge 回歸想要找的權重w。 lasso 限制了 w取值範圍為有稜角的方形,而ridge限制了w的取值範圍為圓形,等高線和方形區域的切點更有可能在坐標軸上,而等高線和圓形區域的切點在坐標軸上的概率很小。這就是為什麼 lasso更容易使得部分權重取 0,使權重變稀疏;而只能使權重接近 0,很少等於 0。今天的分享到這裡又結束了,
那麼朋友們
再見