从四个子空间角度理解SVD
A=Um×mΣm×nVn×nH\mathbf {A =U_{m \times m}\Sigma_{m \times n}V_{n \times n}^H}A=Um×mΣm×nVn×nH
将A\mathbf {A}A视为线性变换,并将整个Rn\mathbf R^nRn空间拆分为两部分,即A\mathbf {A}A的行空间(维数rrr)和零空间(维数n−rn-rn−r,行空间的正交补):
- A\mathbf {A}A的行空间中,存在第一部分标准正交基vi(i=1,2,...,r)\mathbf{v}_{i}(i=1,2,...,r)vi(i=1,2,...,r)
A\mathbf AA对应的线性变换将行空间中的vi\mathbf{v}_{i}vi映射为A\mathbf AA的列空间中的一个非零向量σiui=Avi\sigma_i\mathbf u_i=\mathbf A\mathbf{v}_{i}σiui=Avi(视为对A\mathbf AA的列向量的线性组合);
A[v1v2⋯vr]=[σ1u1σ2u2⋯σrur]=[u1u2⋯ur][σ1σ2⋱σr]\begin{aligned}\boldsymbol{A}\left[\begin{array}{llll}\mathbf{v}_{1} & \mathbf{v}_{2} & \cdots & \mathbf{v}_{r}\end{array}\right] &=\left[\begin{array}{lllll} \sigma_{1} \mathbf{u}_{1} & \sigma_{2} \mathbf{u}_{2} & \cdots & \sigma_{r} \mathbf{u}_{r} \end{array}\right] \\ &=\left[\begin{array}{lllll} \mathbf{u}_{1} & \mathbf{u}_{2} & \cdots & \mathbf{u}_{r} \end{array}\right]\left[\begin{array}{llll} \sigma_{1} & & & \\ & \sigma_{2} & & \\ & & \ddots & \\ & & & \sigma_{r} \end{array}\right] \end{aligned}A[v1v2⋯vr]=[σ1u1σ2u2⋯σrur]=[u1u2⋯ur]σ1σ2⋱σr
此即Um×nV^n×r=U^m×rΣ^r×r\mathbf U_{m\times n}\hat{\mathbf V}_{n\times r}=\hat{\mathbf U}_{m\times r}\hat{\mathbf \Sigma}_{r\times r}Um×nV^n×r=U^m×rΣ^r×r,对应下图中的红色边框部分
注意,A\mathbf AA的行空间中的向量x\mathbf xx到列空间中的向量Ax\mathbf A\mathbf xAx映射,为一一映射
也就是说对于行空间中的向量x≠y\mathbf x\neq\mathbf yx=y,则必有列空间中的向量Ax≠Ay\mathbf A\mathbf x\neq\mathbf A\mathbf yAx=Ay
证明:
反证法:对于行空间的向量x≠y\mathbf x\neq\mathbf yx=y,假设有Ax=Ay\mathbf A\mathbf x=\mathbf A\mathbf yAx=Ay
则A(x−y)=0\mathbf A(\mathbf x-\mathbf y)=\mathbf 0A(x−y)=0,这就是说,向量(x−y)(\mathbf x-\mathbf y)(x−y)在零空间中;
另一方面,向量(x−y)(\mathbf x-\mathbf y)(x−y)一定在行空间中(两个行空间中的向量的线性组合)
向量(x−y)(\mathbf x-\mathbf y)(x−y)不可能既在行空间中,又在零空间中,因此假设不成立
- A\mathbf AA的零空间中,有第二部分标准正交基vi(i=r+1,r+2,...,n)\mathbf v_i(i=r+1,r+2,...,n)vi(i=r+1,r+2,...,n)
A\mathbf AA对应的线性变换将vi\mathbf v_ivi映射为零向量,满足Avi=0\mathbf {A}\mathbf v_i=0Avi=0;
体现在Σm×n\boldsymbol{\Sigma}_{m\times n}Σm×n中,就是其右下角的0元素,对应上图蓝色边框部分
上面是从A=UΣVH⇒AV=UΣ\mathbf {A =U\Sigma V^H}\Rightarrow \mathbf {A V =U\Sigma}A=UΣVH⇒AV=UΣ的角度出发;
从AH=VΣHUH⇒AHU=VΣH\mathbf {A^H =V\Sigma^HU^H}\Rightarrow \mathbf {A^HU =V\Sigma^H}AH=VΣHUH⇒AHU=VΣH的角度同理可知:U\mathbf UU给出了AH\mathbf A^HAH的行空间和零空间的标准正交基
结论
我们在A\boldsymbol{A}A的四个子空间中,寻找了两组合适的基:
- 第一组是Cn×n\mathbb C^{n\times n}Cn×n空间中的标准正交基,由两部分构成:
vi(i=1,2,...,r)\mathbf{v}_{i}(i=1,2,...,r)vi(i=1,2,...,r)为行空间中的rrr个标准正交基
vi(i=r+1,r+2,...,n)\mathbf{v}_{i}(i=r+1,r+2,...,n)vi(i=r+1,r+2,...,n)为零空间中的标准正交基 - 第二组是Cm×m\mathbb C^{m\times m}Cm×m空间中的标准正交基,由两部分构成:
ui(i=1,2,...,r)\mathbf{u}_{i}(i=1,2,...,r)ui(i=1,2,...,r)为列空间中的rrr个标标准正交基
ui(i=r+1,r+2,...,m)\mathbf{u}_{i}(i=r+1,r+2,...,m)ui(i=r+1,r+2,...,m)为左零空间中的标准正交基
瘦奇异值分解(thin SVD)
Vm\mathbb V^mVm空间的一组正交基是U=[UrUm−r]=[u1⋯ur ∣ ur+1⋯um]U=\begin{bmatrix} U_r&U_{m-r} \end{bmatrix}=\begin{bmatrix} \mathbf{u}_1&\cdots&\mathbf{u}_r~\vert~\mathbf{u}_{r+1}&\cdots&\mathbf{u}_m \end{bmatrix}U=[UrUm−r]=[u1⋯ur ∣ ur+1⋯um]
Vn\mathbb V^nVn空间的一组正交基是V=[VrVn−r]=[v1⋯vr ∣ vr+1⋯vn]V=\begin{bmatrix} V_r&V_{n-r} \end{bmatrix}=\begin{bmatrix} \mathbf{v}_1&\cdots&\mathbf{v}_r~\vert~\mathbf{v}_{r+1}&\cdots&\mathbf{v}_n \end{bmatrix}V=[VrVn−r]=[v1⋯vr ∣ vr+1⋯vn]
对应了四个子空间:
Avi=σiui, i=1,…,rAvi=0i, i=r+1,…,nAHui=σivi, i=1,…,rAHui=0, i=r+1,…,m,\begin{aligned} A\mathbf{v}_i&=\sigma_i\mathbf{u}_i,~~~i=1,\ldots,r\\ A\mathbf{v}_i&=\mathbf{0}_i,~~~i=r+1,\ldots,n\\ A^H\mathbf{u}_i&=\sigma_i\mathbf{v}_i,~~~i=1,\ldots,r\\ A^H\mathbf{u}_i&=\mathbf{0},~~~i=r+1,\ldots,m,\end{aligned}AviAviAHuiAHui=σiui, i=1,…,r=0i, i=r+1,…,n=σivi, i=1,…,r=0, i=r+1,…,m,
实际上其中的n−rn-rn−r个vi\mathbf{v}_ivi 和 m−rm-rm−r个ui\mathbf{u}_iui是“多余”的
因为只要求它们被映射为零向量(而不要求有Avi=σiui\mathbf A\mathbf{v}_i=\sigma_i\mathbf{u}_iAvi=σiui的一一映射关系),或者说线性变换A\mathbf AA并未对这些向量进行实质性的操作(A\mathbf AA将多余的vi\mathbf{v}_ivi降维压缩为零向量,而ui\mathbf{u}_iui则是那些线性变换后的新空间中与变换本身无关的多余维度)
从关注线性变换A\mathbf AA的本质的角度,我们完全可以忽略零空间和左零空间,只关注行空间和列空间之间的一一映射
那么,有AAA的瘦奇异值分解(thin SVD)如下:A=[UrUm−r][D000][VrHVn−rH]=UrDVrH=[u1⋯ur][σ1⋱σr][v1H⋮vrH]=σ1u1v1H+⋯+σrurvrH,\begin{aligned} A&=\begin{bmatrix} U_r&U_{m-r} \end{bmatrix}\begin{bmatrix} D&0\\ 0&0 \end{bmatrix}\begin{bmatrix} V_r^H\\ V_{n-r}^H \end{bmatrix}=U_rDV_r^H\\ &=\begin{bmatrix} \mathbf{u}_1&\cdots&\mathbf{u}_r \end{bmatrix}\begin{bmatrix} \sigma_1&&\\ &\ddots&\\ &&\sigma_r \end{bmatrix}\begin{bmatrix} \mathbf{v}_1^H\\ \vdots\\ \mathbf{v}_r^H \end{bmatrix}\\ &=\sigma_1\mathbf{u}_1\mathbf{v}_1^H+\cdots+\sigma_r\mathbf{u}_r\mathbf{v}_r^H,\end{aligned}A=[UrUm−r][D000][VrHVn−rH]=UrDVrH=[u1⋯ur]σ1⋱σrv1H⋮vrH=σ1u1v1H+⋯+σrurvrH,
理论的统一
前面笔记10-1说过,SVD(A=UΣVT\boldsymbol{A} =\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T}A=UΣVT)中,Σ\boldsymbol{\Sigma}Σ奇异值σ≥0\sigma\geq 0σ≥0;
- 若A\boldsymbol{A}A为可逆矩阵r=nr=nr=n,没有0特征值,
则ATA\boldsymbol{A}^{T} \boldsymbol{A}ATA和AAT\boldsymbol{A}\boldsymbol{A}^{T}AAT特征值全为正,为正定矩阵,对应A\boldsymbol{A}A奇异值全为正; - 若A\boldsymbol{A}A为不可逆矩阵r<nr<nr<n,有0特征值,
则ATA\boldsymbol{A}^{T} \boldsymbol{A}ATA和AAT\boldsymbol{A}\boldsymbol{A}^{T}AAT特征值正数和0,为半正定矩阵,对应A\boldsymbol{A}A奇异值为正数和0
因此有:
A\boldsymbol{A}A不可逆(r<nr<nr<n) ⟺ \iff⟺
Σ\boldsymbol{\Sigma}Σ对角元为正数和0(存在奇异值为0) ⟺ \iff⟺
A\boldsymbol{A}A存在零空间(维度n−r>0n-r>0n−r>0),零空间中的一部分向量vi\mathbf v_ivi被线性变换A\boldsymbol{A}A映射为零向量(Avi=0\boldsymbol{A}\mathbf v_i=0Avi=0) ⟺ \iff⟺
Ax=0\bold{Ax=0}Ax=0有非零解 ⟺ \iff⟺
A\boldsymbol{A}A的列向量组线性相关