1. 程式人生 > 實用技巧 >MIT 線性代數 Linear Algebra 32:左逆,右逆,偽逆

MIT 線性代數 Linear Algebra 32:左逆,右逆,偽逆

本節是本課程的最後一講. Prof Strang在這一講主要講了非方陣的逆. 大量的內容跟之前有關, 算是小小的複習吧.

方陣的逆

首先, 我們都知道如果一個方陣可逆, 那麼
A A − 1 = A − 1 A = I \bm{AA^{-1}}=\bm{A^{-1}A}=\bm{I} AA1=A1A=I

下面我們祭出矩陣的4個space

在這裡插入圖片描述

可以看到, 如果方陣 A n × n \bm{A}_{n\times n} An×n 滿秩, 矩陣的 null space N ( A ) N(\bm{A}) N(A) 和 left null space N ( A ⊤ ) N(\bm{A}^\top)

N(A) 都只有零向量. 此時, row space 中的任意vector x \bm{x} x 經過 A \bm{A} A 變換後得到 A x \bm{Ax} Ax 肯定在 A \bm{A} A 的 column space中. 由於矩陣可逆, 我們還可以還原這個過程 by A − 1 ( A x ) = x \bm{A}^{-1}(\bm{Ax})=\bm{x} A1(Ax)=x. 換句話說, row space 中的向量和 column space中的向量是一一對應的 (注:這個結論對任意矩陣都成立,我們在最後一點討論).

列滿值矩陣的左逆

現在我們考慮一個列滿秩的矩陣 A m × n \bm{A}_{m\times n}

Am×n, n < m n< m n<m. 根據我們這門課之前學習的知識, 它有以下幾點性質

  1. A \bm{A} A 的 null space 僅有 0 \bm{0} 0 向量, row space 佔滿整個 R n \mathbb{R}^n Rn.
  2. A x = b \bm{Ax=b} Ax=b 無解 或 有唯一解 (null space裡沒東西可以加到通解裡去,就看存不存在特解).

這從下圖中也很明瞭, null space沒了
在這裡插入圖片描述
左逆: 我們還知道 A ⊤ A \bm{A^\top A} AA 滿秩, 因此我們可以定義 A \bm{A} A 的左逆為
A − 1 = ( A ⊤ A ) − 1 A ⊤ \bm{A}^{-1}=(\bm{A^\top A})^{-1}\bm{A^\top}

A1=(AA)1A

此時, 如果row space裡有一個 x \bm{x} x, 經過 A x \bm{Ax} Ax 得到column space 中的 vector 之後我們可以用左逆還原回去.

注意,左逆只能乘在左邊才能變成單位陣,如果乘在右邊,
A A − 1 = A ( A ⊤ A ) − 1 A ⊤ \bm{AA}^{-1}=\bm{A}(\bm{A^\top A})^{-1}\bm{A^\top} AA1=A(AA)1A

這就成了一個投影矩陣, 他的作用是把任意向量投影到 A \bm{A} A 的 column space中去.

行滿值矩陣的右逆

好,緊接著我們考慮行滿秩的矩陣 A m × n \bm{A}_{m\times n} Am×n, n > m n > m n>m. 根據之前學習的知識, 它有以下幾點性質

  1. A \bm{A} A 列秩是 m m m, 所以 column space 的dimension 是 m m m 佔滿了整個空間, 從而導致 left null space 只有零向量.
  2. 另一方面, free variables 個數 是 n − m n-m nm, 所以 null space 的 dimension 也是 n − m n-m nm.
  3. A x = b \bm{Ax=b} Ax=b 有無窮解 (null space裡總有東西可以加到通解裡去,特解一定存在因為有free variables).

同樣的, 下圖對應著這些結論
在這裡插入圖片描述
右逆: 同樣的 A A ⊤ \bm{A A^\top} AA 滿秩, 因此我們可以定義 A \bm{A} A 的右逆為
A − 1 = A ⊤ ( A A ⊤ ) − 1 \bm{A}^{-1}=\bm{A^\top}(\bm{A A^\top})^{-1} A1=A(AA)1

但是此時 A x \bm{Ax} Ax 無法還原. 只能還原 x A \bm{xA} xA.

如果我們把右逆乘在左邊
A − 1 A = A ⊤ ( A A ⊤ ) − 1 A \bm{A}^{-1}\bm{A}=\bm{A^\top}(\bm{A A^\top})^{-1}\bm{A} A1A=A(AA)1A

這仍然是投影矩陣 ( A = A ⊤ \bm{A}=\bm{A}^\top A=A), 他的作用是把任意向量投影到 A \bm{A} A 的 row space中去.

General case

我們考慮行列都不滿秩的情況 A m × n \bm{A}_{m\times n} Am×n, rank ( A ) = r < min ⁡ { m , n } \text{rank}(\bm{A})=r<\min\{m,n\} rank(A)=r<min{m,n}

