01.16 知否,知否,線性迴歸基礎教程值得擁有

點擊上方關注,All in AI中國

1. 介紹

迴歸分析是監督學習的一個子領域。它的目的是模擬一定數量的特徵與連續的多個目標變量之間的關係。

知否,知否,線性迴歸基礎教程值得擁有

在迴歸問題中,我們試圖給出一個定量的答案,用來預測房價或某人看視頻的時長。

2. 簡單線性迴歸:通過數據擬合直線

迴歸算法將通過一組"點",來模擬單個特徵(解釋變量x)和其對應值(目標變量y)之間的關係。

它將通過設置任意一條直線並計算這條直線到數據點的距離來實現。這個距離,就是垂直線,也是數據的殘差或預測誤差。

迴歸算法在每次迭代過程中都會不斷"挑選"直線,以尋找最優擬合直線,即誤差最小的直線。

我們可以通過以下幾種技術來完成這項任務。

2.1移動線條

知否,知否,線性迴歸基礎教程值得擁有

2.1.1技巧一

當有一個點和一條線時,我們的目標是讓這條線更接近這一點。在這裡我們將使用一個名為"學習率"的參數。使用學習率的目的是讓直線更好的逼近該點。

換句話說,學習率將決定每次迭代中直線與該點的距離的長度。它通常用α表示。

知否,知否,線性迴歸基礎教程值得擁有

2.1.2技巧二

使用技巧二要基於這樣的前提:如果有一個點(與現在的點相比)離直線更近,且距離更小,直線就會向那個點移動。

知否,知否,線性迴歸基礎教程值得擁有

3.梯度下降

假設我們有一組點,我們想開發一個算法來找到最適合這組點的直線。如前所述,誤差是直線到點的距離。

我們要設計不同的直線並計算誤差。這個過程重複了一遍又一遍,不斷減少錯誤,直到得到完美的直線。這條完美的直線誤差最小。

為了讓誤差最小化,我們將使用梯度下降法。通過梯度下降法,我們可以在每一步中,觀察直線移動的不同方向以減少誤差。

注:梯度(f)為矢量場。當它在f域的一個泛型點上求值時,它表示f域更快變化的方向。

所以梯度下降會向負梯度的方向移動一步。

知否,知否,線性迴歸基礎教程值得擁有

當該算法經過足夠多的步驟後,它最終將達到局部或全局的最小值。需要強調的是,如果學習率的值太大,算法就會丟失最小值,因為它的步長太大。當然,如果學習率太低,就需要無限長的時間才能到找到這最小值。

知否,知否,線性迴歸基礎教程值得擁有

4. 小批量梯度下降

4.1批量梯度下降

我們對所有數據點進行平方,會得到一些要添加到模型權重中的值,將它們相加,然後用這些值的和更新權重。

4.2隨機梯度下降

我們可以一個點一個點的進行梯度下降。

4.3實際應用中的梯度下降

在實踐中,這兩種方法都沒有被使用,因為它們在計算上都很慢。進行線性迴歸的最佳方法是將數據分成許多小批。每個批次,大約有相同的點數。然後使用每個批來更新權重。這種方法稱為小批量梯度下降法。

5. 高維度

當我們有一個輸入列和一個輸出列時,我們面對的是一個二維問題,迴歸是一條直線。預測將是一個由自變量和常數組成的值。

如果我們有更多的輸入列,這意味著有更多的維度,而輸出將不再是直線,而是超越二維的一個"值"(這取決於維度的數量)。

知否,知否,線性迴歸基礎教程值得擁有

6. 多元線性迴歸

自變量是我們用來預測其他變量的變量。我們試圖預測的變量稱為因變量。

當我們發現,我們試圖預測的結果不僅僅依賴於變量時,我們可以建立一個更復雜的模型來考慮這個問題。前提是它們與所面臨的問題相關。總而言之,使用更多的預測變量可以幫助我們獲得更好的結果。

如下圖所示,這是一個簡單的線性迴歸:

知否,知否,線性迴歸基礎教程值得擁有

下圖是一個具有兩個特徵的多元線性迴歸圖。

知否,知否,線性迴歸基礎教程值得擁有

隨著我們添加更多的自變量,我們的問題也不再僅僅侷限於一個二維的平面。但問題也暴露了出來,即可視化更加困難。但是這裡面的核心思想並未發生根本性的改變。

7. 關於線性迴歸的幾點建議

不是任何情況都適合用線性迴歸。

a)線性迴歸在數據為線性時效果最好:

它從訓練數據中產生一條直線。如果訓練數據中的關係不是真正的線性關係,你將需要進行調整(轉換訓練數據)、添加特性或使用其他模型。

b)線性迴歸對異常值很敏感:

線性迴歸試圖在訓練數據中找到一條最佳直線。如果數據集有一些不符合一般模式的值,線性迴歸模型就會受到離群值的嚴重影響。我們必須小心對待這些異常值,通過合理的方法剔除它們。

處理異常值,我建議大家使用隨機抽樣一致算法(RNASAC),它將模型擬合到數據的離群值子集中。算法執行以下步驟:

  1. 選擇隨機數目的樣本作為離群值,並對模型進行擬合。
  2. 根據擬合模型測試所有其他數據點,並添加屬於用戶所選值的數據點。
  3. 用新的點重複模型的擬合。
  4. 計算擬合模型對異常值的誤差。
  5. 如果性能滿足用戶的要求或達到一定的迭代次數後,則結束算法。否則,就回到第一步。重複上述步驟。

8. 多項式迴歸

多項式迴歸是多元線性迴歸分析的一種特殊情況,其中獨立變量x與因變量y之間的關係被模擬為x的第n次多項式。換句話說,當我們的線性數據分佈比較複雜時,我們使用線性模型生成一個曲線來擬合非線性數據。

由預測變量多項式展開而得到的獨立(或解釋性)變量已被用來描述非線性現象,如組織成員的增長率和疾病流行的進展。

知否,知否,線性迴歸基礎教程值得擁有

9. 正則化

正則化是處理過度擬合的一種常用方法。主要通過以下技術實現:

減少模型的大小:減少模型中可學習參數的數量,以及它們的學習能力。我們的目標是在學習能力過多和不足之間找到一個平衡點。不幸的是,沒有任何神奇的公式來確定這種平衡,必須通過設置不同數量的參數並觀察其性能來測試和評估。

添加權重正則化:一般情況下,模型越簡單越好。因為一個簡單的模型過度擬合可能性很低。我們通常使用的方法是,通過強制其權值只取較小的值來約束網絡的複雜性,並對權值的分佈進行正則化。這是通過在網絡的損失函數中加入與具有較大權重相關的成本來實現的。成本有兩種方式:

L1正則化:成本與權重係數值的平方成正比。

L2正則化:成本正比於權重係數值的平方。

知否,知否,線性迴歸基礎教程值得擁有

為決定其中哪項適用於我們的模型,我們建議你留意以下幾點,並考慮問題的具體性質:

知否,知否,線性迴歸基礎教程值得擁有

λ參數:它是通過正則化計算的誤差。如果我們有一個很大的λ,那麼我們就是在"懲罰"複雜性,最終會得到一個更簡單的模型。如果我們有一個小的λ,我們最終會得到一個複雜的模型。

10. 評價指標

為了跟蹤模型的執行情況,我們需要設置一些評估指標。對評估指標的度量是從生成的線到實點的誤差,它是通過梯度下降來使函數最小化。

處理線性迴歸時,你可能會面臨以下幾點問題:

10.1平均絕對誤差:

知否,知否,線性迴歸基礎教程值得擁有

平均絕對誤差,即真實數據點與預測結果的絕對差的平均值。如果我們這樣做,梯度下降的每一步都會減少平均絕對誤差值。

知否,知否,線性迴歸基礎教程值得擁有

10.2均方誤差:

知否,知否,線性迴歸基礎教程值得擁有

均方誤差(MSE)是實際數據點與預測結果之間平方差的平均值。這種方法的懲罰越大,距離越大。

如果我們將此作為策略遵循,梯度下降的每一步將減少MSE。這將是計算最佳擬合線的首選方法,也稱為普通最小二乘法。

知否,知否,線性迴歸基礎教程值得擁有

10.3確定係數或R平方

確定係數可以理解為MSE的標準化版本,它提供了對模型性能的更好解釋。

從技術上講,R平方是模型捕捉到的方差的一部分,換句話說,它就是方差。它的定義是:

知否,知否,線性迴歸基礎教程值得擁有

11.其他的算法

儘管本文主要關注線性和多元迴歸模型,但在流行的機器學習庫Sci-kit learn中,幾乎每種算法都適用。其中一些甚至產生了非常好的結果。

一些例子:

  • 決策樹迴歸
  • 隨機森林迴歸
  • 支持向量迴歸
  • 套索算法
  • 彈性網絡
  • 梯度提升迴歸
  • Ada Boost迴歸

12. 結論

在本文中,我們已經介紹了迴歸模型的基礎知識,瞭解了它們的工作原理、常見問題以及如何處理它們。我們還了解了什麼是最常見的評估指標。

作者——Victor Roman

來源:https://towardsdatascience.com/supervised-learning-basics-of-linear-regression-1cbab48d0eba


分享到:


相關文章: