JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

方程式比未知數還多:最小平方問題

當你有十筆帶雜訊的量測、卻只有兩個旋鈕可調時,沒有任何一條直線會通過每一個點——於是你不再要求精確,而改問什麼是最佳擬合。這正是資料與線性代數交會之處,也是整個階梯的起點。

十筆量測,兩個旋鈕

把砝碼掛上彈簧,量它伸長多少。你相信背後的物理是一條直線:伸長 = a + b*重量,只有兩個未知數,a 與 b。兩筆乾淨的量測就能精確定出它們。但你很謹慎,於是取了十筆——而每筆讀數都帶一點雜訊。如今沒有任何一條直線能串起全部十個點。你有十條方程式、兩個未知數:要求比可調的旋鈕還多。這就是 過定方程組,而它是地球上每一座實驗室、每一個感測器、每一張試算表裡的常態。

把那十條方程式堆疊成矩陣形式 A x = b。這裡的 A 是 m×n,且 m 遠大於 n:十列(每筆量測一列)、兩行(每個未知數一行)。在我們的彈簧例子裡,每一列是 (1, weight_i),未知向量是 x = (a, b)^T,而 b 裝著十個量到的伸長量。一路爬上這道階梯,你已經見過 A x = b 許多次——但向來是方陣 A 配上一個貨真價實的解。如今這個新而令人不安的事實是:一個瘦高的 A 幾乎從不擁有解。

為什麼通常沒有精確解

這裡是它的幾何核心。當 x 跑遍所有可能的向量時,乘積 A x 並不能落到 m 維空間的任何地方——它只能抵達 A 的 行空間(column space),也就是 A 各行所有組合構成的集合。有 n 行,這個行空間至多是整個 m 維空間中的一個 n 維切片。對彈簧而言,它是嵌在 10 維空間裡的一個平坦 2D 平面。右端 b 是那個大空間裡的一個點,而帶雜訊的 b 幾乎必然戳出那薄薄的切片之外。沒有任何 x 能把 A x 拉出去碰到它。方程組是 不相容(inconsistent)的:A x = b 根本沒有解。

新手的直覺是隨手抓十條方程式裡的任兩條,精確解出那個 2×2 系統,然後就收工。忍住別這麼做。丟掉八筆量測,等於丟掉了多餘資料替你買到的那樣東西——把雜訊平均下去。你留下的那兩條,搞不好正是最倒楣的兩筆讀數。誠實的目標不是精確滿足你挑出的少數幾條,而是同時盡可能逼近全部十條。這一個轉變——從「解出它」到「最佳擬合它」——就是整道階梯的全部想法。

最佳擬合,意思是殘差最小

要把「盡可能接近」講精確,我們需要一把尺。對任一候選的 x,殘差(residual) 是向量 r = b - A x:十個數、每個資料點一個,各自說那個點落在所提直線的上方或下方多遠。我們想讓十個同時都小,於是量殘差的整體長度,再把它縮小。最小平方問題 正是如此:找出使平方長度 ||A x - b||_2 最小的那個 x,也就是各殘差平方之和最小。選擇最小化平方和、而非比方說絕對值之和,正是讓答案乾淨地從線性代數裡掉出來的關鍵。

為什麼要平方?兩個誠實的理由,外加一個警告。平方讓代價成為 x 的一個平滑、碗狀的函數,於是前幾階的微積分只要把梯度設為零,就能找到碗底——一個整齊的線性系統,沒有彆扭的尖角。它還有乾淨的統計意義:若雜訊是獨立的高斯雜訊,最小平方擬合就是最可能的那條直線。警告是:平方對大殘差懲罰得很重,因此單一個狂野的離群值就能把整條擬合線往它自己拽過去。最小平方是恰當的預設值,而非放諸四海的鐵律——當離群值主導時,存在最小化絕對誤差的穩健擬合,代價是計算更難。

Fit  y = a + b*x  to three points (1,2), (2,2), (3,4).

      | 1  1 |          | 2 |          | a |
  A = | 1  2 |     b =  | 2 |     x =  | b |
      | 1  3 |          | 4 |

  No (a,b) hits all three points -> the 3-by-2 system is inconsistent.
  Least squares instead minimizes  ||A x - b||_2  (sum of squared residuals).
  Best fit here:  a = 2/3,  b = 1   ->   line  y = 2/3 + x.
一個 3×2 的過定系統:三個點、一條兩參數直線、沒有精確解——於是我們最小化殘差範數。

先瞥一眼這道階梯要往哪去

一旦你接受「最小化 ||A x - b||_2」,一幅美麗的圖像就浮現出來,下一篇會把它當成整篇的主題。最佳的 A x 是行空間中離 b 最近的那個點——而平面上離一個外部點最近的點,正是它的 正交投影,也就是垂足。所以最小平方就是幾何:把 b 直直地落到行空間上,殘差 r 便恰好垂直於那個平面。那一個直角,是這道階梯裡每一條公式的源頭。

把 ||A x - b||_2 的梯度設為零,就把那個直角化成代數:正規方程組 A^T A x = A^T b,一個你真的解得動的小型 n×n 方陣系統。儘管看起來誘人,第 3 篇會說明它暗藏危機——構造 A^T A 會把 條件數 平方,於是一個本來只是輕度病態的問題,可能損失掉應有的兩倍位數。這正是第 4 篇要轉向 QR 分解與 奇異值分解 這些穩定路徑的原因,它們解同一個問題,卻從不把任何東西平方。

你現在握住了什麼

退一步,看看這一個重新框定涵蓋了多大的地盤。直線擬合、把感測器對著參考標準校準、讓曲線穿過散落的點、以及一般的統計迴歸,全都是同一個物件換了不同的衣裳:一個瘦高的 A、一個帶雜訊的 b,以及「盡量靠近 b」這個請求。學會用最小平方意義去解一次 A x = b,你就握有一把單一工具,能切下資料科學與應用科學中極大的一片。

也要把邊界放在眼前,因為它們很重要。這裡的一切都是線性最小平方——未知數是透過矩陣 A 進場的。當參數坐落在某個彎曲的東西裡,例如擬合 amplitude*exp(-rate*t),代價就不再是單一個乾淨的碗,你便進入了非線性最小平方,要靠 Gauss-Newton 與 Levenberg-Marquardt 之類的方法迭代求解——那是留給後面階梯、另一個更難的故事。眼下的獎品恰好就是線性情形,而下一篇會把它那一個直角,化成讓其餘一切各就各位的幾何。