線性回歸進階——嶺回歸和lasso回歸

2021-03-02 不專業的生信筆記本

    說起線性回歸大家肯定都不陌生,我們經常用這種手段來揭示一組變量間的相關性,一般情況下,我們用線性函數來對數據做出擬合,通過殘差來計算差異度,用梯度下降法找到一組使均值方差最小的權重。詳細可以看之前的一篇推送:

    而我們今天要分享大家的是:lasso 回歸和嶺回歸(ridge regression),這兩種回歸方式其實就是在標準線性回歸的基礎上分別加入不同的正則化矯正而已(regularization)。

    對於普通線性模型:

    它的損失函數是:

    用大家熟悉的方式來表達的話,就是訓練集中點到最小回歸直線的距離的平方差,也叫做殘差的平方,如圖所示虛線即代表殘差。

    其實這個回歸方法看起來已經很合理了,那麼為什麼我們要引入新的參數來進行正則化呢?

    其實,在我們對現有數據進行線性回歸的時候,很容易誇大一個變量對另一個變量的影響。舉個例子:

    假設紅色的點代表訓練集,綠色的點代表測試集,當我們對紅點進行線性擬合的時候,我們很容易得到一個沒有偏好性(Bias)的直線,然而它對測試集的擬合情況並不是很好,而且我們容易發現,當擬合直線上的點在x軸上的取值出現微小變化的同時,y軸上的取值會出現較大的變化,而這可能會導致該直線在對測試集進行擬合的時候殘差過大。因此,我們引入了正則化修正,來對擬合直線的曲率進行懲罰,從而使它更有可能更好的對測試集進行預測。

    正因為w在數值上非常的大,所以,如果輸入變量x有一個微小的變動,其反應在輸出結果上也會變得非常大,這就是對輸入變量總的噪聲非常敏感的原因。

    為了限制模型參數w的數值大小,就在模型原來的目標函數上加上一個懲罰項,這個過程叫做正則化(Regularization)。如果懲罰項是參數的l2範數,就是脊回歸(Ridge Regression),又叫嶺回歸。

    其損失函數是:

    這個w其實可以是斜率,大多數時候這個參數等價於參數 w 的先驗概率分布滿足高斯分布。詳情可以參考這個博客:

https://blog.csdn.net/zhuxiaodong030/article/details/54408786

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。

今天的分享到這裡又結束了,

那麼朋友們

再見

