奇异值分解(Singular Value Decomposition)
对称矩阵的对角化
定理:设 A A A 为 n n n 阶对称矩阵,则必有正交矩阵 P P P,使 P − 1 A P = P T A P = Λ P^{-1}AP=P^TAP=\varLambda P−1AP=PTAP=Λ(也可写作 A = P Λ P T A=P\varLambda P^T A=PΛPT),其中 Λ \varLambda Λ 是以 A A A 的 n n n 个特征值为对角元的对角矩阵。
由
P
T
A
P
=
Λ
P^TAP=\varLambda
PTAP=Λ 得
A
P
=
P
Λ
AP=P\varLambda
AP=PΛ,并将
P
P
P 使用列向量表示
P
=
(
p
1
,
p
2
,
.
.
.
,
p
n
)
P=(p_1,p_2,...,p_n)
P=(p1,p2,...,pn),即得:
A
(
p
1
,
p
2
,
.
.
.
,
p
n
)
=
(
p
1
,
p
2
,
.
.
.
,
p
n
)
[
λ
1
λ
2
⋱
λ
n
]
A\left(p_1,p_2,...,p_n\right)=\left(p_1,p_2,...,p_n\right) \begin{bmatrix} \lambda_1&&& \\ &\lambda_2&& \\ &&\ddots& \\ &&&\lambda_n \\ \end{bmatrix}
A(p1,p2,...,pn)=(p1,p2,...,pn)⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤
于是
A
p
i
=
λ
i
p
i
(
i
=
1
,
2
,
.
.
.
,
n
)
Ap_i=\lambda_ip_i \ (i=1,2,...,n)
Api=λipi (i=1,2,...,n) ,
P
P
P 的列向量
p
i
p_i
pi 为
A
A
A 对应于特征值
λ
i
\lambda_i
λi 的特征向量。
奇异值分解
设
A
A
A 为
m
×
n
m\times n
m×n 的实数矩阵,希望将其分解为:
A
=
U
Σ
V
T
A=U\Sigma V^T
A=UΣVT
其中
U
U
U 与
V
V
V 都是正交矩阵,
U
∈
R
m
×
m
U\in \mathbb{R}^{m\times m}
U∈Rm×m 称为左奇异矩阵,
V
∈
R
n
×
n
V\in \mathbb{R}^{n\times n}
V∈Rn×n 称为右奇异矩阵,
Σ
∈
R
m
×
n
\Sigma \in \mathbb{R}^{m\times n}
Σ∈Rm×n 仅在主对角线上有非零元素,称之为奇异值。
假定
m
<
n
m<n
m<n (下同),则(其中
σ
1
,
σ
2
,
.
.
.
,
σ
m
\sigma_1,\sigma_2,...,\sigma_m
σ1,σ2,...,σm 即为奇异值):
Σ
=
[
σ
1
σ
2
⋱
σ
m
]
m
×
n
\Sigma= \begin{bmatrix} \sigma_1 &&&&\\ &\sigma_2 &&&\\ &&\ddots &&\\ &&&\sigma_m &&\\ \end{bmatrix}_{m\times n}
Σ=⎣⎢⎢⎡σ1σ2⋱σm⎦⎥⎥⎤m×n
求解
U
,
Σ
,
V
U,\Sigma,V
U,Σ,V
A
A
T
=
U
Σ
V
T
V
Σ
T
U
T
=
U
Σ
Σ
T
U
T
A
T
A
=
V
Σ
T
U
T
U
Σ
V
T
=
V
Σ
T
Σ
V
T
AA^T=U\Sigma V^TV\Sigma^TU^T=U\Sigma\Sigma^T U^T \\ A^TA=V\Sigma^TU^TU\Sigma V^T=V\Sigma^T\Sigma V^T
AAT=UΣVTVΣTUT=UΣΣTUTATA=VΣTUTUΣVT=VΣTΣVT
其中:
Σ
Σ
T
=
[
σ
1
2
σ
2
2
⋱
σ
m
2
]
m
×
m
Σ
T
Σ
=
[
σ
1
2
σ
2
2
⋱
σ
m
2
0
⋱
]
n
×
n
\Sigma\Sigma^T= \begin{bmatrix} \sigma_1^2 &\\ &\sigma_2^2 &\\ &&\ddots &\\ &&&\sigma_m^2 \\ \end{bmatrix}_{m\times m} \Sigma^T\Sigma= \begin{bmatrix} \sigma_1^2 &&&&&\\ &\sigma_2^2 &&&&\\ &&\ddots &&&\\ &&&\sigma_m^2 &&\\ &&&&0 &\\ &&&&&\ddots \\ \end{bmatrix}_{n\times n}
ΣΣT=⎣⎢⎢⎡σ12σ22⋱σm2⎦⎥⎥⎤m×mΣTΣ=⎣⎢⎢⎢⎢⎢⎢⎡σ12σ22⋱σm20⋱⎦⎥⎥⎥⎥⎥⎥⎤n×n
而
A
A
T
,
A
T
A
AA^T,A^TA
AAT,ATA 都是对称矩阵,使用对称矩阵的可对角化的性质,可求出
U
,
V
U,V
U,V,
Σ
Σ
T
\Sigma\Sigma^T
ΣΣT 或
Σ
T
Σ
\Sigma^T\Sigma
ΣTΣ 对角非零元素即为奇异值的平方。
从以上讨论中可以得出:
- U U U 的列向量为 A A T AA^T AAT 的特征向量
- V V V 的列向量为 A T A A^TA ATA 的特征向量,则 V T V^T VT 的行向量为 A T A A^TA ATA 的特征向量
奇异值分解的应用
奇异值可以作为矩阵
A
A
A 的代表值,它记录了
A
A
A 中的信息,且奇异值越大,它代表的信息越多,而
Σ
\Sigma
Σ 主对角线上的奇异值从左上到右下依次递减:
只用取前面一部分奇异值,即可记录矩阵 A A A 的大部分信息。
应用:图片压缩