矩阵的奇异值分解(SVD)是指,将一个非零的 m × n m \times n m×n 实矩阵 A , A ∈ R m × n A, A \in \mathbf{R}^{m \times n} A,A∈Rm×n, 表示为三个实矩阵相乘的形式:
A = U Σ V T A=U \Sigma V^{\mathrm{T}} A=UΣVT
其中, U U U 是 m m m 阶正交矩阵, V V V 是 n n n 阶正交矩阵, Σ \Sigma Σ 是由降序排列的非负的对角线元素组成的 m × n m \times n m×n 矩形对角矩阵, 满足
U U T = I V V T = I Σ = diag ( σ 1 , σ 2 , ⋯ , σ p ) σ 1 ⩾ σ 2 ⩾ ⋯ ⩾ σ p ⩾ 0 p = min ( m , n ) \begin{aligned} &U U^{\mathrm{T}}=I \\ &V V^{\mathrm{T}}=I \\ &\Sigma=\operatorname{diag}\left(\sigma_{1}, \sigma_{2}, \cdots, \sigma_{p}\right) \\ &\sigma_{1} \geqslant \sigma_{2} \geqslant \cdots \geqslant \sigma_{p} \geqslant 0 \\ &p=\min (m, n) \end{aligned} UUT=IVVT=IΣ=diag(σ1,σ2,⋯,σp)σ1⩾σ2⩾⋯⩾σp⩾0p=min(m,n)
σ i \sigma_{i} σi成称为矩阵 A A A的奇异值, U U U的列向量称为左奇异向量, V V V的列向量称为右奇异向量
ps:奇异值分解不要求矩阵 A A A是方阵,矩阵的奇异值分解可以看作是方阵对角化的推广
以上给出的奇异值分解又称为完全奇异值分解,实际常用的是奇异值分解的紧凑形式和截断形式。
设有 m × n m \times n m×n 实矩阵 A A A, 其秩为 rank ( A ) = r , r ⩽ min ( m , n ) \operatorname{rank}(A)=r, r \leqslant \min (m, n) rank(A)=r,r⩽min(m,n):
紧奇异值分解:
A = U r Σ r V r T A=U_{r} \Sigma_{r} V_{r}^{\mathrm{T}} A=UrΣrVrT
其中, U r U_{r} Ur 是 m × r m \times r m×r 矩阵, V r V_{r} Vr 是 n × r n \times r n×r 矩阵, Σ r \Sigma_{r} Σr 是 r r r 阶对角矩阵;矩阵 U r U_{r} Ur 由完全奇异值分解中 U U U 的前 r r r 列、矩阵 V r V_{r} Vr 由 V V V 的前 r r r 列、矩阵 Σ r \Sigma_{r} Σr 由 Σ \Sigma Σ 的前 r r r 个对角线元素组成。紧奇异值分解的对角矩阵 Σ r \Sigma_{r} Σr 的秩与原始矩阵 A A A 的秩相等。
截断奇异值分解:
A ≈ U k Σ k V k T A \approx U_{k} \Sigma_{k} V_{k}^{\mathrm{T}} A≈UkΣkVkT
其中, 0 < k < r 0
(1)设矩阵 A A A 的奇异值分解为 A = U Σ V T A=U \Sigma V^{\mathrm{T}} A=UΣVT, 则以下关系成立:
A T A = ( U Σ V T ) T ( U Σ V T ) = V ( Σ T Σ ) V T A A T = ( U Σ V T ) ( U Σ V T ) T = U ( Σ Σ T ) U T \begin{aligned} &A^{\mathrm{T}} A=\left(U \Sigma V^{\mathrm{T}}\right)^{\mathrm{T}}\left(U \Sigma V^{\mathrm{T}}\right)=V\left(\Sigma^{\mathrm{T}} \Sigma\right) V^{\mathrm{T}} \\ &A A^{\mathrm{T}}=\left(U \Sigma V^{\mathrm{T}}\right)\left(U \Sigma V^{\mathrm{T}}\right)^{\mathrm{T}}=U\left(\Sigma \Sigma^{\mathrm{T}}\right) U^{\mathrm{T}} \end{aligned} ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTAAT=(UΣVT)(UΣVT)T=U(ΣΣT)UT
(2)矩阵 A A A的奇异值分解中,左奇异向量,右奇异向量和奇异值存在一一对应的关系
(3)矩阵 A A A 的奇异值分解中,奇异值 σ 1 , σ 2 , ⋯ , σ n \sigma_{1}, \sigma_{2}, \cdots, \sigma_{n} σ1,σ2,⋯,σn 是唯一的,而矩阵 U U U 和 V V V 不 是唯一的。
(4)矩阵 A A A 和 Σ \Sigma Σ 的秩相等, 等于正奇异值 σ i \sigma_{i} σi 的个数 r ( r( r( 包含重复的奇异值,奇异值都是非负的)
(5)矩阵 A A A 的 r r r 个右奇异向量 v 1 , v 2 , ⋯ , v r v_{1}, v_{2}, \cdots, v_{r} v1,v2,⋯,vr 构成 A T A^{\mathrm{T}} AT 的值域 R ( A T ) R\left(A^{\mathrm{T}}\right) R(AT) 的一组标准正交基
从线性变换的角度理解奇异值分解:
m × n m \times n m×n 矩阵 A A A 表示从 n n n 维空间 R n \mathbf{R}^{n} Rn 到 m m m 维 空间 R m \mathbf{R}^{m} Rm 的一个线性变换,
T : x → A x T: x \rightarrow A x T:x→Ax
x ∈ R n , A x ∈ R m , x x \in \mathbf{R}^{n}, A x \in \mathbf{R}^{m}, x x∈Rn,Ax∈Rm,x 和 A x A x Ax 分别是各自空间的向量。
A = U Σ V T A=U \Sigma V^{\mathrm{T}} A=UΣVT 奇异值分解可以看作, 将线性变换 A A A转换为三个简单变换. 例如下图, 给出了原始空间的标准正交基 (红色与黄色),经过坐标系的旋转变换 V T V^{\mathrm{T}} VT 、坐标轴的缩放变换 Σ \Sigma Σ, 坐标系的旋转变换 U U U ,得到和经过线性变换 A A A 等价的结果。