相關焦點

  • 線性回歸的正則化 ——嶺回歸與LASSO回歸
    ,但有時使用線性回歸可能會產生過擬合的現象,此時我們通常有兩種途徑解決:一是對特徵進行選擇,減少特徵數量,二是使用正則化的方法,這樣可以保留所有的特徵,而在正則化時我們通常會採用嶺回歸或LASSO回歸,今天我們就來介紹一下這兩種正則化方法。
  • 從零開始學Python【25】--嶺回歸及LASSO回歸(實戰部分)
    >從零開始學Python【23】--線性回歸診斷(第二部分)從零開始學Python【22】--線性回歸診斷(第一部分)從零開始學Python【21】--線性回歸(實戰部分)從零開始學Python【20】--線性回歸(理論部分)前言      在《從零開始學Python【24】--嶺回歸及LASSO回歸(理論部分)
  • 機器學習算法之嶺回歸、Lasso回歸和ElasticNet回歸
    當數據集中的特徵之間有較強的線性相關性時,即特徵之間出現嚴重的多重共線性時,用普通最小二乘法估計模型參數,往往參數估計的方差太大,此時,求解出來的模型就很不穩定。在具體取值上與真值有較大的偏差,有時會出現與實際意義不符的正負號。在線性回歸中如果參數
  • 從零開始學Python數據分析【25】--嶺回歸及LASSO回歸(實戰部分)
    【13】-- matplotlib(直方圖)從零開始學Python數據分析【14】-- matplotlib(折線圖)從零開始學Python數據分析【15】-- matplotlib(散點圖)從零開始學Python數據分析【16】-- matplotlib(雷達圖)從零開始學Python數據分析【17】-- matplotlib(面積圖
  • Python 機器學習算法實踐:嶺回歸和LASSO
    , 本文主要介紹兩種線性回歸的縮減(shrinkage)方法的基礎知識: 嶺回歸(Ridge Regression)和LASSO(Least Absolute Shrinkage and Selection Operator)並對其進行了Python實現。
  • Stata: 拉索回歸和嶺回歸 (Ridge, Lasso) 簡介
    Ridge回歸Ridge 回歸 (Hoerl and Kennard, 1970) 的原理和 OLS 估計類似,但是對係數的大小設置了懲罰項。具體來說,其中,t 代表懲罰的力度,t 越大,對係數的大小懲罰越重,約束越緊。取係數的平方和形式可以避免正負係數相抵消的情況。在矩陣形式中,Z 按照傳統是標準化之後的(均值為 0,方差為 1),y 也需要中心化。
  • Ridge 回歸和 Lasso 回歸的完整教程
    ,即沒有正則化的線性回歸目標。Ridge 回歸正如前面我們所了解的,Ridge 回歸是採用了 L2 正則化,即它在優化目標中增加係數平方和的因子。因此,嶺回歸優化了以下內容:Objective = RSS + α * (sum of square of coefficients)這裡,$\alpha$ 是平衡最小化 RSS 與最小化係數平方和的強調量的參數。
  • 各種線性回歸
    一.sklearn中的各種線性回歸1,普通線性回歸
  • 線性回歸-如何對數據進行回歸分析
    2,線性回歸模型如果將上面方程組中的任意一個表達式單拿出來,那麼 x 和 y 都是一種線性關係,比如:該表達式中,我們將 x 叫做自變量,y通常,我們的模型是通過多個特徵值來預測一個目標值,那麼線性回歸模型的數學公式為:其中:線性回歸模型與數學中的解方程不同,後者的結果是精確解,而前者則是一個近似解。因此在公式中存在一個 ε 。
  • 前沿: Lasso, 嶺回歸, 彈性網估計在軟體中的實現流程和示例解讀
    機器學習第一書, 數據挖掘, 推理和預測,5.從線性回歸到機器學習, 一張圖幫你文獻綜述,6.11種與機器學習相關的多元變量分析方法匯總,7.機器學習和大數據計量經濟學, 你必須閱讀一下這篇,8.文章的後半部分比較了「嶺回歸」(ridge regression)、「lasso」和「彈性網」(the elastic net)的預測情況,附錄部分提供了K折交叉驗證(k-fold cross-validation)的步驟。
  • 手把手帶你畫高大上的lasso回歸模型圖
    首先我們先來幾篇文獻,看一下lasso最近發的兩篇文章,如下:                            這兩篇文章均是採用了lasso回歸的範文。感興趣的可以自行下載學習,當然今天我們主要是和大家探討lasso回歸的細枝末節,具體體會這個算法的精妙和思想。
  • 機器學習測試筆記(12)——線性回歸方法(下)
    4.嶺回歸嶺回歸(英文名:Ridgeregression, Tikhonov regularization)是一種專用於共線性數據分析的有偏估計回歸方法,實質上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分信息、降低精度為代價獲得回歸係數更為符合實際、更可靠的回歸方法,對病態數據的擬合要強於最小二乘法。
  • 拉索回歸:拉索開心讀懂-Lasso入門
    簡單來講,先採用 Lasso 回歸篩選模型自變量,再採用無懲罰項的模型進行回歸,這種方法的結果會作為各種模型結果對比的參照,且此方法也可簡單用於變量的篩選。2.2 從 Lasso 到彈性網回歸Lasso 回歸與嶺回歸回歸相比雖然達到了變量選擇的目的,但是也有一定的局限性。
  • 獨家 | 為你介紹7種流行的線性回歸收縮與選擇方法(附代碼)
    本文討論了幾種子集和收縮方法:最佳子集回歸, 嶺回歸, LASSO, 彈性網, 最小角度回歸, 主成分回歸和偏最小二乘。本文討論了七種流行的收縮和選擇方法的數學屬性和實際的Python應用。在本文中,我們將介紹七種流行的子集選擇和線性回歸收縮方法。
  • 推薦 :為你介紹7種流行的線性回歸收縮與選擇方法(附代碼)
    本文討論了幾種子集和收縮方法:最佳子集回歸, 嶺回歸, LASSO, 彈性網, 最小角度回歸, 主成分回歸和偏最小二乘。本文討論了七種流行的收縮和選擇方法的數學屬性和實際的Python應用。在本文中,我們將介紹七種流行的子集選擇和線性回歸收縮方法。
  • 二.線性回歸(二)
    2.APIsklearn.linear_model.SGDRegressor(loss="squared_loss", fit_intercept=True, learning_rate ='invscaling', eta0=0.01) 支持不同的loss函數和正則化懲罰項來擬合線性回歸模型參數 loss
  • 相關和回歸—SPSS多重線性回歸
    關於線性回歸模型的應用條件在前面已經學習:(1)自變量與因變量存在線性關係;(2)殘差滿足正態性、方差齊性和獨立性;(3)自變量之間獨立,不存在共線性,且無高槓桿值、強影響點;(4)因變量為隨機變量,自變量固定變量;(5)各觀測值之間相互獨立。
  • SPSS方法|嶺回歸分析
    :嶺回歸分析是在構建多重線性回歸模型時, 對基於「最小二乘原理」推導出的估計回歸係數的計算公式作一下校正,使回歸係數更穩定。當自變量之間存在較強的多重共線性時,求得的多重線性回歸模型很不穩定; 尤其是某些自變量回歸係數的正負號與實際問題的專業背景不吻合時,嶺回歸分析可以很好地解決這一問題。
  • 線性回歸:簡單線性回歸詳解
    【導讀】本文是一篇專門介紹線性回歸的技術文章,討論了機器學習中線性回歸的技術細節。線性回歸核心思想是獲得最能夠擬合數據的直線。
  • 嶺回歸分析(SPSS+SAS)
    嶺回歸:嶺回歸分析是在構建多重線性回歸模型時, 對基於「最小二乘原理」推導出的估計回歸係數的計算公式作一下校正,使回歸係數更穩定。當自變量之間存在較強的多重共線性時,求得的多重線性回歸模型很不穩定; 尤其是某些自變量回歸係數的正負號與實際問題的專業背景不吻合時,嶺回歸分析可以很好地解決這一問題。