跳到主要内容

奇异值分解

阐述

任何一个 m×nm\times n 矩阵可以分解为 m×rm\times rr×rr\times rr×nr\times n 矩阵的乘积:

A=UΣVA=U\Sigma V^*

其中 rrAA 的秩,Σ=diag(σ1,,σr)\Sigma=\operatorname{diag}(\sigma_1,\cdots,\sigma_r)σi>0\sigma_i>0AA 的奇异值。UUVV 是正交基,满足 UU=VV=1U^*U=V^*V=1.

显然,AAA^*A 具有非零特征值 λi=σi2\lambda_i=\sigma_i^2,特征向量就是 VV 中的向量,因此 \|A\|_2=\sigma_\max,并且条件数 \kappa(A)=\sigma_\max/\sigma_\min

计算方法

首先计算 AAA^*A 的特征值问题,得到正特征值和相应的特征向量 λr,vr\lambda_r,v_r;然后注意到 ui=Avi/σiu_i=Av_i/\sigma_iAAAA^* 的特征向量。另外,我们有 N(AA)=N(A)N(A^*A)=N(A),也就是说它们的零空间相同。

所以,对于一个向量 xx,总是可以把它分解为在零空间和不在零空间中的两部分,

Ax=iAvivix=(iσiuivi)xAx=\sum_iAv_iv_i^*x=\left(\sum_i\sigma_iu_iv_i^*\right)x

full SVD

奇异值分解也可以写成 A=UΣVA=U\Sigma V^*m×mm\times mm×nm\times nn×nn\times n,这样左右两边就都是酉矩阵。这个分解和前面的关系是

UΣV=(U^,U^)(Σ^000)(V^,V^)U\Sigma V=(\hat U,\hat U^\perp)\begin{pmatrix}\hat\Sigma&0\\0&0\end{pmatrix}(\hat V,\hat V^\perp)^*

其中 U^\hat U^\perpAAAA^* 的特征值 0 向量空间,而 V^\hat V^\perpAAA^*A 的特征值 0 向量空间。

SVD 和低秩近似

A=iσiuivii=1r<rσiuiviA=\sum_i\sigma_iu_iv_i^*\approx\sum_{i=1}^{r'<r}\sigma_iu_iv_i^*

也就是说可以只看其中几个比较大的特征值。

实例

性质

从 SVD 可以推导出,矩阵的条件数

\kappa(A)=\begin{cases}\sigma_\max/\sigma_\min&\operatorname{rank}(A)=n\\\infty&\operatorname{rank}(A)<n\end{cases}

另外,注意到 AAA^*A 本身具有奇异值分解 V^Σ^2V^\hat V\hat\Sigma^2\hat V^*,所以 κ(AA)=κ(A)2\kappa(A^*A)=\kappa(A)^2

如果 QQ 的列是正交的,那么实际上它的 SVD 就是自身,所以所有的奇异值都是 1. 这样 κ(Q)=1\kappa(Q)=1.

相关内容

参考文献