歡迎來到正則化迴歸與 K-最近鄰演算法的世界!

歡迎!在本章中,我們將學習如何讓線性模型變得更強大。到目前為止,你可能已經學過普通最小平方法 (Ordinary Least Squares, OLS) 迴歸,它的原理是透過最小化誤差來尋找「最佳擬合」。但有時候,OLS 會顯得有點「操之過急」——它可能會對資料過度擬合 (Overfit),導致它在解釋過往資料時表現亮眼,但在預測未來時卻慘不忍睹。

我們將探討兩種主要的解決方法:正則化 (Regularization)(透過在模型中加入「懲罰」來保持其簡單性)以及 K-最近鄰演算法 (K-Nearest Neighbors, KNN)(一種透過查看「相似」資料點來預測的另類方法)。這些工具對於風險建模至關重要,因為它們能幫助我們建立穩定且可靠的模型。如果剛開始覺得有點複雜,別擔心;我們會一步步拆解說明!


第一部分:收縮方法 (正則化迴歸)

在標準迴歸中,我們旨在最小化殘差平方和 (Residual Sum of Squares, RSS)。然而,當我們有許多預測變數時,模型可能會變得過於複雜。收縮方法 (Shrinkage methods)(也稱為正則化)會將係數估計值 (\(\beta\)) 「收縮」至零。這能在稍微增加偏差 (Bias) 的代價下,降低模型的變異數 (Variance)。

1. 嶺迴歸 (Ridge Regression)

嶺迴歸的運作方式是在 RSS 中加入一個懲罰項。其目標是最小化:

\(RSS + \lambda \sum_{j=1}^{p} \beta_j^2\)

其中:
- \(\lambda\) (Lambda):調整參數。它控制我們對係數大小的懲罰程度。
- \(\sum \beta_j^2\):這是 L2 懲罰項。它將係數進行平方。

關於嶺迴歸你需要知道的事:
- 當 \(\lambda = 0\) 時,嶺迴歸與 OLS 完全相同。
- 當 \(\lambda \to \infty\) 時,係數會向零收縮(但永遠不會真正變成零!)。
- 重要:嶺迴歸並不會執行變數選擇。所有變數都會保留在模型中,只是係數變小了而已。

2. Lasso 迴歸

Lasso(最小絕對收縮與選擇算子)與嶺迴歸非常相似,但它使用了不同的懲罰項:

\(RSS + \lambda \sum_{j=1}^{p} |\beta_j|\)

其中:
- \(\sum |\beta_j|\):這是 L1 懲罰項。它取係數的絕對值。

關於 Lasso 你需要知道的事:
- 與嶺迴歸不同,如果 \(\lambda\) 足夠大,Lasso 可以強制將某些係數變為精確的零
- 這意味著 Lasso 會執行變數選擇,讓我們得到一個更簡單、更具可解釋性的模型。
- 記憶小撇步:「Lasso」就像套索一樣,把變數套住,然後把沒用的踢出圈外!

快速回顧:嶺迴歸 vs. Lasso
- 嶺迴歸:當大多數預測變數都有用時效果較好。它保留所有變數但進行收縮。
- Lasso:當只有少數預測變數真正重要時效果較好。它能消除「雜訊」變數。

正則化總結:

正則化幫助我們解決偏差-變異數抵換 (Bias-Variance Trade-off)。透過增加一點點偏差(收縮係數),我們能顯著降低變異數,使我們的預測在處理新資料時更加穩定。


第二部分:選擇調整參數 (\(\lambda\))

我們如何知道該使用哪一個 \(\lambda\) 呢?我們使用交叉驗證 (Cross-Validation)。通常,我們會測試一系列的 \(\lambda\) 值,並選擇產生最低交叉驗證誤差 (Cross-Validation Error) 的那一個。

需要避免的常見錯誤:
學生常認為 \(\lambda\) 越大越好,因為它能簡化模型。記住:如果 \(\lambda\) 太大,模型會變得過於簡單(偏差過高),從而忽略了資料中的真實規律(欠擬合/Underfitting)。


第三部分:K-最近鄰演算法 (KNN)

現在,讓我們看看一種完全不同的方法。雖然迴歸屬於參數方法 (Parametric)(它假設了一種特定的函數形式,例如直線),但 K-最近鄰演算法 (KNN)非參數方法 (Non-parametric)。它對資料的形狀不做任何假設。

KNN 的運作方式:

想像你要預測一間房子的價格。你不是用數學公式計算,而是找出與它最相似的 K 間房子(它的「鄰居」),並取它們價格的平均值。

1. 用於迴歸:找出最接近的 K 個點,並計算它們回應值的平均值
2. 用於分類:找出最接近的 K 個點,並對類別進行多數決

K 的角色:

K 的選擇至關重要:
- 小 K (例如 K=1):模型非常靈活且「蜿蜒」。它的偏差低變異數高(容易過度擬合)。
- 大 K (例如 K=100):模型非常平滑。它的變異數低偏差高(容易欠擬合)。

你知道嗎?
隨著 \(K\) 增加,KNN 模型的靈活性會降低。這與我們對數字的直觀感受相反,所以考試時請特別留意這一點!

維度詛咒 (Curse of Dimensionality):

KNN 聽起來很棒,但它有一個稱為維度詛咒的重大弱點。在高維空間中(即預測變數很多時),所謂的「最近」鄰居在距離上可能其實非常遙遠。當預測變數 \(p\) 相對於觀測值 \(n\) 的數量很大時,這會使 KNN 的表現遠不如線性迴歸。


比較:線性迴歸 vs. KNN

為什麼要選擇其中一種而非另一種?

若符合以下情況,選擇線性迴歸(或嶺迴歸/Lasso):
- 預測變數與回應值之間的關係接近線性。
- 每個預測變數對應的資料量較少。
- 你需要簡單地解釋每個變數如何影響結果。

若符合以下情況,選擇 KNN:
- 變數間的關係是高度非線性或「古怪」的。
- 你擁有海量的資料,但只有少數預測變數。
- 預測能力比了解「原因」更重要。


SRM 考試關鍵總結

1. 正則化 (嶺迴歸/Lasso):
- 用於防止過度擬合並處理大量預測變數。
- 嶺迴歸使用 \(\beta^2\),不會將係數歸零。
- Lasso 使用 \(|\beta|\),可以將係數歸零(變數選擇)。

2. 調整參數 (\(\lambda\)):
- 控制偏差與變異數的抵換。我們透過交叉驗證找到最佳的 \(\lambda\)。

3. K-最近鄰演算法 (KNN):
- 基於相似性的非參數方法。
- 小 K = 高靈活性 / 高變異數。
- 大 K = 低靈活性 / 高偏差。
- 會受到維度詛咒的影響。

加油:你一定行的!正則化和 KNN 只是嘗試在「過於簡單」與「過於複雜」的模型之間尋找「甜蜜點」的不同手段。練習判斷哪種方法最適合不同的情境,你就能準備好應付 SRM 考試中出現的任何題目!