機器學習中的五種迴歸模型及其優缺點

【導讀】近日,機器學習工程師 George Seif 撰寫了一篇探討回歸模型的不同方法以及其優缺點。迴歸是用於建模和分析變量之間關係的一種技術,常用來處理預測問題。博文介紹了常見的五種迴歸算法和各自的特點,其中不僅包括常見的線性迴歸和多項式迴歸,而且還介紹了能用於高維度和多重共線性的情況的 Ridge 迴歸、Lasso 迴歸、ElasticNet 迴歸,瞭解它們各自的優缺點能幫助我們在實際應用中選擇合適的方法。

五種迴歸模型及其優缺點

線性和邏輯斯蒂(Logistic)迴歸通常是是機器學習學習者的入門算法,因爲它們易於使用和可解釋性。然而,儘管他們簡單但也有一些缺點,在很多情況下它們並不是最佳選擇。實際上存在很多種迴歸模型,每種都有自己的優缺點。

在這篇文章中,我們將介紹 5 種最常見的迴歸算法及特點。我們很快就會發現,很多算法只在特定的情況和數據下表現良好。

線性迴歸(Linear Regression)

迴歸是用於建模和分析變量之間關係的一種技術,分析變量是如何影響結果的。線性迴歸是指完全由線性變量組成的迴歸模型。從簡單情況開始,單變量線性迴歸(Single Variable Linear Regression)是一種用於使用線性模型來建模單個輸入自變量(特徵變量)和輸出因變量之間關係的技術。

更一般的情況是多變量線性迴歸(Multi Variable Linear Regression),它體現了爲多個獨立輸入變量(特徵變量)與輸出因變量之間的關係。該模型保持線性,因爲輸出是輸入變量的線性組合。我們可以對多變量線性迴歸建模如下:

其中是係數,是變量,是偏置。正如我們所看到的,這個函數只有線性關係,所以它只適用於建模線性可分數據。這很容易理解,因爲我們只是使用係數權重來加權每個特徵變量的重要性。我們使用隨機梯度下降(SGD)來確定這些權重和偏置 b。具體過程如下圖所示:

線性迴歸的幾個關鍵點:

• 建模快速簡單,特別適用於要建模的關係不是非常複雜且數據量不大的情況。

• 有直觀的理解和解釋。

• 線性迴歸對異常值非常敏感。

多項式迴歸(Polynomial Regression)

當我們要創建適合處理非線性可分數據的模型時,我們需要使用多項式迴歸。在這種迴歸技術中,最佳擬合線不是一條直線,而是一條符合數據點的曲線。對於一個多項式迴歸,一些自變量的指數是大於 1 的。例如,我們可以有這下式:

一些變量有指數,其他變量沒有。然而,選擇每個變量的確切指數自然需要當前數據集合與最終輸出的一些先驗知識。請參閱下面的圖,瞭解線性與多項式迴歸的比較。

多項式迴歸的幾個要點:

• 能夠模擬非線性可分的數據; 線性迴歸不能做到這一點。它總體上更靈活,可以模擬一些相當複雜的關係。

• 需要仔細的設計。需要一些數據的先驗知識才能選擇最佳指數。

• 如果指數選擇不當,容易過擬合。

嶺迴歸(Ridge Regression)

標準線性或多項式迴歸在特徵變量之間存在很高的共線性(high collinearity)的情況下將失敗。共線性是自變量之間存在近似線性關係,會對迴歸分析帶來很大的影響。

我們進行迴歸分析需要了解每個自變量對因變量的單純效應,高共線性就是說自變量間存在某種函數關係,如果你的兩個自變量間(X1 和 X2)存在函數關係,那麼 X1 改變一個單位時,X2 也會相應地改變,此時你無法做到固定其他條件,單獨考查 X1 對因變量 Y 的作用,你所觀察到的 X1 的效應總是混雜了 X2 的作用,這就造成了分析誤差,使得對自變量效應的分析不準確,所以做迴歸分析時需要排除高共線性的影響。

