奇异值分解 Singular Value Decomposition
现在看前一段时间写的博客觉得好尬,有小错误不说,有些地方根本理解不到位,有机会再改吧(下次一定.jpg)
奇异值分解的定义与性质
定义与定理
A
=
U
Σ
V
T
A = U\Sigma V^T
A=UΣVT
A是任意矩阵(
m
×
n
m\times n
m×n),连方阵都不要求 。
U
U
U是正交矩阵orthogonal matrix(
m
×
m
m\times m
m×m),列向量被称为左奇异向量
V
V
V是正交矩阵orthogonal matrix(
n
×
n
n\times n
n×n),列向量被称为右奇异向量
Σ
\Sigma
Σ是矩形对角矩阵rectangular diagonal matrix(
m
×
n
m\times n
m×n),所有元素非负,且按照降序排列
Σ
=
d
i
a
g
(
σ
1
,
σ
2
,
.
.
.
,
σ
p
)
\Sigma = diag(\sigma_1, \sigma_2,...,\sigma_p)
Σ=diag(σ1,σ2,...,σp)
σ
\sigma
σ为奇异值
奇异值分解定理:任意矩阵A一定存在奇异值分解
紧奇异值分解和截断奇异值分解
A = U Σ V T A = U\Sigma V^T A=UΣVT被称为A的完全奇异值分解full SVD, 紧奇异值分解compact SVD是与原始矩阵等秩的奇异值分解;截断奇异值分解truuncate SVD是比原始矩阵低秩的奇异值分解
A
=
U
Σ
V
T
A = U\Sigma V^T
A=UΣVT为完全奇异值分解
A
=
U
r
Σ
r
V
r
T
A = U_r\Sigma_r V_r^T
A=UrΣrVrT 为紧奇异值分解,
U
r
U_r
Ur为
U
U
U的前r列,
V
r
V_r
Vr为
V
V
V的前r列,
Σ
r
\Sigma_r
Σr为
Σ
\Sigma
Σ的前r个对角线元素,
Σ
r
\Sigma_r
Σr的秩与原始矩阵的秩相等。
r为A的秩
A
=
U
k
Σ
k
V
k
T
A = U_k\Sigma_k V_k^T
A=UkΣkVkT 为截断奇异值分解,
U
k
U_k
Uk为
U
U
U的前k列,
V
k
V_k
Vk为
V
V
V的前k列,
Σ
k
\Sigma_k
Σk为
Σ
\Sigma
Σ的前k个对角线元素,
Σ
k
\Sigma_k
Σk的秩与原始矩阵的秩相等。
k<r
实际应用中提到奇异值分解一般指截断奇异值分解
几何解释
U是坐标系的旋转或者反射变换,Σ是坐标系的放缩变换,V是坐标系的旋转或者反射变换
主要性质
(这一部分有些不太懂的,回头再看)
- A T A A^TA ATA和 A A T AA^T AAT一定存在特征分解,V的列向量是 A T A A^TA ATA的特征向量,U的列向量是 A A T AA^T AAT的特征向量,Σ的奇异值是 A T A A^TA ATA和 A A T AA^T AAT特征值的平方根
- A T u j = σ j v j j = 1 , 2 , . . , n A T u j = 0 j = n + 1 , n + 2 , . . . , m A^Tu_j=\sigma_jv_j\ \ \ \ \ j=1,2,..,n \\ A^Tu_j=0 \ \ \ \ \ \ \ j=n+1,n+2,...,m ATuj=σjvj j=1,2,..,nATuj=0 j=n+1,n+2,...,m
- 奇异值分解中,Σ是唯一的,U和V不是唯一的
- rank(A) = rank( Σ \Sigma Σ) = # σ i ( σ i > 0 ) \sigma_i(\sigma_i>0) σi(σi>0) = r
- (没看懂)
奇异值分解的计算
A T A A^TA ATA的特征向量为V的列向量;Σ: A T A A^TA ATA的特征值开根号,降序排列,放到对角线上,其他地方补0;求正奇异值对应的左奇异值,求扩充的 A T A^T AT的标准正交基,构成U的列。
奇异值分解和矩阵近似
弗罗贝尼乌斯范数Frobenius norm
∣
∣
A
∣
∣
F
=
(
∑
i
=
1
m
∑
j
=
1
n
(
a
i
j
)
2
)
1
2
||A||_F=(\sum\limits_{i=1}^m\sum\limits_{j=1}^n(a_{ij})^2)^\frac12
∣∣A∣∣F=(i=1∑mj=1∑n(aij)2)21
(所有元素的平方和开根号)
定理: ∣ ∣ A ∣ ∣ F = ∣ ∣ Σ ∣ ∣ F = ( σ 1 2 + σ 2 2 + . . . + σ n 2 ) 1 2 ||A||_F=||\Sigma||_F=(\sigma_1^2+\sigma_2^2+...+\sigma_n^2)^\frac12 ∣∣A∣∣F=∣∣Σ∣∣F=(σ12+σ22+...+σn2)21
矩阵的最优近似
奇异值分解是在平方损失(即弗罗贝尼乌斯范数)意义下对矩阵的最优近似,即数据压缩
r
a
n
k
(
A
)
=
r
,
A
=
U
Σ
V
T
,
M
rank(A) = r, A=U\Sigma V^T,M
rank(A)=r,A=UΣVT,M为所有秩不超过k(
k
≤
r
k\leq r
k≤r)的矩阵的集合,一定存在
∣
∣
A
X
∣
∣
F
=
min
S
∈
M
∣
∣
A
−
S
∣
∣
F
||A_X||_F=\min\limits_{S\in M}||A-S||_F
∣∣AX∣∣F=S∈Mmin∣∣A−S∣∣F,且
∣
∣
A
−
X
∣
∣
F
=
(
σ
k
+
1
2
+
σ
k
+
2
2
+
.
.
.
+
σ
n
2
)
1
2
||A-X||_F=(\sigma_{k+1}^2+\sigma_{k+2}^2+...+\sigma_n^2)^\frac12
∣∣A−X∣∣F=(σk+12+σk+22+...+σn2)21。特别的,当r=k时,
A
′
=
U
Σ
′
V
T
A'=U\Sigma 'V^T
A′=UΣ′VT是达到最优值的矩阵
紧奇异值分解是Frobenius norm意义下的无损压缩
截断奇异值分解是Frobenius norm意义下的有损压缩,k常常远小于r,由于σ递减很快,所以截断奇异值分解也可以有较好的近似
矩阵的外积展开式
U
Σ
=
[
σ
1
u
1
σ
2
u
2
.
.
.
σ
n
u
n
]
V
T
=
[
v
1
T
v
2
T
.
.
.
v
n
T
]
T
A
=
σ
1
u
1
v
1
T
+
σ
2
u
2
v
2
T
+
.
.
.
+
σ
n
u
n
v
n
T
A
k
=
σ
1
u
1
v
1
T
+
σ
2
u
2
v
2
T
+
.
.
.
+
σ
k
u
k
v
k
T
U\Sigma = [\sigma_1u_1 \ \ \sigma_2u_2 \ \ \ ... \ \ \sigma_nu_n] \\ V^T = [v_1^T \ \ \ v_2^T \ \ \ ... \ \ \ v_n^T]^T \\ A = \sigma_1u_1v_1^T + \sigma_2u_2v_2^T + ... + \sigma_nu_nv_n^T \\ A_k = \sigma_1u_1v_1^T + \sigma_2u_2v_2^T + ... + \sigma_ku_kv_k^T
UΣ=[σ1u1 σ2u2 ... σnun]VT=[v1T v2T ... vnT]TA=σ1u1v1T+σ2u2v2T+...+σnunvnTAk=σ1u1v1T+σ2u2v2T+...+σkukvkT
A
k
A_k
Ak即为A的截断奇异值分解,也是秩为k的最优近似。