在這裡插入圖片描述
可以看到, 此時 null space 和 left null space 裡面都有非零向量.

  1. 對於null space裡面的 vector A x = 0 \bm{Ax=0} Ax=0, 永遠不可能有一個 inverse 從 0 \bm{0} 0 x \bm{x} x 還原出來. 因此, 左逆是肯定不存在了.
  2. 對於left null space裡面的 vector x A = 0 \bm{xA=0} xA=0, 永遠不可能有一個 inverse 從 0 \bm{0} 0 x \bm{x} x 還原出來. 因此, 右逆也不存在.

因此, 對於一個任意的矩陣, 我們只能設計一個逆矩陣儘可能的還原出 x \bm{x} x (只能還原row space 的部分, null space的部分無法還原). 對於這種general的情況,我們稱這個逆為 偽逆 (pseudo inverse).


Theorem: 任意矩陣 row space ( R n \mathbb{R}^n Rn) 中的向量與 column space ( R n \mathbb{R}^n Rn) 中的向量一一對應, 這種對應關係由 x ′ = A x \bm{x'}=\bm{Ax} x=Ax 給出, 其中 x ∈ C ( A ⊤ ) \bm{x}\in C(\bm{A}^\top) xC(A), x ′ ∈ C ( A ) \bm{x'}\in C(\bm{A}) xC(A).

其實這個定理可以extend到如下情況, 對於任意一個 R n \mathbb{R}^n Rn 中的向量 x \bm{x} x

  1. 它屬於 A \bm{A} A 的 row space → \to 此時適用於定理內容, A x \bm{Ax} Ax 進入 column space.
  2. 它屬於 A \bm{A} A 的 null space → \to 此時 A x = 0 \bm{Ax=0} Ax=0.
  3. 它可以由 A \bm{A} A 的 row space 和 null space 的基線性組合得到 → \to 此時null space的部分被消成0, 只剩下 x \bm{x} x 在row space的投影部分, 仍進入 column space.

Proof. 下面我們來proof 定理內容. 反證法.
假設 存在 x , y ∈ C ( A ⊤ ) \bm{x,y} \in C(\bm{A}^\top) x,yC(A), x ≠ y \bm{x}\neq\bm{y} x=y, A x = A y \bm{Ax=Ay} Ax=Ay, 則有
A ( x − y ) = 0 \bm{A(x-y)}=0 A(xy)=0

說明 x − y ∈ N ( A ) \bm{x-y}\in N(\bm{A}) xyN(A) or x = y \bm{x=y} x=y. 前者不可能因為 x , y ∈ C ( A ⊤ ) \bm{x,y}\in C(\bm{A}^\top) x,yC(A) (所以線性組合也在row space中); 後者與假設矛盾.

因此 A x ≠ A y \bm{Ax}\neq \bm{Ay} Ax=Ay.


上述定理說明了, column space 中的向量可以通過 A x \bm{Ax} Ax 進入 column space, 由於是一一對應,我們其實可以把 A x \bm{Ax} Ax 還原成 x \bm{x} x by
x = A + ( A x ) \bm{x}=\bm{A}^+(\bm{Ax}) x=A+(Ax)

其中 A + \bm{A}^+ A+ 便是偽逆 (pseudo inverse). 對於任意一個向量 x ∈ R n \bm{x}\in\mathbb{R}^n xRn, A x \bm{Ax} Ax 的過程中 A \bm{A} A 消滅了 x \bm{x} x N ( A ) N(\bm{A}) N(A) 中的部分. 對於任意向量 x ′ ∈ R m \bm{x'}\in\mathbb{R}^m xRm, A + x ′ \bm{A^+x'} A+x 的過程中 A + \bm{A}^+ A+ 消滅了 x ′ \bm{x'} x N ( A ⊤ ) N(\bm{A}^\top) N(A) 中的部分.

實際上 A + \bm{A}^+ A+ 的作用並不是把 A \bm{A} A 轉換成單位陣,他只是把 A \bm{A} A 投影到 column space (右乘) 或 row space (左乘) 上, 消除掉 null space and left null space.

How to find A + \bm{A}^+ A+

我們從 SVD 開始
A = U Σ V ⊤ \bm{A}=\bm{U}\Sigma \bm{V}^\top A=UΣV

如果我們能找到 Σ \Sigma Σ 的 偽逆 Σ + \Sigma^+ Σ+, 那麼 A \bm{A} A 的偽逆就可以寫為
A + = V Σ + U ⊤ \bm{A}^+=V\Sigma^+U^\top A+=VΣ+U

Σ \Sigma Σ Σ + \Sigma^+ Σ+ are given by
在這裡插入圖片描述
在這裡插入圖片描述

其中 σ i > 0 \sigma_i>0 σi>0