2015年7月29日 星期三

[矩陣分析] 擬反矩陣(Pseudo Inverse Matrix)

回憶反矩陣(Inverse Matrix) 定義:
========================
Definition: Inverse Matrix
給定矩陣 $A,B \in \mathbb{C}^{n \times n}$ ($A,B$皆為 方陣) ,若 $A B = BA = I_n$ 則我們稱 $B $ 為 矩陣 $A$ 的 反矩陣 (Inverse Matrix),一般而言我們將 $A$ 矩陣的 反矩陣記作 $A^{-1}$。
========================
其中 $I_n$ 表示 $n \times n$ 單位矩陣,也就是說
\[{I_n}: = {\left[ {\begin{array}{*{20}{c}}
1&0& \cdots &0\\
0&1&{}& \vdots \\
 \vdots &{}& \ddots &0\\
0& \cdots &0&1
\end{array}} \right]_{n \times n}}
\]
Comments: 
1. 若 $A^{-1}$ 存在 (亦即若 $\det (A) \neq 0$),則 $A$ 矩陣稱為非奇異矩陣 (nonsingular matrix),反之若 $\det(A) = 0$ 則我們稱 $A$ 矩陣為奇異矩陣 (singular matrix)。

2. 讀者應注意到前述 反矩陣 僅在定義滿足的時候成立 (最直接的檢驗法即為檢驗 $\det (A)$ 是否不等於 $0$),但是若定義不滿足的情況該怎麼辦?比如說,$A$ 矩陣為奇異矩陣,此時不存在反矩陣,或者說 $A$矩陣不為方陣,則該如何"求得"其反矩陣?或者若無法求得反矩陣,可否近似反矩陣?為了克服此問題我們引入擬返矩陣 (Pseudo Inverse Matrix) 並使之能夠進一步推廣原本反矩陣的定義,以下給出擬反矩陣定義

========================
Definition: (Pseudo Inverse Matrix)
任意矩陣 $A \in \mathbb{C}^{m \times n}$,存在唯一的 擬反矩陣(Pseudo Inverse Matrix) 記作 $A^{\dagger}$ 且此 $A^{\dagger}$ 滿足 下列四個條件
\[\begin{array}{l}
1. \; A{A^\dagger }A = A\\
2. \; {A^\dagger }A{A^\dagger } = {A^\dagger }\\
3. \; {(A{A^\dagger })^T} = A{A^\dagger }\\
4. \; {({A^\dagger }A)^T} = {A^\dagger }A
\end{array}\]========================


Comments: 
1. 上述 Pseudo inverse matrix $A^\dagger$ 亦有等價定義如下
\[
A^\dagger := (A^T A)^{-1}A^T
\]其中 $A^T A$ 必須為 nonsingular,讀者可自行檢驗此等價定義滿足前述標準定義的四個條件。

2. 一般而言,擬反矩陣 又稱 廣義反矩陣 (Generalized Inverse Matrix)

3. Pseudo inverse 對任意矩陣皆存在。

4. 上述的 Pseudo Inverse 來自 最小二次平方問題,我們簡述如下:

考慮求解下列線性方程
\[
Ax = b
\]其中 $A \in \mathbb{R}^{m \times n}$ 且 $b \in \mathbb{R}^{m \times 1}$ 且 $m > n$ 。注意到此時 $A$ 矩陣並非方陣,故不存在反矩陣:所以不能直接用 $x = A^{-1}b$ !!

那麼是否有找出 “近似反矩陣” 的方法來幫助我們求解上述問題? 亦即若欲求一解 $x^*$ 使得下列二次平方成本函數最小
\[
J(x) = \frac{1}{2}(Ax-b)^T(Ax-b)
\]
利用一階必要條件 $ \frac{\partial J}{\partial x} = 0$ 可得
\[
\frac{\partial J}{\partial x} = - A^T b + A^TA x = 0
\]由上式可推得 $ A^T b = A^T A x $,若 $A^T A$ 為非奇異矩陣,則我們可求解 $x$ 並令 $x^* := x$ 可得
\[
x^* = (A^T A)^{-1}A^Tb = A^\dagger b
\]上述的 $x^*$ 可使我們的目標成本函數 $J$ 最小。