奇异值分解SVD
奇异值分解(singular value decomposition SVD)是线性代数中一种重要的矩阵分解。奇异值分解在某些方面与对称矩阵或厄米矩阵基于特征向量的对角化类似。然而这两种矩阵分解尽管有其相关性,但还是有明显的不同。对称阵特征向量分解的基础是谱分析,而奇异值分解则是谱分析理论在任意矩阵上的推广。
理论描述
假设是一个
m
×
n
m\times n
m×n阶矩阵,其中的元素全部属于域
K
K
K,也就是实数域或复数域。如此则存在一个分解使得
A
=
U
Σ
V
H
o
r
U
H
A
V
=
[
Σ
0
0
0
]
A = UΣV^H \quad or \quad U^HAV=\begin{bmatrix} \Sigma & 0 \\ 0 & 0 \end{bmatrix}
A=UΣVHorUHAV=[Σ000]
其中
U
U
U是
m
×
m
m\times m
m×m阶酉矩阵;
Σ
\Sigma
Σ是
m
×
n
m\times n
m×n阶非负实数对角矩阵;而
V
H
V^H
VH,即
V
V
V的共轭转置,是
n
×
n
n\times n
n×n阶酉矩阵。
酉矩阵(unitary matrix)是一个 n × n n\times n n×n 复数方块矩阵 U U U,其满足以下性质:
- U H U = U U H = I n U^H U=U U^H=I_n UHU=UUH=In
- 酉矩阵必定可逆, U − 1 = U H U^{-1}=U^H U−1=UH
- ∣ λ n ∣ = 1 ; ∣ d e t ( U ) ∣ = 1 | \lambda _n|=1 ; |det(U)|=1 ∣λn∣=1;∣det(U)∣=1
- U U U 的列向量是在 C n C_n Cn 上的一组标准正交基
- U U U 的行向量是在 C n C_n Cn 上的一组标准正交基
这样的分解就称作 M M M的奇异值分解。 Σ \Sigma Σ对角线上的元素 Σ i , j \Sigma_{i,j} Σi,j即为 M M M的奇异值。
常见的做法是将奇异值由大而小排列。如此 Σ \Sigma Σ便能由 A A A唯一确定了。(虽然 U U U和 V V V仍然不能确定。)
直观解释
- V V V的行(columns)组成一套对 A A A的正交"输入"或"分析"的基向量。这些向量是 A H A A^H A AHA的特征向量
- U U U的行(columns)组成一套对 A A A的正交"输入"的基向量。这些向量是 A A H AA^H AAH的特征向量
- Σ \Sigma Σ对角线上的元素是奇异值,可视为是在输入与输出间进行的标量的"膨胀控制"。这些是 A H A A^H A AHA及 A A H AA^H AAH的特征值的非负平方根,并与 U U U和 V V V的行向量相对应。
紧奇异值分解与截断奇异值分解
实数域的完全奇异值分解:
A
=
U
Σ
V
T
A=U\Sigma V^T
A=UΣVT
实际常用的是奇异值分解的紧凑形式和截断形式,紧奇异值分解是与原始矩阵等秩的,截断奇异值分解是比原始矩阵更低秩的。
紧奇异值分解
设有
m
×
n
m\times n
m×n实矩阵
A
A
A,其秩为
r
a
n
k
(
A
)
=
r
,
r
≤
m
i
n
(
m
,
n
)
rank(A)=r,r\leq min(m,n)
rank(A)=r,r≤min(m,n),则称紧奇异值分解为:
A
=
U
r
Σ
r
V
r
T
A=U_r \Sigma _r V^T_r
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阶对角矩阵。
截断奇异值分解
在矩阵的奇异值分解中,只取最大的
k
k
k个奇异值(
k
<
r
k<r
k<r)对应部分,就得到矩阵的截断奇异值分解
A
≈
U
r
Σ
r
V
r
T
A\approx U_r \Sigma _r V^T_r
A≈UrΣrVrT
几何意义
任意一个向量 x ∈ R n x\in R^n x∈Rn,经过基于 A = U Σ V T A=U \Sigma V^T A=UΣVT的线性变换,等价于经过坐标系的旋转或反射变换 V T V^T VT,坐标轴的缩放变换 Σ \Sigma Σ以及坐标系的旋转或反射变换 U U U,得到向量 A x ∈ R m Ax\in R^m Ax∈Rm 。
参考文献
- wikipedia(维基百科)
- 《统计学习方法》(李航)
- 《矩阵论》(张凯院,徐仲)