奇异值分解
奇异值分解是一种应用广泛的矩阵分解方式,对矩阵
A
∈
R
m
×
n
\mathbf{A} \in R^{m \times n}
A∈Rm×n,其奇异值分解的形式为
A
=
U
Σ
V
T
\mathbf{A}=\mathbf{U \Sigma V}^T
A=UΣVT
其中
U
\mathbf{U}
U是
m
×
m
m \times m
m×m正交矩阵,
V
\mathbf{V}
V是
n
×
n
n \times n
n×n正交矩阵,
Σ
\mathbf{\Sigma}
Σ是
m
×
n
m \times n
m×n矩阵,非零元素为
σ
1
,
⋯
 
,
σ
r
\sigma_1,\cdots,\sigma_r
σ1,⋯,σr,被称作
A
\mathbf{A}
A的奇异值,排列在
A
\mathbf{A}
A的主对角线上。
首先看如何求出
U
\mathbf{U}
U,考虑
A
A
T
\mathbf{AA}^T
AAT,有
A
A
T
=
U
Σ
V
T
V
Σ
T
U
T
=
U
Σ
Σ
T
U
T
\begin{aligned} \mathbf{AA}^T&=\mathbf{U \Sigma V}^T \mathbf{V} \mathbf{\Sigma}^T \mathbf{U}^T \\ &=\mathbf{U \Sigma \Sigma}^T\mathbf{U}^T \end{aligned}
AAT=UΣVTVΣTUT=UΣΣTUT
也就是说
U
\mathbf{U}
U是
A
A
T
\mathbf{AA}^T
AAT的特征向量,
σ
i
2
\sigma_i^2
σi2是
A
A
T
\mathbf{AA}^T
AAT的特征值,因此
A
A
T
u
i
=
σ
i
2
u
i
\mathbf{A}\mathbf{A}^T\mathbf{u}_i=\sigma_i^2\mathbf{u}_i
AATui=σi2ui,单独考虑
A
A
T
\mathbf{AA}^T
AAT的特征向量,满足
A
(
A
T
x
)
=
λ
x
\mathbf{A}(\mathbf{A}^T\mathbf{x})=\lambda\mathbf{x}
A(ATx)=λx
显然有
r
r
r个特征向量来自
A
T
\mathbf{A}^T
AT的零空间,剩余
m
−
r
m-r
m−r个来自
A
\mathbf{A}
A的列空间。接下来考虑
A
T
A
\mathbf{A}^T\mathbf{A}
ATA
A
T
A
=
V
Σ
T
U
T
U
Σ
V
T
=
V
Σ
T
Σ
V
T
\begin{aligned} \mathbf{A}^T\mathbf{A}&=\mathbf{V} \mathbf{\Sigma}^T \mathbf{U}^T \mathbf{U \Sigma V}^T \\ &=\mathbf{V \Sigma}^T \mathbf{\Sigma V}^T \end{aligned}
ATA=VΣTUTUΣVT=VΣTΣVT
也就是说
V
\mathbf{V}
V是
A
T
A
\mathbf{A}^T\mathbf{A}
ATA的特征向量,
σ
i
2
\sigma_i^2
σi2也是
A
T
A
\mathbf{A}^T\mathbf{A}
ATA的特征值,因此
A
T
A
v
i
=
σ
i
2
v
i
\mathbf{A}^T\mathbf{A}\mathbf{v}_i=\sigma_i^2\mathbf{v}_i
ATAvi=σi2vi,单独考虑
A
T
A
\mathbf{A}^T\mathbf{A}
ATA的特征向量
A
T
(
A
x
)
=
λ
x
\mathbf{A}^T(\mathbf{Ax})=\lambda\mathbf{x}
AT(Ax)=λx
显然有
r
r
r个特征向量来自
A
\mathbf{A}
A的零空间,剩余
n
−
r
n-r
n−r个来自
A
\mathbf{A}
A的行空间
最后考虑在
A
T
A
v
i
=
σ
i
2
v
i
\mathbf{A}^T\mathbf{A}\mathbf{v}_i=\sigma_i^2\mathbf{v}_i
ATAvi=σi2vi两边同时左乘
v
i
T
\mathbf{v}_i^T
viT
A
T
A
v
i
=
σ
i
2
v
i
v
i
T
A
T
A
v
i
=
σ
i
2
v
i
T
v
i
∣
A
v
i
∣
2
=
σ
i
2
\begin{aligned} \mathbf{A}^T\mathbf{A}\mathbf{v}_i&=\sigma_i^2\mathbf{v}_i\\ \mathbf{v}_i^T\mathbf{A}^T\mathbf{A}\mathbf{v}_i&=\sigma_i^2\mathbf{v}_i^T\mathbf{v}_i\\ | \mathbf{Av}_i|^2&=\sigma_i^2 \end{aligned}
ATAviviTATAvi∣Avi∣2=σi2vi=σi2viTvi=σi2
这说明奇异值是
A
v
i
\mathbf{Av}_i
Avi的长度
综上所述 U \mathbf{U} U和 V \mathbf{V} V中的向量分别来自 A \mathbf{A} A的4个基本子空间,其中 U \mathbf{U} U中的向量来自列空间和 A T \mathbf{A}^T AT的零空间(左零空间), V \mathbf{V} V中的向量来自行空间和零空间。