本文介紹用最小二乘算子求解無解的線性方程的原理。
基本概念
内積
定義 對於 Rn 上的兩個向量 u,v,其內積(也叫點乘)定義為 uTv,記做 u⋅v ,即:
u⋅v=uTv
不難證明內積有以下性質:
定理 對於 u,v,w∈Fn,c∈F,有:
- u⋅v=v⋅u
- (u+v)⋅w=u⋅w+v⋅w
- (cu)⋅v=c(u⋅v)=u⋅(cv)
- u⋅u≥0,且 u⋅u=0⟺u=0
範數
定義 一個向量的範數是該向量與自己內積的算數平方根,記為 ∥v∥,即:
∥v∥=v⋅v∥v∥2=v⋅v
對於標量 c 和向量 v,有:
∥cv∥=∣c∣∥v∥
(∥cv∥2=(cv)⋅(cv)=c2(v⋅v)=c2∥v∥2)
範數為 1 的向量稱單位向量,把一個非零向量化作單位向量的過程叫標準化,即用範數除該向量:
u=∥v∥v
距離
定義 對於同一子空間的兩個向量 u,v∈Fn,u,v 間的距離 dist(u,v) 是 u−v 的範數,即:
dist(u,v)=∥u−v∥
正交
幾何上常用垂直表示兩條線幾何位置呈 90 度,如下圖的 u 和 v。在線性代數的領域,用正交表示這一關係。圖中可見 u,v 正交時,u 到 v 和 −v 的距離相等,即:
[dist(u,−v)]2=∥u−(−v)∥2=∥u+v∥2=(u+v)⋅(u+v)=u⋅(u+v)+v⋅(u+v)=u⋅u+u⋅v+v⋅u+v⋅v=∥u∥2+∥v∥2+2v⋅u
[dist(u,v)]2=∥u−v∥2=(u−v)⋅(u−v)=u⋅(u−v)−v⋅(u−v)=u⋅u−u⋅v−v⋅u+v⋅v=∥u∥2+∥v∥2−2v⋅u
兩距離相當時, −2v⋅u=2v⋅u⟺v⋅u=0
定義 同一子空間的兩個向量 u,v∈Fn 正交 ⟺u⋅v=0
定理:畢達哥拉斯定理(勾股定理) 同一子空間的兩個向量 u,v∈Fn 正交 ⟺∥u+v∥2=∥u∥2+∥v∥2
正交補
定義 若 z 正交與 Fn 的一個子空間 H 上任一向量,稱 z 正交於 H。所有正交於 H 的向量稱為 H 的正交補,記做 H⊥。
正交基
定義 Fn 的子空間 H 上的一組向量 {v1,⋯,vp} 是正交集,那麼這組向量兩兩正交,即 ui⋅uj=0,∀i,j,i=j 。
定理 若 S={v1,⋯,vp} 是 Fn 上的一組正交集,則 S 是 Span{v1,⋯,vp} 的一個基。
定義 Fn 的子空間 H 的一個正交基 S 滿足:
- S 是 H 的一個基
- S 是正交集
下面的定理會指出正交基相較於其他基的好處:
定理 設 {v1,⋯,vp} 是 Fn 的子空間 H 上的一個正交基,那麼對於 ∀y∈H,有:
y=c1v1+⋯+cpvp
利用正交基兩兩正交的特性,在等式兩邊乘任意正交基的一個元素 vj:
y⋅vj=(c1v1+⋯+cpvp)⋅vj=cjvj⋅vj
可得:
cj=vj⋅vjy⋅vj=∥vj∥2y
在使用正交基表示子空間內的向量時,其係數很容易確定。
單位正交基
定義 若 {v1,⋯,vp} 是 Fn 的子空間 H 的一個單位正交基,則:
- {v1,⋯,vp} 是 H 的一組正交基;
- {v1,⋯,vp} 中每一個向量均為單位向量
單位正交基在應用和計算機算法中矩陣運算中很重要,下面兩個定理介紹單位正交基的主要性質。
定理 一個 m×n 矩陣 U 的列向量組是單位正交基,當且僅當 UTU=I
Proof.
為簡化表示,假設 U 僅有三列,即 U=[u1u2u3] ,其中 u1,u2,u3∈Fn,然後計算:
UTU=⎣⎡u1Tu2Tu3T⎦⎤[u1u2u3]=⎣⎡u1Tu1u2Tu1u3Tu1u1Tu2u2Tu2u3Tu2u1Tu3u2Tu3u3Tu3⎦⎤=⎣⎡∥u1∥2u2⋅u1u3⋅u1u1⋅u2∥u2∥2u3⋅u2u1⋅u3u2⋅u3∥u3∥2⎦⎤
主對角線上為單位正交基的向量的範數的平方,為 1 (∥u1∥2=∥u2∥2=∥u3∥2=12=1),非主對角線的元素為單位正交基不同向量的內積,因為它們兩輛正交,故為 0。最後 UTU=I。
定理 設矩陣 Um×n 的列向量組成單位正交基, x,y∈Fn,則:
-
∥Ux∥=∥x∥
-
(Ux)⋅(Uy)=x⋅y
-
(Ux)⋅(Uy)=0⟺x⋅y=0
Proof.
-
∥Ux∥2=(Ux)⋅(Ux)=(Ux)T(Ux)=(xTUT)(Ux)=xT(UTU)x=xTIx=xTx=∥x∥2
-
(Ux)⋅(Uy)=(Ux)T(Uy)=(xTUT)(Uy)=xT(UTU)y=xTy=x⋅y
定義 若 U 為方陣,且 UTU=I,即 UT=U−1, 則 U 被稱為正交矩陣。
定理 正交矩陣的列向量是其列空間的一組單位正交基。
正交投影
在 Fn 中有一非零向量 u,今考慮將 Fn 中另一向量 y 分解成兩個向量的和,一個和 u 平行(其範數為 u 範數的倍數),一個和 u 正交,即:
y=y^+z=αu+z
其中 α 為標量,z (=y−αu) 與 u 正交,即 (y−αu)⋅u=y⋅u−αu⋅u=0 ,可得:
α=u⋅uy⋅u
定義 y^ 稱為 y 在 u 上的正交投影,記為 projLy ;z 稱為 y 在 u 上的正交分量,即:
y^=projLy=u⋅uy⋅uu=∥u∥2y⋅uu
正交分解定理 設 H 是向量空間 Fn 的一個子空間,則 ∀y∈Fn ,可將 y 寫成下列唯一形式:
y=y^+z
其中 y^∈H,z∈H⊥。設 H 的一個正交基為 {u1⋯up},則:
y^=projHy=∥u1∥2y⋅u1u1+⋯+∥up∥2y⋅upup
最佳逼近定理 設 H 是向量空間 Fn 的一個子空間,∀y∈Fn, y^ 為 y 在 H 的正交投影 (projHy),則 y^ 是 H 上最接近 y 的點,即:
∥y−y^∥<∥y−v∥
其中 v∈H,v=y^ 。
Proof.
y−v=(y−y^)−(y^−v)
其中 y−y^ 與 y^−v∈H 正交,由畢達哥拉斯定理可得:
∥y−v∥2=∥y−y^∥2+∥y^−v∥2
y−v=0 故 ∥y^−v∥2>0 ,則定理得證。
定理 設 {u1,⋯,up} 是 Fn 的子空間 H 的一個單位正交基,則:
projHy=∥u1∥2y⋅u1u1+⋯+∥up∥2y⋅upup=(y⋅u1)u1+⋯+(y⋅up)up=[u1⋯up]⎣⎢⎡y⋅u1⋮y⋅up⎦⎥⎤=[u1⋯up]⎣⎢⎡u1Ty⋮upTy⎦⎥⎤=[u1⋯up]⎣⎢⎡u1T⋮upT⎦⎥⎤y
令 U=[u1⋯up],上式為:
UUTy
最小二乘問題
最小二乘解的定義
現在我們要解 Ax=b ,但該線性方程無解(因 b 不在 A 的列空間),故只能求最優解。一種思路是用找出一個 x,讓 Ax 最接近 b ,即 ∥Ax−b∥ 最小。下面我們給出最小二乘的定義:
定義 現有矩陣 Am×n 及向量 b∈Rm ,Ax=b 的最小二乘解為一個向量 x^∈Rn s.t.
∥b−Ax^∥≤∥b−Ax∥,∀x∈Rn
最小二乘解的計算
給定 A 和 b,由最佳逼近定理可知:
b^=projColAb
故:
Ax^=b^
因 b−Ax^ 與 ColA 正交,把 A 寫成列向量 A=[a1⋯ap] ,則 b−Ax^ 也正交於 A 的任一列向量 (aj=0a1+⋯+0aj−1+1aj+0aj+1+⋯+0ap∈ColA) ,故 aj⋅(b−Ax^)=ajT(b−Ax^)=0 ,現在考慮:
AT(b−Ax^)=⎣⎢⎡a1T⋮apT⎦⎥⎤(b−Ax^)=⎣⎢⎢⎢⎡a1T(b−Ax^)⋮apT(b−Ax^)⎦⎥⎥⎥⎤=⎣⎢⎡0⋮0⎦⎥⎤=0
進而:
ATb−ATAx^ATAx^x^=0=ATb=(ATA)−1ATb
最小二乘算子解的情況
最小二乘算子不是一定能求出唯一解(雖然正交投影 b^ 一定唯一),下面的定理給出判斷準則。
定理 今有矩陣 Am×n ,下面三條等價:
- Ax=b 有唯一最小二乘解(b∈Fn)
- A 滿秩
- ATA 可逆
關於這個定理的證明要放到下次。
總的來說,無解的線性方程 Ax=b 的最小二乘法解滿足 AATx=ATb ,但該方程不一定有唯一解,只有滿足 A 滿秩或者 ATA 可逆時,最小二乘算子才有唯一解。