4.5. 聯立方程組和內積的連結
在這一節中我們將利用內積的概念處理聯立方程組無解的情況. 我們要探討一個 linear system 無解時或是有解但解不唯一時, 如何可找到最佳的可能解. 我們也將利用這樣的概念 處理大家高中所學有關統計二維資料的最適合直線.
當 A∈ Mm×n(R), b ∈ Rm 我們知道 Col(A) 可以幫助我們判斷聯立方程組 Ax = b 是否 有解, 而 N(A) 可幫助我們判斷 Ax = b 若有解其解是否唯一. 又 Theorem 4.4.2 告訴我們 Col(A)⊥= N(At), 我們將利用這個關係來探討聯立方程組無解或解不唯一時如何處理問題.
首先我們探討無解的情形. 當 A∈ Mm×n(R), 我們都知道聯立方程組 Ax = b 有解, 若且 唯若 b∈ Col(A). 因此, 一般在日常應用中, 當我們要處理的聯立方程組 Ax = b 無解時, 我 們認為很有可能是 b 發生誤差所導致, 所以會去找 b0 為所有使得聯立方程組 Ax = b′ 有 解的 b′ 中與 b 的距離最近的一個. 這樣的 b0 所得的聯立方程組 Ax = b0 的解, 我們認為 是最佳的可能解. 然而符合 Ax = b′ 有解的 b′ 所成的集合就是 Col(A) 這一個 subspace, 所以依 Proposition 4.3.15 我們知道所有的 b′ 中距離 b 最近的 b0 應該就是 b 在 Col(A) 的 orthogonal projection. 也因此由 orthogonal projection 的定義以及 Theorem 4.4.2 知, b− b0∈ Col(A)⊥= N(At). 此即表示 At(b− b0) = 0, 也就是
Atb0= Atb. (4.4)
由於我們是要解 Ax = b0 所以代入上式推得要解
AtAx = Atb. (4.5)
注意式子 (4.5) 和式子 (4.4) 的不同點在於, 我們不必求出 b0 再解 Ax = b0, 而是直接解 AtAx = Atb. 不過我們必須說明式子 (4.5) 的解確實是我們希望得到的最佳的可能解.
假設 x = x0 是 AtAx = Atb 的一解, 令 b0= Ax0 此即表示 b0∈ Col(A) 且 b−b0∈ N(At) = Col(A)⊥. 因此得證 b0就是 b 在 Col(A) 的 orthogonal projection, 故由 Proposition 4.3.15 知 b0 確實是所有使得聯立方程組 Ax = b′ 有解的 b′ 中距離 b 最近的一個. 因此若 AtAx = Atb 有解, 則此解的確會是我們所期望的一個最佳的可能解. 現在我們面臨的問題是式子 (4.5) 一定有解嗎?
Proposition 4.5.1. 假設 A∈ Mm×n(R) 且 b ∈ Rm. 聯立方程組 AtAx = Atb 一定有解. 特別 地, 若 rank(A) = n, 則聯立方程組有解且解唯一.
Proof. 令 b0 為 b 在 Col(A) 的 orthogonal projection, 亦即 b0∈ Col(A) 且 b−b0∈ Col(A)⊥ . 因 b0∈ Col(A) 故存在 x0∈ Rn 使得 Ax0= b0. 又 b− b0∈ Col(A)⊥ 而 Col(A)⊥= N(At) 故 得
0 = At(b− b0) = Atb− Atb0= Atb− At(Ax0), 故知 x0 確實滿足 AtAx0= Atb, 因此聯立方程組 AtAx = Atb 一定有解.
當 rank(A) = n, 由 Corollary 4.4.4 我們知 AtA 為 invertible, 所以聯立方程組 AtAx = Atb
有解且解唯一.
注意當 rank(A) < n 時, 聯立方程組 AtAx = Atb 雖然有解不過其解因等同於聯立方程 Ax = ProjCol(A)(b) 的解, 故由 A 為 m× n matrix 以及 Theorem 2.4.5 知其解不唯一 (會有無 窮多解). 有關於解不唯一的情形, 我們等一下再談.
由 Proposition 4.5.1, 我們特別有以下的定義.
Definition 4.5.2. 假設 A∈ Mm×n(R) 且 b ∈ Rm. 考慮聯立方程組 Ax = b. 我們稱聯立方程 組 AtAx = Atb 為 Ax = b 的 normal equations.
這裡要強調的是, 當求 Ax = b 無解時, 我們是求 normal equations 的解, 而不是要求 b 在 Col(A) 的 projection. 所以在解出 normal equation 的後, 是不必再在解的左邊乘上 A 的.
另外即使聯立方程組 Ax = b 有解, 即 b∈ Col(A), 此時 b 在 Col(A) 的 projection 就是 b 本 身. 所以此時 Ax = b 的解和其 normal equations AtAx = Atb 的解是一致的. 因此我們可以 不必擔心原方程組 Ax = b 是否有解, 直接求其 normal equations AtAx = Atb 的解即可.
Example 4.5.3. 考慮聯立方程組 Ax = b 其中 A =
1 3 2 4 2 2 1 3
且 b =
2 0 1 4
, 此時 AtA = [ 10 18
18 38 ]
以及 Atb = [8
20 ]
, 故得 Ax = b 的 normal equations 為 10x1+ 18x2 = 8
18x1+ 38x2 = 20 . 解得
[x1 x2 ]
= [−1
1 ]
為其解. 我們也可由 rank(A) = 2, 得 AtA 為 invertible 且其 inverse 為 (AtA)−1= (1/28)
[ 19 −9
−9 5 ]
.解得 [x1
x2 ]
= (AtA)−1Atb = 1 28
[ 19 −9
−9 5 ][8
20 ]
= [−1
1 ]
.
我們可以檢查
1 3 2 4 2 2 1 3
[−1
1 ]
=
2 2 0 2
確為 b 在 Col(A) 的 projection (參見 Example 4.4.7).
有關 normal equation 的應用, 最常見的就是二維資料的最適合直線. 也就是說當我們 有一組二維的資料 (x1, y1), . . . , (xn, yn),我們希望找到一條直線 y = mx + c, 希望這些點 (xi, yi) 盡可能地靠近這條直線. 注意這裡 x1, . . . , xn 以及 y1, . . . , yn 都是給定的數, 而我們要解的不 是 x, y 而是這個直線的斜率 m 以及 y 截距 c. 依聯立方程組的觀點來看, 我們希望找到 m, c 使之符合
mx1+ c = y1 mx2+ c = y2
... mxn+ c = yn.
換句話說我們要解聯立方程組 Ax = b, 其中 A =
x1 1 x2 1 ... ... xn 1
, x = [m
c ]
, b =
y1 y2
... yn
. 當然了, 這
些給定的資料 (x1, y1), . . . , (xn, yn) 不一定會使得 Ax = b 有解, 所以我們要求的是 Ax = b 的 normal equation 的解, 也就是解 AtAx = Atb. 注意, 因為一般要分析的二維資料是要探討 xi, yi 之間的關係, 所以這些資料中 x1, . . . , xn 是不會全相同的 (否則 (x1, y1), . . . , (xn, yn) 會同 時落在一鉛直線上, 也沒甚麼好探討的了), 所以這裡 rank(A) = 2, 因此由 Proposition 4.5.1 知 normal equations AtAx = Atb 一定有解且解唯一. 接下來我們要說明的是, 這樣所得的直 線其意義為何?
給定 m, c∈ R, 對於 i = 1,...,n, 令 y′i= mxi+ c. 也就是說 (xi, y′i)會在直線 y = mx + c 上.
為方便起見令 b′=
y′1
... y′n
, 此時 b′=
x1 1
... ... xn 1
[m
c ]
∈ Col(A). 又令 εi= y′i− yi, 此即將直線 y = mx + c 代 xi 所得的 y′i 與實際資料中的 yi 之誤差. 我們知道代這些 xi 後所得的誤差越 小越好, 不過由於 εi 會有正有負, 怕正負抵銷了影響誤差的判定, 所以我們取平方, 也就是 說希望 ε12+··· +εn2 的值越小越好. 然而依定義 ε12+··· +εn2 就是 b′ 和 b 距離的平方, 即
∥b − b′∥2. 另一方面, 我們利用 Ax = b 求出其 normal equation AtAx = Atb 的解 x = [m
c ]
, 這裡的 m, c 就是讓直線 y = mx + c 所估計得的 b′ 會是 b 在 Col(A) 的投影, 也就是說會讓
∥b − b′∥ 的值最小. 所以符合我們希望誤差ε12+··· +εn2 最小的要求. 也因此這樣所得的直 線, 我們稱之為 least squares line (最適合直線, 或最小平方直線), 在統計學中稱之為 line of regression (迴歸直線).
Example 4.5.4. 考慮二維資料 (−1,0),(1,1),(2,3) 我們要找出此資料的 least square line y = mx + c.
原先要解的方程組是
−1m + c = 0 1m + c = 1 2m + c = 3, 其矩陣表示法為
−1 1 1 1 2 1
[ a b ]
=
0 1 3
. 故其 normal equations 為
[ −1 1 2 1 1 1
] −1 1 1 1 2 1
[ a b ]
=
[ −1 1 2 1 1 1
]0 1 3
,
即
6m + 2c = 7 2m + 3c = 4,
解得 least squares solution 為 m = 13/14, c = 5/7 故此組資料的 least squares line 為 y =13
14x +5 7.
接著我們探討幾個和 least squares line 有關的性質.
Proposition 4.5.5. 考慮二維資料 (x1, y1), . . . , (xn, yn). 令 y = mx + c 為其 least squares line 且對於 i = 1, . . . , n 令 y′i= mxi+ c. 則有以下知性質:
(1) y1+··· + yn= y′1+··· + y′n.
(2) x1y1+··· + xnyn= x1y′1+··· + xny′n.
(3) 令 x 和 y 分別為 x1, . . . , xn 以及 y1, . . . , yn 的平均數, 即 x = (x1+··· + xn)/n, y = (y1+··· + yn)/n. 則點 (x, y) 在直線 y = mx + c 上, 即 y = mx + c.
Proof. 為方便起見令 b =
y1
y2 ... yn
, b′=
y′1 y′2 ... y′n
又令 A =
x1 1 x2 1 ... ... xn 1
, 則依 x = [m
c ]
是 Ax = b 的
least squares solution 得 b′= A [m
c ]
為 b 在 Col(A) 的 projection. 即 b−b′∈ Col(A)⊥= N(At), 故得
At(b− b′) =
[ x1 ··· xn
1 ··· 1 ]
y1− y′1 y2− y′2
... yn− y′n
=
[x1(y1− y′1) +··· + xn(yn− y′n) (y1− y′1) +··· + (yn− y′n)
]
= [0
0 ]
.
得證 (1), (2).
令 y′= (y′1+··· + y′n)/n, 由 (1) 知 y = y′. 又由於對所有 i = 1, . . . , n, 皆有 y′i= mxi+ c, 故
知 y′= mx + c. 得證 (3), 即 y = mx + c.
最後我們說明一下, 對於二維資料我們不只能談論這資料的最適合直線, 也能談論其他 的最適合曲線. 例如有些二維資料我們覺得和拋物線有關, 我們就可以試圖找一條最適合的 拋物線 y = ax2+ bx + c, 然後代入這些二維資料得到以 a, b, c 為變數的聯立方程組, 再找出 此方程組的 least squares solution. 這樣所得的拋物線就會是誤差平方和最小的最適合拋物 線了. 至於更高次的多項式也可如法炮製, 我們就不詳述了.
上 一 節 提 過 QR decomposition 可 以 幫 忙 處 理 這 類 的 問 題. 假 設 A∈ Mm×n(R) 且 rank(A) = n, 對於聯立方程組 Ax = b 要其解 normal equations AtAx = Atb. 我們可以將 A 寫成 QR decomposition A = QR 來處理. 此時我們要解 (QR)tQRx = (QR)tb, 利用 trans- pose 和矩陣乘法性質得 RtQtQRx = RtQtb. 然而 Q 的 column vectors 是 C(Q) 的 orthonormal basis, 前面提過 QtQ 會是 identity matrix In. 因此我們可以將 normal equations 化簡成 RtRx = RtQtb. 再利用 R 為 invertible, 所以 Rt 也是 invertible, 兩邊乘上 Rt 的 inverse, 我們 再將 normal equations 化簡為 Rx = Qtb. 這個聯立方程組就很好解了, 這是因為 R 為 upper triangular matrix 且對角線位置皆不為 0, 所以 R 本身就是 echelon form, 因此我們可以很 快求出解.
接下來我們探討 linear system Ax = b 有解, 但解不唯一的情形. 在很多情況當 Ax = b 解不唯一時, 我們希望能找到長度最小的解. 我們有以下的定義.
Definition 4.5.6. 假設 A∈ Mm×n(R) 且 b ∈ Rm. 考慮聯立方程組 Ax = b. 若 v∈ Rn 滿足 Av = b 且對任意 Ax = b 的一組解 w 皆滿足∥v∥ ≤ ∥w∥, 則稱 v 為 linear system Ax = b 的 minimal solution (或稱 least square solution).
如何找到 Ax = b 的 minimal solution 呢? 假設 v, w 皆為 Ax = b 的一組解, 則由 Av = b 以及 Aw = b 可得 A(v−w) = 0. 因此若令 u = v−w, 則得 u ∈ N(A) 且 w = v−u. 反之, 當我 們已找到 v 為 Ax = b 的一組解時, 對任意 u∈ N(A), 皆有 A(v−u) = Av−Au = b−0 = b, 亦 即 v−u 也是 Ax = b 的一組解. 因此聯立方程組 Ax = b 的解集合可以寫成 {v−u | u ∈ N(A)}, 其中 v 為 Ax = b 的一組解. 也就是說當我們已找到 Ax = b 的一組解 v, 我們要找到 u∈ N(A) 使得 ∥v − u∥ ≤ ∥v − u′∥, ∀u′∈ N(A), 此時 v − u 就會是 Ax = b 的 minimal solution. 如何 在 N(A) 中找到 u 呢? 由於 N(A) 是Rn 的 subspace, Proposition 4.3.15 告訴我們 u 就是 v 在 N(A) 的 orthogonal projection. 也因此可得 v− u ∈ N(A)⊥. 再由 Theorem 4.4.2, 知 N(A)⊥= Col(At), 故知此 minimal solution v− u ∈ Col(At). 這表示 v− u 會在 n × m 矩陣 At 的 column space, 因此存在 x′∈ Rm 使得 v− u = Atx′. 此時由 A(v− u) = Av − Au = b, 得 (AAt)x′= A(Atx′) = A(v− u) = b. 所以我們只要解聯立方程組 (AAt)x′= b, 找出的解 x′∈ Rm 由於會使得 Atx′∈ Col(At) 且符合方程組 A(Atx′) = b, 因此令 x = Atx′ 就會是 linear system Ax = b 的 minimal solution. 現在問題是 linear system (AAt)x′= b 會有解嗎?
Proposition 4.5.7. 假設 A∈ Mm×n(R) 且 b ∈ Rm. 假設聯立方程組 Ax = b 有解, 則聯立方 程組 (AAt)x′= b 必有解, 且若 x′= w∈ Rm 為其一組解, 則 x = Atw 會是聯立方程組 Ax = b 的 minimal solution.
Proof. 我們知道聯立方程組 Ax = b 有解表示 b∈ Col(A), 現要證明聯立方程組 (AAt)x′= b 有解, 我們只要證明 b∈ Col(AAt) 即可. 回顧在 Proposition 3.7.16 (1) 當 A∈ Mm×n(R), B ∈ Mn×l(R), 則 Col(AB) ⊆ Col(A). 因此由 Col(AAt)⊆ Col(A) 以及 rank(AAt) = rank(At) = rank(A) (Corollary 4.4.4) 知 Col(AAt) = Col(A). 因此 v∈ Col(AAt),得證聯立方程組 (AAt)x′= b 有 解. 現若 w∈ Rm 是 (AAt)x′= b 的一解, 即 (AAt)w = b, 則由 (AAt)w = A(Atw) 知 Atw 為 Ax = b 的一解. 由前面的討論我們知道既然 Atw 為 Ax = b 的一解, 則聯立方程組 Ax = b 所有的解應為 Atw + u, 其中 u∈ N(A) 這樣的形式. 此時
∥Atw + u∥2=⟨Atw + u, Atw + u⟩ = ⟨Atw, Atw⟩ + 2⟨Atw, u⟩ + ⟨u,u⟩ = ∥Atw∥2+∥u∥2. 這裡⟨Atw, u⟩ = 0, 因為 Atw∈ Col(At) = N(A)⊥. 由此可知當 u∈ N(A) 且 u ̸= 0 時 ∥Atw + u∥ >
∥Atw∥, 故 x = Atw 會是聯立方程組 Ax = b 的 minimal solution. 在 Proposition 4.5.7 中因為 A 為 m× n matrix, 所以聯立方程組 Ax = b 的解是在 Rn 中, 而要求其 minimal solution 我們要解的聯立方程組為 AAtx′= b 其解是在Rm 中, 而要得 到 minimal solution 必須將 AAtx′= b 的解左邊再乘上 At, 因此知 minimal solution 會在 At 的 column space, 也就是 A 的 row space.
Corollary 4.5.8. 假設 A∈ Mm×n(R), b ∈ Rm 且聯立方程組 Ax = b 有解. 則在 A 的 row space 中存在唯一的向量 v 滿足 Av = b, 且 v 為 Ax = b 的 minimal solution.
Proof. 我們已知 Ax = b 的 minimal solution 在 Col(At) 中, 亦即在 A 的 row space 中. 因 此僅剩下要證明唯一性, 亦即假設 v, v′ ∈ Col(At) 且 Av = b, Av′ = b, 我們要證明 v = v′. 由 Av = Av′= b 可得 A(v− v′) = 0, 亦即 v− v′∈ N(A). 又 Col(At) 為 Rn 的 subspace, 故 v−v′∈ Col(At). 因此得 v−v′∈ N(A)∩Col(At). 然而 Col(At) = N(A)⊥ (Theorem 4.4.2) 故得 N(A)∩ Col(At) = N(A)∩ N(A)⊥={0} (Lemma 4.3.4), 因此得證 v = v′. Example 4.5.9. 我們用一個簡單的例子說明 Proposition 4.5.7 以及 Corollary 4.5.8. 考 慮 A =
1 0 1 1 1 2 0 1 1
, b =
2 2 0
. 很容易看出此 linear system Ax = b 有一組解 v1=
2 0 0
由
於 rank(A) = 2, 我們知到此方程組有無窮多解. 事實上此 linear system Ax = b 有另一組 解 v2=
1
−1 1
. 我們有 ∥v2∥ =√
3 <∥v1∥ = 2, 還有沒有長度更小的解呢? 我們要找到其
minimal solution. 由於 AAt=
2 3 1 3 6 3 1 3 2
, 我們解 (AAt)x′= b, 即
2 3 1 3 6 3 1 3 2
x1
x2 x3
=
2 2 0
得
x′=
2
−2/3 0
為其一組解, 故知 x = Atx′=
1 1 0 0 1 1 1 2 1
2
−2/3 0
=
4/3
−2/3 2/3
為原方程組 Ax = b
的 minimal solution. 事實上 N(A) = Span(
1 1
−1
). 所以 Ax = b 所有的解為 v + ru 的形式,
其中 v =
4/3
−2/3 2/3
,u =
1 1
−1
, r ∈ R. 由於 ⟨v,u⟩ = 0, 我們有 ∥v + ru∥2=⟨v + ru,v + ru⟩ =
∥v∥2+ r2∥u∥2= (24/9) + 3r2. 知 v 確為 linear system Ax = b 之 minimal solution.
—————— 春節愉快 —————— 07 January, 2022