奇异值分解
特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵。
奇异值分解基本定理:若 $ A$ 为 $ m imes n$ 实矩阵, 则 $ A$ 的奇异值分解存在
$A=U Sigma V^{T}$
$A=U Sigma V^{T}=left[egin{array}{lll}oldsymbol{u}_{1} & cdots & oldsymbol{u}_{m} \& &end{array} ight]left[egin{array}{ccc}sigma_{1} & & & \& ddots & & 0 \& & sigma_{r} \& 0 & &0end{array} ight]_{m imes n}left[egin{array}{c}oldsymbol{v}_{1}^{T} \vdots \oldsymbol{v}_{n}^{T}end{array} ight]$
$Sigma$ 是 $m imes n$ 矩形对角矩阵,其对角线元素非负(半正定),且按降序排列。可以发现, $ A$ 和 $Sigma$ 是同型矩阵。
下面看看怎么得到矩阵 $U, Sigma, V$ 。
$egin{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$ 是对应的特征向量, 则
$egin{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 0end{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)=rleft(A^{T} A
ight) $, 同理有, $ rleft(A^{T}
ight)=rleft(A A^{T}
ight)$ , 于是有:
$rleft(A A^{T} ight)=rleft(A^{T} ight)=r(A)=rleft(A^{T} A ight)$
b. 证明: $ A^{T} A$ 和 $ A A^{T}$ 拥有相同的非零特征值, 且特征向量间存在制约关系。
$A^{T} A x=lambda x$
将上式两边左乘一个矩阵 $ A$ 有
$A A^{T}(A x)=lambda(A x)$
那当 $ x
eq 0$ 时, $ A x$ 是否也是非 $0$ 向量?
因为 $ A x=0$ 和 $ A^{T} A x=0$ 同解, 所以要证明 $ A x
eq 0$ , 只需䨐证明 $ A^{T} A x
eq 0$ , 因为
$A^{T} A x=lambda x eq 0 Rightarrow A x eq 0$
SVD计算举例
这里我们用一个简单的矩阵来说明奇异值分解的步骤。我们的矩阵A定义为:
$A=left(egin{array}{ll}0 & 1 \1 & 1 \1 & 0end{array} ight)$
首先,我们先求出 $A^{T} A$ 和 $A A^{T} $ :
$egin{array}{l}A^{T} A=left(egin{array}{lll}0 & 1 & 1 \1 & 1 & 0end{array} ight)left(egin{array}{ll}0 & 1 \1 & 1 \1 & 0end{array} ight)=left(egin{array}{ll}2 & 1 \1 & 2end{array} ight) \A A^{T}=left(egin{array}{ll}0 & 1 \1 & 1 \1 & 0end{array} ight)left(egin{array}{lll}0 & 1 & 1 \1 & 1 & 0end{array} ight)=left(egin{array}{lll}1 & 1 & 0 \1 & 2 & 1 \0 & 1 & 1end{array} ight)end{array}$
然后,求出 $A^{T} A$ 和 $A A^{T}$ 的特征值和特征向量:
$A^{T} A$ 的特征值和特征向量 :
$lambda_{1}=3 ; quad v_{1}=left(egin{array}{c}frac{1}{sqrt{2}} \frac{1}{sqrt{2}}end{array} ight) ; lambda_{2}=1 ; quad v_{2}=left(egin{array}{c}frac{-1}{sqrt{2}} \frac{1}{sqrt{2}}end{array} ight)$
$A A^{T}$ 的特征值和特征向量:
$lambda_{1}=3 ; quad u_{1}=left(egin{array}{c}frac{1}{sqrt{6}} \frac{2}{sqrt{6}} \frac{1}{sqrt{6}}end{array} ight) ; lambda_{2}=1 ; quad u_{2}=left(egin{array}{c}frac{1}{sqrt{2}} \0 \frac{-1}{sqrt{2}}end{array} ight) ; lambda_{3}=0 ; quad u_{3}=left(egin{array}{c}frac{1}{sqrt{3}} \frac{-1}{sqrt{3}} \frac{1}{sqrt{3}}end{array} ight)$
其次,我们利用 $A v_{i}=sigma_{i} u_{i}$, $quad i=1,2$ , 求奇异值;
$egin{array}{l}left(egin{array}{cc}0 & 1 \1 & 1 \1 & 0end{array} ight)left(egin{array}{c}frac{1}{sqrt{2}} \frac{1}{sqrt{2}}end{array} ight)=sigma_{1}left(egin{array}{c}frac{1}{sqrt{6}} \frac{2}{sqrt{6}} \frac{1}{sqrt{6}}end{array} ight) Rightarrow sigma_{1}=sqrt{3} \left(egin{array}{cc}0 & 1 \1 & 1 \1 & 0end{array} ight)left(egin{array}{c}frac{-1}{sqrt{2}} \frac{1}{sqrt{2}}end{array} ight)=sigma_{2}left(egin{array}{c}frac{1}{sqrt{2}} \0 \frac{-1}{sqrt{2}}end{array} ight) Rightarrow sigma_{2}=1end{array}$
当然,这一步也可以用 $sigma_{i}=sqrt{lambda_{i}}$ 直接求出奇异值为 $sqrt{3}$ 和 $1$。
最后,我们得到A的奇异值分解为 :
$A=U Sigma V^{T}=left(egin{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} ight)left(egin{array}{cc}sqrt{3} & 0 \0 & 1 \0 & 0end{array} ight)left(egin{array}{cc}frac{1}{sqrt{2}} & frac{1}{sqrt{2}} \frac{-1}{sqrt{2}} & frac{1}{sqrt{2}}end{array} ight)$