本單元將介紹線性迴歸的概念。
線性迴歸是一種統計技巧,可用來找出變數之間的關係。在 ML 情境中,線性迴歸會找出特徵與標籤之間的關係。
舉例來說,假設我們想根據車輛重量,預測汽車的油耗表現 (以每加侖汽油可行駛的英里數表示),並且擁有下列資料集:
以 1000 為單位的英鎊 (功能) | 每加侖英里 (標籤) |
---|---|
3.5 | 18 |
3.69 | 15 |
3.44 | 18 |
3.43 | 16 |
4.34 | 15 |
4.42 | 14 |
2.37 | 24 |
如果將這些點繪製成圖,就會得到下列圖表:
圖 1. 車輛重量 (以磅為單位) 與英里/加侖評分。車輛越重,每加侖汽油可行駛的里程數通常就會降低。
我們可以透過在點之間畫出最佳配適線,自行建立模型:
圖 2. 以上圖的資料繪製最佳配適線。
線性迴歸方程式
在代數術語中,模型的定義為 $ y = mx + b $,其中
- $ y $ 是每加侖英哩數,也就是我們要預測的值。
- $ m $ 是線條的斜率。
- $ x $ 是磅,也就是輸入值。
- $ b $ 是 y 截距。
在機器學習中,我們會以以下方式寫出線性迴歸模型的方程式:
其中:
- $ y' $ 是預測標籤,也就是輸出內容。
- $ b $ 是模型的偏差。偏差與直線代數方程中的 y 截距相同。在機器學習中,偏差有時會稱為 $ w_0 $。偏差是模型的參數,會在訓練期間計算。
- $ w_1 $ 是特徵的權重。權重與直線代數方程中的斜率 $ m $ 相同。權重是模型的參數,會在訓練期間計算。
- $ x_1 $ 是特徵,也就是輸入值。
在訓練期間,模型會計算權重和偏差,產生最佳模型。
圖 3. 線性模型的數學表示法。
在本例中,我們會根據所繪製的線條計算權重和偏差。偏差為 30 (線條與 y 軸的交點),權重為 -3.6 (線條的斜率)。模型會定義為 $ y' = 30 + (-3.6)(x_1) $,我們可以用來進行預測。舉例來說,使用這個模型,重量為 4,000 磅的汽車預測燃油效率為每加侖 15.6 英里。
圖 4. 使用這個模型後,重達 4,000 磅的汽車預估油耗為每加侖 15.6 英里。
含有多項功能的模型
雖然本節範例只使用一項特徵 (車輛的重量),但更精密的模型可能會依賴多項特徵,每項特徵都有不同的權重 ($ w_1 $、$ w_2 $ 等)。舉例來說,如果模型需要五個功能,則寫法如下:
$ y' = b + w_1x_1 + w_2x_2 + w_3x_3 + w_4x_4 + w_5x_5 $
舉例來說,預測油耗的模型還可以使用下列功能:
- 引擎排氣量
- 加速性能
- 圓柱數
- 馬力
這個模型的寫法如下:
圖 5:模型包含五個特徵,可預測汽車的每加侖油耗量評分。
透過繪製這些額外功能的圖表,我們可以看到這些功能與「每加侖英哩數」標籤之間也有線性關係:
圖 6. 汽車的排氣量 (以立方公分為單位) 和英里/加侖評等。隨著汽車引擎變大,其每加侖汽油行駛里程評等通常會降低。
圖 7. 汽車的加速度和每加侖英里數評等。汽車加速時間越長,每加侖汽油行駛里程數通常就會增加。
圖 8. 汽車的馬力和每加侖英里數評分。隨著汽車馬力的增加,每加侖汽油可行駛里程數通常會下降。