Skip to content

線性迴歸:從 LMS 到局部加權迴歸

2026年8月22日 1 分鐘
TL;DR 線性迴歸不只是一條最佳直線;第一章用平方損失串起梯度下降、常態方程、最大概似估計與局部加權迴歸。
目錄
  1. 為什麼從線性迴歸開始
  2. LMS:同一個梯度,兩種執行方式
  3. 常態方程與機率解釋
  4. 局部加權迴歸:把模型複雜度移到查詢時
  5. 假設、限制與下一章
  6. 自學練習
  7. 參考資料

🌏 English version

這篇讀的是 2026 CS229 主講義第 1 章〈Linear regression〉,講義頁碼 9–20。它是 2026 notes 的逐章導讀,不是任何一學期錄影或授課進度的重建。

為什麼從線性迴歸開始

CS229 不是把線性迴歸當成「畫一條線」的簡單工具,而是拿它建立全課共用的語言:假設函數、損失函數、最佳化、統計假設,以及參數式與非參數式方法的差別。模型寫成 (h_\theta(x)=\theta^T x),截距則併入固定為 1 的特徵。

平方損失為

[ J(\theta)=\frac12\sum_{i=1}^n\left(h_\theta(x^{(i)})-y^{(i)}\right)^2. ]

前面的 (1/2) 不改變最佳解,只讓微分後的 2 消失。這個小選擇也提示本章真正關心的是:怎麼從一個目標函數得到可執行的學習規則。

LMS:同一個梯度,兩種執行方式

對單一樣本微分後,更新式是

[ \theta_j \leftarrow \theta_j+\alpha\left(y^{(i)}-h_\theta(x^{(i)})\right)x_j^{(i)}. ]

批次梯度下降每次用全部資料計算梯度;隨機梯度下降(SGD)則看到一筆就更新。前者方向穩定但每一步較貴,後者很快取得帶雜訊的方向,靠頻繁更新前進。固定學習率下,SGD 可能在最佳點附近持續擺動;逐步降低 (\alpha) 才有機會收斂得更精確。

平方損失是凸二次函數,因此沒有深度學習裡常見的局部極小值困境。但「凸」不代表不用調學習率:步長太大仍然會發散。

常態方程與機率解釋

把所有樣本堆成設計矩陣 (X),令梯度為零,就得到

[ X^T X\theta=X^T y, \qquad \theta=(X^T X)^{-1}X^T y. ]

這是封閉形式解,但最後一式假設 (X^T X) 可逆。特徵重複、維度過高或樣本不足時,這個假設可能不成立;實務上也通常用數值線性代數求解,而不是直接計算反矩陣。

本章再假設誤差彼此獨立且服從固定變異數的高斯分布:(y^{(i)}=\theta^T x^{(i)}+\epsilon^{(i)})。在這個模型下,最大化資料的概似恰好等價於最小化平方誤差。這不是說真實世界的誤差必然高斯,而是說平方損失背後有一套明確的機率模型。

局部加權迴歸:把模型複雜度移到查詢時

局部加權迴歸在要預測的點 (x) 附近給較大權重,例如

[ w^{(i)}=\exp\left(-\frac{|x^{(i)}-x|_2^2}{2\tau^2}\right), ]

再最小化加權平方誤差。(\tau) 大時接近全域線性模型;(\tau) 小時更貼近局部資料,也更容易受雜訊影響。它是非參數式方法:訓練後不能只留一小組固定參數,預測時仍要保存並使用資料。

假設、限制與下一章

線性模型假設特徵與條件平均之間可由線性關係描述;平方損失也會放大離群值的影響。局部加權能增加彈性,卻用預測成本與頻寬選擇換取這份彈性。

下一章把連續輸出換成類別,保留「線性分數」但改用 sigmoid 與類別概似。第三章則會解釋:線性迴歸和邏輯斯迴歸其實都是廣義線性模型的特例。

自學練習

用同一組一維資料實作批次梯度下降、SGD、常態方程與三個不同 (\tau) 的局部加權迴歸。除了比較均方誤差,也畫出預測曲線,並記錄 SGD 在固定與遞減學習率下是否仍在最佳點附近擺動。

參考資料