定义
矩阵的奇异值分解(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<k<r 0<k<r, U k U_{k} Uk 是 m × k m \times k m×k 矩阵, V k V_{k} Vk 是 n × k n \times k n×k 矩阵, Σ k \Sigma_{k} Σk 是 k k k 阶对角矩阵; 矩阵 U k U_{k} Uk 由完全奇异值分解中 U U U 的前 k k k 列矩阵 V k V_{k} Vk 由 V V V 的前 k k k 列、矩阵 Σ k \Sigma_{k} Σk 由 Σ \Sigma Σ 的前 k k k 个对角线元素组成。对角矩阵 Σ k \Sigma_{k} Σk的秩比原始矩阵 A A A 的秩低
性质
(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 等价的结果。