奇異值分解(SVD)


奇異值分解

  特征值分解是一個提取矩陣特征很不錯的方法,但是它只是對方陣而言的,在現實的世界中,我們看到的大部分矩陣都不是方陣。
  奇異值分解基本定理:若 $ 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)$

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM