# Linear Models (線性模型)
在**監督式機器學習**中,我們常常會用一條線(或一個平面)來預測資料,這就是所謂的「**線性模型**」。
### **Linear Regression** 是一種用「直線」來預測數值的方法
當我們有許多資料(藍點),我們希望在這群資料中找到一條直線(紅線),用來說明這群資料(找到他們的規律),用這條線代表預測的值。

**要怎麼找出這條線?**
假設這條紅線的方程式是 $y = ax+b$ (最簡單的線,只有一個變量)
只要得到這條線的係數 a(斜率)與 b(截距)就可以畫出這條線。而這不是一條隨便畫的線,我們希望這條線能**盡量貼近所有的資料點**(藍點),這個點我們用 $(x_i, y_i)$ 來表示。
> 現在我們有了目標:**找出這條線**,並且這條線是**唯一**最能代表這群資料的線
>
> 這其實就是機器學習中的經典概念:
> 定義一個**目標函數(loss function)**,然後找出能最小化它的參數組合。
**具體該怎麼做呢?**
透過 OLS「最小平方法」找出這條線!
讓所有資料點與預測線之間的距離(垂直誤差)平方總和越小越好。
讓每個點 $(x_i, y_i)$ 的預測值 $\hat{y}_i = ax_i + b$ 越接近實際值 $y_i$
<img src="https://hackmd.io/_uploads/HyHCL_Tfex.png" width="300">
## Ordinary Least Squares(最小平方法)
這條線找出來的方式在數學上叫「最小平方法」(Ordinary Least Squares)
OLS 是一個經典的線性回歸找出係數的方法,是 Scikit-learn 的LinearRegression() 預設採用的解法
回顧一下我們的目標:
> 找出唯一一條「**最能代表資料的直線**」:
>
> 找到一組係數 $a$(斜率)與 $b$(截距),
> 讓所有點與這條線之間的 **垂直距離平方總和最小**。
#### 怎麼做呢?— Ordinary Least Squares 的步驟
**1️⃣ 定義資料**
假設我們有 $n$ 筆資料,每筆資料是 $(x_i, y_i)$
**2️⃣ 定義預測函數**
我們假設資料是根據以下模型產生的:
$\hat{y}_i = ax_i + b$
其中:
* $\hat{y}_i$ 是預測值
* $y_i$ 是實際觀察值
**3️⃣ 定義損失函數(Loss Function)**
定義我們想要最小化的誤差平方總和(SSE, Sum of Squared Errors):
$$
\text{SSE}(a, b) = \sum_{i=1}^n (y_i - \hat{y}_i)^2 = \sum_{i=1}^n (y_i - (ax_i + b))^2
$$
> **SSE 是什麼?**
> 在簡單線性回歸中,我們用模型 $\hat{y}_i = a x_i + b$ 來預測每個資料點的目標值 $y_i$。
> 實際值 $y_i$ 與預測值 $\hat{y}_i$ 之間的差距稱為「**殘差(residual)**」,也就是誤差(error):
>
> $$
> \text{殘差(residual 或 error)} = y_i - \hat{y}_i
> $$
>
> SSE(Sum of Squared Errors,誤差平方和)則是把每個殘差的平方加總起來:
>
> $$
> \text{SSE} = \sum_{i=1}^n (y_i - \hat{y}_i)^2
> $$
>
> 這個指標量化了模型預測與實際資料的差距大小,且因為平方的關係,較大的誤差會被放大,使得 SSE 對異常點特別敏感。
> 我們的目標就是調整參數 $a, b$,使 SSE 最小化,也就是讓模型預測值與真實值的誤差平方和盡可能小。
而 **誤差平方總和** 就是這些殘差的平方總和:
$$
\text{SSE} = \sum_{i=1}^n (y_i - \hat{y}_i)^2 = \sum_{i=1}^n (y_i - (ax_i + b))^2
$$
#### 為什麼要平方?為什麼是總和?
* ✅ **平方**:讓正負誤差不會互相抵消,同時加重「大誤差」的懲罰。
* ✅ **總和**:整體來看全部點的表現,而不只是單點好壞。
> 線性回歸的目標就是:
> 找出一組 $a$、$b$,使得 RSS 最小
> $\Rightarrow$ 最小化這條線與所有資料點的**垂直距離平方總和**
> 這就叫作 **最小平方法(Ordinary Least Squares, OLS)**。
紅線是預測線
藍點是實際資料點
垂直虛線就是 $y_i - \hat{y}_i$,也就是 **誤差**
這些垂直虛線的「平方總和」越小,紅線就越好!
**4️⃣ 求解**
將上式對 $a$ 與 $b$ 進行偏微分,令其為 0:
$$
\frac{\partial \text{RSS}}{\partial a} = 0, \quad \frac{\partial \text{RSS}}{\partial b} = 0
$$
這樣就能解出唯一解:
$$
a = \frac{\sum(x_i - \bar{x})(y_i - \bar{y})}{\sum(x_i - \bar{x})^2}, \quad b = \bar{y} - a\bar{x}
$$