高共線性的存在可以通過幾種不同的方式來確定:

• 儘管從理論上講,該變量應該與 Y 高度相關,但迴歸係數並不顯著。

• 添加或刪除 X 特徵變量時,迴歸係數會發生顯着變化。

• X 特徵變量具有較高的成對相關性(pairwise correlations)(檢查相關矩陣)。

我們可以首先看一下標準線性迴歸的優化函數,然後看看嶺迴歸如何解決上述問題的思路:

其中 X 表示特徵變量,w 表示權重,y 表示真實情況。嶺迴歸是緩解模型中迴歸預測變量之間共線性的一種補救措施。由於共線性,多元迴歸模型中的一個特徵變量可以由其他變量進行線性預測。

爲了緩解這個問題,嶺迴歸爲變量增加了一個小的平方偏差因子(其實也就是正則項):

這種平方偏差因子向模型中引入少量偏差,但大大減少了方差。

嶺迴歸的幾個要點:

• 這種迴歸的假設與最小平方迴歸相同,不同點在於最小平方迴歸的時候,我們假設數據的誤差服從高斯分佈使用的是極大似然估計(MLE),在嶺迴歸的時候,由於添加了偏差因子,即 w 的先驗信息,使用的是極大後驗估計(MAP)來得到最終參數的。

• 它縮小了係數的值,但沒有達到零,這表明沒有特徵選擇功能。

Lasso 迴歸

Lasso 迴歸與嶺迴歸非常相似,因爲兩種技術都有相同的前提:它們都是在迴歸優化函數中增加一個偏置項,以減少共線性的影響,從而減少模型方差。然而,不像嶺迴歸那樣使用平方偏差,Lasso 迴歸使用絕對值偏差作爲正則化項:

嶺迴歸和 Lasso 迴歸之間存在一些差異,基本上可以歸結爲 L2 和 L1 正則化的性質差異:

• 內置的特徵選擇(Built-in feature selection):這是 L1 範數的一個非常有用的屬性,而 L2 範數不具有這種特性。這實際上因爲是 L1 範數傾向於產生稀疏係數。例如,假設模型有 100 個係數,但其中只有 10 個係數是非零係數,這實際上是說 “其他 90 個變量對預測目標值沒有用處”。而 L2 範數產生非稀疏係數,所以沒有這個屬性。因此,可以說 Lasso 迴歸做了一種“參數選擇” 形式,未被選中的特徵變量對整體的權重爲 0。

• 稀疏性:指矩陣(或向量)中只有極少數條目非零。L1 範數具有產生具有零值或具有很少大系數的非常小值的許多係數的屬性。

• 計算效率:L1 範數沒有解析解,但 L2 範數有。這使得 L2 範數的解可以通過計算得到。然而,L1 範數的解具有稀疏性,這使得它可以與稀疏算法一起使用,這使得在計算上更有效率。

彈性網絡迴歸(ElasticNet Regression)

ElasticNet 是 Lasso 迴歸和嶺迴歸技術的混合體。它使用了 L1 和 L2 正則化,也達到了兩種技術的效果:

  

在 Lasso 和嶺迴歸之間進行權衡的一個實際優勢是,它允許 Elastic-Net 在循環的情況下繼承嶺迴歸的一些穩定性。

ElasticNet 迴歸的幾個關鍵點:

• 它鼓勵在高度相關變量的情況下的羣體效應,而不是像 Lasso 那樣將其中一些置零。當多個特徵和另一個特徵相關的時候彈性網絡非常有用。Lasso 傾向於隨機選擇其中一個,而彈性網絡更傾向於選擇兩個。

• 對所選變量的數量沒有限制。

結論

所有這些迴歸正則化方法(Lasso 迴歸,嶺迴歸和 ElasticNet)在數據集中的變量之間具有高維度和多重共線性的情況下也能有良好的效果。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/LeEiJfVnx3s8QXH0b4UuzQ