奇異值分解
特征值分解是一個提取矩陣特征很不錯的方法,但是它只是對方陣而言的,在現實的世界中,我們看到的大部分矩陣都不是方陣。
奇異值分解基本定理:若 $ A$ 為 $ m \times n$ 實矩陣, 則 $ A$ 的奇異值分解存在
$A=U \Sigma V^{T}$
$A=U \Sigma V^{T}=\left[\begin{array}{lll}\boldsymbol{u}_{1} & \cdots & \boldsymbol{u}_{m} \\& &\end{array}\right]\left[\begin{array}{ccc}\sigma_{1} & & & \\& \ddots & & 0 \\& & \sigma_{r} \\& 0 & &0\end{array}\right]_{m \times n}\left[\begin{array}{c}\boldsymbol{v}_{1}^{T} \\\vdots \\\boldsymbol{v}_{n}^{T}\end{array}\right]$
$\Sigma$ 是 $m \times n$ 矩形對角矩陣,其對角線元素非負(半正定),且按降序排列。可以發現, $ A$ 和 $\Sigma$ 是同型矩陣。
下面看看怎么得到矩陣 $U, \Sigma, V$ 。
$\begin{array}{l}A A^{T}=U \Sigma V^{T} V \Sigma^{T} U^{T}=U \Sigma \Sigma^{T} U^{T} \\A^{T} A=V \Sigma^{T} U^{T} U \Sigma V^{T}=V \Sigma^{T} \Sigma V^{T}\end{array}$
其中, $A A^{T}$ 是 $m$ 階實對稱矩陣, $A^{T} A$ 是 $n$ 階實對稱矩陣, $\Sigma \Sigma^{T}$ 是 $m$ 階方陣, $\Sigma^{T} \Sigma$ 是 $n$ 階方陣。
1) $A^{T} A$ 的特征值均為非負。令 $\lambda$ 是 $A^{T} A$ 的一個特征值, $\alpha$ 是對應的特征向量, 則
$\begin{array}{c}A^{T} A \alpha=\lambda \alpha \\\Rightarrow\|A \alpha\|^{2}=(A \alpha)^{T}(A \alpha)=\alpha^{T} A^{T} A \alpha=\alpha^{T} \lambda \alpha=\lambda\|\alpha\|^{2} \\\Rightarrow \lambda \geq 0\end{array}$
2)$A^{T} A$ 和 $ A A^{T} $ 擁有相同的非零特征值,並且保持相同重數,並且屬於非零特征值的特征向量間存在制約關系。
a. 首先證明方程 $A x=0$ 和 $A^{T} A x=0$ 同解。
如果 $ A x=0$ , 則 $ A^{T}(A x)=0$ , 所以 $ A x=0$ 的解為 $ A^{T} A x=0$ 的解。
對於 $ A^{T} A x=0$ , 兩邊同時乘以 $ x^{T}$ , 得到 $ x^{T} A^{T} A x=0$ 。則有 $ (A x)^{T}(A x)=0 $, 即$ \|A x\|=0$ 。所以得到 $ A x=0$ 。 所以, $ A^{T} A x=0 $ 的解都為 $ A x=0$ 的解。
所以 $ A x=0$ 和 $ A^{T} A x=0 $ 有相同的解空間。所以 $ r(A)=r\left(A^{T} A\right) $, 同理有, $ r\left(A^{T}\right)=r\left(A A^{T}\right)$ , 於是有:
$r\left(A A^{T}\right)=r\left(A^{T}\right)=r(A)=r\left(A^{T} A\right)$
b. 證明: $ A^{T} A$ 和 $ A A^{T}$ 擁有相同的非零特征值, 且特征向量間存在制約關系。
$A^{T} A x=\lambda x$
將上式兩邊左乘一個矩陣 $ A$ 有
$A A^{T}(A x)=\lambda(A x)$
那當 $ x \neq 0$ 時, $ A x$ 是否也是非 $0$ 向量?
因為 $ A x=0$ 和 $ A^{T} A x=0$ 同解, 所以要證明 $ A x \neq 0$ , 只需䨐證明 $ A^{T} A x \neq 0$ , 因為
$A^{T} A x=\lambda x \neq 0 \Rightarrow A x \neq 0$
SVD計算舉例
這里我們用一個簡單的矩陣來說明奇異值分解的步驟。我們的矩陣A定義為:
$A=\left(\begin{array}{ll}0 & 1 \\1 & 1 \\1 & 0\end{array}\right)$
首先,我們先求出 $A^{T} A$ 和 $A A^{T} $ :
$\begin{array}{l}A^{T} A=\left(\begin{array}{lll}0 & 1 & 1 \\1 & 1 & 0\end{array}\right)\left(\begin{array}{ll}0 & 1 \\1 & 1 \\1 & 0\end{array}\right)=\left(\begin{array}{ll}2 & 1 \\1 & 2\end{array}\right) \\A A^{T}=\left(\begin{array}{ll}0 & 1 \\1 & 1 \\1 & 0\end{array}\right)\left(\begin{array}{lll}0 & 1 & 1 \\1 & 1 & 0\end{array}\right)=\left(\begin{array}{lll}1 & 1 & 0 \\1 & 2 & 1 \\0 & 1 & 1\end{array}\right)\end{array}$
然后,求出 $A^{T} A$ 和 $A A^{T}$ 的特征值和特征向量:
$A^{T} A$ 的特征值和特征向量 :
$\lambda_{1}=3 ; \quad v_{1}=\left(\begin{array}{c}\frac{1}{\sqrt{2}} \\\frac{1}{\sqrt{2}}\end{array}\right) ; \lambda_{2}=1 ; \quad v_{2}=\left(\begin{array}{c}\frac{-1}{\sqrt{2}} \\\frac{1}{\sqrt{2}}\end{array}\right)$
$A A^{T}$ 的特征值和特征向量:
$\lambda_{1}=3 ; \quad u_{1}=\left(\begin{array}{c}\frac{1}{\sqrt{6}} \\\frac{2}{\sqrt{6}} \\\frac{1}{\sqrt{6}}\end{array}\right) ; \lambda_{2}=1 ; \quad u_{2}=\left(\begin{array}{c}\frac{1}{\sqrt{2}} \\0 \\\frac{-1}{\sqrt{2}}\end{array}\right) ; \lambda_{3}=0 ; \quad u_{3}=\left(\begin{array}{c}\frac{1}{\sqrt{3}} \\\frac{-1}{\sqrt{3}} \\\frac{1}{\sqrt{3}}\end{array}\right)$
其次,我們利用 $A v_{i}=\sigma_{i} u_{i}$, $\quad i=1,2$ , 求奇異值;
$\begin{array}{l}\left(\begin{array}{cc}0 & 1 \\1 & 1 \\1 & 0\end{array}\right)\left(\begin{array}{c}\frac{1}{\sqrt{2}} \\\frac{1}{\sqrt{2}}\end{array}\right)=\sigma_{1}\left(\begin{array}{c}\frac{1}{\sqrt{6}} \\\frac{2}{\sqrt{6}} \\\frac{1}{\sqrt{6}}\end{array}\right) \Rightarrow \sigma_{1}=\sqrt{3} \\\left(\begin{array}{cc}0 & 1 \\1 & 1 \\1 & 0\end{array}\right)\left(\begin{array}{c}\frac{-1}{\sqrt{2}} \\\frac{1}{\sqrt{2}}\end{array}\right)=\sigma_{2}\left(\begin{array}{c}\frac{1}{\sqrt{2}} \\0 \\\frac{-1}{\sqrt{2}}\end{array}\right) \Rightarrow \sigma_{2}=1\end{array}$
當然,這一步也可以用 $\sigma_{i}=\sqrt{\lambda_{i}}$ 直接求出奇異值為 $\sqrt{3}$ 和 $1$。
最后,我們得到A的奇異值分解為 :
$A=U \Sigma V^{T}=\left(\begin{array}{ccc}\frac{1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{3}} \\\frac{2}{\sqrt{6}} & 0 & \frac{-1}{\sqrt{3}} \\\frac{1}{\sqrt{6}} & \frac{-1}{\sqrt{2}} & \frac{1}{\sqrt{3}}\end{array}\right)\left(\begin{array}{cc}\sqrt{3} & 0 \\0 & 1 \\0 & 0\end{array}\right)\left(\begin{array}{cc}\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\\frac{-1}{\sqrt{2}} & \frac{1}{\sqrt{2}}\end{array}\right)$