7.1 奇异值分解SVD和对称矩阵谱分解
矩阵
A
m
n
,
r
a
n
k
A
=
r
<
(
m
,
n
)
A_{mn},rank A=r < (m, n)
A m n , r a n k A = r < ( m , n ) 是亏秩矩阵时,虽然高斯消元法可以求得方程
A
x
=
b
A\mathbf{x}=\mathbf{b}
A x = b 的解,很可惜的是,采用高斯消元法,有两个缺点:第一是,当方程不存在精确解时,高斯消元法无法得到最小二乘解;第二是,当方程存在精确解时,其解的结构是特解加零解。当选择不同的矩阵
A
A
A 列空间的极大无关组时,可以求得不同的特解,理论上存在无穷多特解满足方程
A
x
=
b
A\mathbf{x}=\mathbf{b}
A x = b ,一般情况下,我们希望获得最特殊的特解--最小范数解,即所有特解中,内积最小特解
min
∥
x
p
∥
\min\| \mathbf{x}_p \|
min ∥ x p ∥ 。
由于矩阵
A
A
A 是亏秩矩阵,其列向量不是
R
m
R^m
R m 空间的基,故不是任意
b
\mathbf{b}
b 都有精确解,只有当
b
\mathbf{b}
b 位于矩阵
A
A
A 列空间时,才存在精确解,否则只能获得最小二乘解。令向量
b
\mathbf{b}
b 向矩阵
A
A
A 列空间的投影向量为
b
p
\mathbf{b}_p
b p ,则方程
A
x
=
b
p
A\mathbf{x} = \mathbf{b}_p
A x = b p 有精确解,称为最小二乘解,由于矩阵
A
A
A 不是列满秩矩阵,故不能采用第五章方法获得最小二乘解。同时由于矩阵
A
A
A 列向量组是相关组,故方程
A
x
=
b
p
A\mathbf{x} = \mathbf{b}_p
A x = b p 有无穷多解,其解的结构是特解加零解,我们希望获得最小范数特解。综上,对于方程
A
x
=
b
A\mathbf{x}=\mathbf{b}
A x = b ,对任意向量
b
\mathbf{b}
b ,我们希望获得最小范数最小二乘解和零解。
方程
A
x
=
b
A\mathbf{x}=\mathbf{b}
A x = b 的解空间为
R
n
R^n
R n 空间,令向量组
v
i
,
i
=
1
,
⋯
,
n
\mathbf{v}_i,i=1,\cdots,n
v i , i = 1 , ⋯ , n 是
R
n
R^n
R n 空间中任意
n
n
n 个线性无关的单位向量,则向量组
A
v
i
,
i
=
1
,
⋯
,
n
A\mathbf{v}_i,i=1,\cdots,n
A v i , i = 1 , ⋯ , n 是
R
m
R^m
R m 空间中向量,对其进行单位化,得
A
v
i
=
σ
i
u
i
,
u
i
是
单
位
向
量
,
σ
i
≥
0
是
向
量
A
v
i
的
长
度
A\mathbf{v}_i = \sigma_i\mathbf{u}_i,\mathbf{u}_i是单位向量,\sigma_i \ge 0是向量A\mathbf{v}_i的长度
A v i = σ i u i , u i 是 单 位 向 量 , σ i ≥ 0 是 向 量 A v i 的 长 度 。向量
A
T
u
i
A^T\mathbf{u}_i
A T u i 是
n
n
n 维,所以位于
R
n
R^n
R n 空间,故其能被该空间的基表示,向量组
v
i
,
i
=
1
,
⋯
,
n
\mathbf{v}_i,i=1,\cdots,n
v i , i = 1 , ⋯ , n 是
R
n
R^n
R n 空间的基,故
A
T
u
i
A^T\mathbf{u}_i
A T u i 能被向量组
v
i
,
i
=
1
,
⋯
,
n
\mathbf{v}_i,i=1,\cdots,n
v i , i = 1 , ⋯ , n 线性表示,所以令
A
T
u
i
=
∑
j
=
1
n
k
i
j
v
j
A^T\mathbf{u}_i = \sum^n_{j=1}k_{ij}\mathbf{v}_j
A T u i = ∑ j = 1 n k i j v j 。令矩阵
V
=
[
v
1
,
⋯
,
v
n
]
V=[\mathbf{v}_1,\cdots,\mathbf{v}_n]
V = [ v 1 , ⋯ , v n ] ,则
A
T
A
v
i
=
A
T
(
A
v
i
)
=
A
T
σ
i
u
i
=
σ
i
∑
j
=
1
n
k
i
j
v
j
=
V
Λ
i
其
中
向
量
Λ
i
=
(
σ
i
k
i
1
,
σ
i
k
i
2
,
⋯
,
σ
i
k
i
n
)
A^TA\mathbf{v}_i = A^T(A\mathbf{v}_i)=A^T\sigma_i\mathbf{u}_i=\sigma_i\sum^n_{j=1}k_{ij}\mathbf{v}_j=V\Lambda_i \\ 其中向量 \Lambda_i=(\sigma_ik_{i1},\sigma_ik_{i2},\cdots,\sigma_ik_{in})
A T A v i = A T ( A v i ) = A T σ i u i = σ i j = 1 ∑ n k i j v j = V Λ i 其 中 向 量 Λ i = ( σ i k i 1 , σ i k i 2 , ⋯ , σ i k i n )
故
A
T
A
[
v
1
,
⋯
,
v
n
]
=
V
[
Λ
1
,
⋯
,
Λ
n
]
A
T
A
V
=
V
Λ
A
T
A
=
V
Λ
V
−
1
A^TA[\mathbf{v}_1,\cdots,\mathbf{v}_n] = V[\Lambda_1,\cdots,\Lambda_n]\\ A^TAV=V\Lambda\\ A^TA = V\Lambda V^{-1}
A T A [ v 1 , ⋯ , v n ] = V [ Λ 1 , ⋯ , Λ n ] A T A V = V Λ A T A = V Λ V − 1
V
V
V 是
R
n
R^n
R n 空间中的任意基,如何选择该基,能使
V
Λ
V
−
1
V\Lambda V^{-1}
V Λ V − 1 最简洁?表达式涉及矩阵
V
V
V 的逆,故希望求逆简单。能直接获得矩阵逆的矩阵有正交矩阵,对角阵,单位阵,矩阵
V
V
V 为对角阵或单位阵,则会造成矩阵
Λ
\Lambda
Λ 复杂。矩阵
V
V
V 为正交矩阵时,能使矩阵
Λ
\Lambda
Λ 为对角阵!该性质就是对称矩阵谱分解定理。
对称矩阵谱分解定理 任意对称矩阵
S
S
S 能分解为正交矩阵
Q
Q
Q 和对角阵
Λ
\Lambda
Λ ,且满足
S
=
Q
Λ
Q
T
S=Q\Lambda Q^T
S = Q Λ Q T 。
令
Q
=
[
q
1
,
⋯
,
q
n
]
Q=[\mathbf{q}_1,\cdots,\mathbf{q}_n]
Q = [ q 1 , ⋯ , q n ] 和
Λ
=
d
i
a
g
(
λ
1
,
⋯
,
λ
n
)
\Lambda=diag(\lambda_1,\cdots,\lambda_n)
Λ = d i a g ( λ 1 , ⋯ , λ n ) 。
S
=
Q
Λ
Q
T
=
[
q
1
,
⋯
,
q
n
]
d
i
a
g
(
λ
1
,
⋯
,
λ
n
)
[
q
1
,
⋯
,
q
n
]
T
=
[
q
1
,
⋯
,
q
n
]
[
λ
1
q
1
T
⋮
λ
n
T
q
n
T
]
=
λ
1
q
1
q
1
T
+
⋯
+
λ
n
q
n
q
n
T
=
∑
i
=
1
n
λ
i
q
i
q
i
T
S=Q\Lambda Q^T = [\mathbf{q}_1,\cdots,\mathbf{q}_n]diag(\lambda_1,\cdots,\lambda_n)[\mathbf{q}_1,\cdots,\mathbf{q}_n]^T=[\mathbf{q}_1,\cdots,\mathbf{q}_n]\left[ \begin{matrix} \lambda_1\mathbf{q}^T_1 \\ \vdots \\ \lambda^T_n\mathbf{q}^T_n \end{matrix} \right]\\ =\lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n\\ = \sum^n_{i=1}\lambda_i\mathbf{q}_i\mathbf{q}^T_i
S = Q Λ Q T = [ q 1 , ⋯ , q n ] d i a g ( λ 1 , ⋯ , λ n ) [ q 1 , ⋯ , q n ] T = [ q 1 , ⋯ , q n ] ⎣ ⎢ ⎡ λ 1 q 1 T ⋮ λ n T q n T ⎦ ⎥ ⎤ = λ 1 q 1 q 1 T + ⋯ + λ n q n q n T = i = 1 ∑ n λ i q i q i T
注意
u
v
T
\mathbf{u}\mathbf{v}^T
u v T 是矩阵,称为向量外积,需要与向量内积区分。因为
r
a
n
k
(
q
i
q
i
T
)
=
1
rank (\mathbf{q}_i\mathbf{q}^T_i) = 1
r a n k ( q i q i T ) = 1 ,
S
=
Q
Λ
Q
T
=
λ
1
q
1
q
1
T
+
⋯
+
λ
n
q
n
q
n
T
S = Q\Lambda Q^T = \lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n
S = Q Λ Q T = λ 1 q 1 q 1 T + ⋯ + λ n q n q n T ,这表明对称矩阵可分解为
n
n
n 个简单矩阵(秩为
1
1
1 )
q
i
q
i
T
\mathbf{q}_i\mathbf{q}^T_i
q i q i T 之和,其系数为
λ
i
\lambda_i
λ i 。因为
q
i
\mathbf{q}_i
q i 都是单位向量,故
λ
i
\lambda_i
λ i 绝对值大的分量更重要,是主成分。
因为
Q
Q
Q 是正交矩阵,故
q
i
q
i
T
=
1
,
q
i
q
j
T
=
0
f
o
r
i
≠
j
\mathbf{q}_i\mathbf{q}^T_i=1 ,\mathbf{q}_i\mathbf{q}^T_j = 0 \quad for \quad i \ne j
q i q i T = 1 , q i q j T = 0 f o r i = j ,所以
S
q
i
=
(
λ
1
q
1
q
1
T
+
⋯
+
λ
n
q
n
q
n
T
)
q
i
=
λ
1
q
1
(
q
1
T
q
i
)
+
⋯
+
λ
n
q
n
(
q
n
T
q
i
)
=
λ
i
q
i
S \mathbf{q}_i = (\lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n)\mathbf{q}_i = \lambda_1\mathbf{q}_1(\mathbf{q}^T_1\mathbf{q}_i) + \cdots + \lambda_n\mathbf{q}_n(\mathbf{q}^T_n\mathbf{q}_i) = \lambda_i\mathbf{q}_i
S q i = ( λ 1 q 1 q 1 T + ⋯ + λ n q n q n T ) q i = λ 1 q 1 ( q 1 T q i ) + ⋯ + λ n q n ( q n T q i ) = λ i q i 即
S
q
i
=
λ
i
q
i
S \mathbf{q}_i = \lambda_i\mathbf{q}_i
S q i = λ i q i ,我们称
λ
i
\lambda_i
λ i 为矩阵
S
S
S 的特征值,
q
i
\mathbf{q}_i
q i 为对应的特征向量。
r
a
n
k
S
=
r
a
n
k
(
Q
Λ
Q
T
)
=
r
a
n
k
(
Λ
Q
T
)
=
r
a
n
k
Λ
rank S = rank (Q\Lambda Q^T) = rank (\Lambda Q^T) = rank \Lambda
r a n k S = r a n k ( Q Λ Q T ) = r a n k ( Λ Q T ) = r a n k Λ 所以对角元素
λ
i
\lambda_i
λ i 非零数目等于矩阵
S
S
S 的秩。
后面证明该定理。
因为矩阵
A
T
A
A^TA
A T A 是对称矩阵,故能分解为
A
T
A
=
V
Λ
V
T
A^TA=V\Lambda V^T
A T A = V Λ V T ,得到正交矩阵
V
=
[
v
1
,
⋯
,
v
n
]
V =[\mathbf{v}_1,\cdots,\mathbf{v}_n]
V = [ v 1 , ⋯ , v n ] 和 对角阵
Λ
\Lambda
Λ 的对角元素
λ
i
\lambda_i
λ i 值,且对角阵
Λ
\Lambda
Λ 的对角元素
λ
i
\lambda_i
λ i 非负。因为对任意向量
x
\mathbf{x}
x ,有
x
T
A
T
A
x
=
(
A
x
)
T
(
A
x
)
≥
0
\mathbf{x}^TA^TA\mathbf{x}=(A\mathbf{x})^T(A\mathbf{x}) \ge 0
x T A T A x = ( A x ) T ( A x ) ≥ 0 ,故
x
T
V
Λ
V
T
x
=
(
V
T
x
)
T
Λ
(
V
T
x
)
=
y
T
Λ
y
=
λ
1
y
1
2
+
λ
2
y
2
2
+
⋯
+
λ
n
y
n
2
≥
0
\mathbf{x}^TV\Lambda V^T\mathbf{x} = (V^T\mathbf{x})^T\Lambda (V^T\mathbf{x}) = \mathbf{y}^T\Lambda \mathbf{y} = \lambda_1 y^2_1 + \lambda_2 y^2_2 + \cdots + \lambda_n y^2_n \ge 0
x T V Λ V T x = ( V T x ) T Λ ( V T x ) = y T Λ y = λ 1 y 1 2 + λ 2 y 2 2 + ⋯ + λ n y n 2 ≥ 0 成立,所以
λ
i
≥
0
\lambda_i \ge 0
λ i ≥ 0 。
根据对称矩阵性质
S
q
i
=
λ
i
q
i
S \mathbf{q}_i = \lambda_i\mathbf{q}_i
S q i = λ i q i ,故
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i 成立,矩阵
A
T
A
A^TA
A T A 特征值为
λ
i
\lambda_i
λ i 且非负,我们习惯把特征值按降序排列,即
λ
1
≥
λ
2
≥
⋯
λ
n
≥
0
\lambda_1 \ge \lambda_2 \ge \cdots \lambda_n \ge 0
λ 1 ≥ λ 2 ≥ ⋯ λ n ≥ 0 。
根据对称矩阵性质
S
=
λ
1
q
1
q
1
T
+
⋯
+
λ
n
q
n
q
n
T
S = \lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n
S = λ 1 q 1 q 1 T + ⋯ + λ n q n q n T ,故
A
T
A
=
λ
1
v
1
v
1
T
+
⋯
+
λ
n
v
n
v
n
T
A^TA = \lambda_1\mathbf{v}_1\mathbf{v}^T_1 + \cdots + \lambda_n\mathbf{v}_n\mathbf{v}^T_n
A T A = λ 1 v 1 v 1 T + ⋯ + λ n v n v n T ,由于
λ
i
\lambda_i
λ i 非负且按降序排列,故靠前的
λ
i
v
i
v
i
T
\lambda_i\mathbf{v}_i\mathbf{v}^T_i
λ i v i v i T 占矩阵
A
T
A
A^TA
A T A 比例更大,是主成分。
r
=
r
a
n
k
A
=
r
a
n
k
(
A
T
A
)
=
r
a
n
k
Λ
r = rank A = rank (A^TA) = rank \Lambda
r = r a n k A = r a n k ( A T A ) = r a n k Λ ,所以对角元素
λ
i
\lambda_i
λ i 非零数目等于矩阵
A
A
A 的秩!
现在证明向量组
U
=
[
u
1
,
⋯
,
u
n
]
U=[\mathbf{u}_1,\cdots,\mathbf{u}_n]
U = [ u 1 , ⋯ , u n ] 两两正交。
(
u
i
T
u
j
)
(
σ
i
σ
j
)
=
(
A
v
i
)
T
(
A
v
j
)
=
v
i
T
A
T
A
v
j
=
v
i
T
(
A
T
A
v
j
)
=
v
i
T
λ
j
v
j
=
λ
j
v
i
T
v
j
(\mathbf{u}^T_i\mathbf{u}_j)(\sigma_i\sigma_j) = (A\mathbf{v}_i)^T(A\mathbf{v}_j) = \mathbf{v}^T_iA^TA\mathbf{v}_j=\mathbf{v}^T_i(A^TA\mathbf{v}_j)=\mathbf{v}^T_i\lambda_j\mathbf{v}_j=\lambda_j\mathbf{v}^T_i\mathbf{v}_j
( u i T u j ) ( σ i σ j ) = ( A v i ) T ( A v j ) = v i T A T A v j = v i T ( A T A v j ) = v i T λ j v j = λ j v i T v j 因为向量组
V
=
[
v
1
,
⋯
,
v
n
]
V=[\mathbf{v}_1,\cdots,\mathbf{v}_n]
V = [ v 1 , ⋯ , v n ] 两两正交,故得证。
当
i
=
j
i=j
i = j 时
(
u
i
T
u
i
)
(
σ
i
σ
i
)
=
λ
i
(
v
i
T
v
i
)
(\mathbf{u}^T_i\mathbf{u}_i)(\sigma_i\sigma_i) = \lambda_i(\mathbf{v}^T_i\mathbf{v}_i)
( u i T u i ) ( σ i σ i ) = λ i ( v i T v i ) ,因为
u
i
,
v
i
\mathbf{u}_i,\mathbf{v}_i
u i , v i 是单位向量,故
λ
i
=
σ
i
2
\lambda_i = \sigma^2_i
λ i = σ i 2 。
又根据
A
T
A
v
i
=
σ
i
∑
j
=
1
n
k
i
j
v
j
=
λ
i
v
i
A^TA\mathbf{v}_i =\sigma_i\sum^n_{j=1}k_{ij}\mathbf{v}_j=\lambda_i\mathbf{v}_i
A T A v i = σ i ∑ j = 1 n k i j v j = λ i v i 得
k
i
j
=
0
f
o
r
j
≠
i
k_{ij}=0 \quad for \quad j \ne i
k i j = 0 f o r j = i 和
λ
i
=
σ
i
k
i
i
\lambda_i = \sigma_ik_{ii}
λ i = σ i k i i ,得
k
i
i
=
σ
i
k_{ii} = \sigma_i
k i i = σ i ,所以
A
T
u
i
=
∑
j
=
1
n
k
i
j
v
j
=
k
i
i
v
i
=
σ
i
v
i
A^T\mathbf{u}_i = \sum^n_{j=1}k_{ij}\mathbf{v}_j = k_{ii}\mathbf{v}_i = \sigma_i\mathbf{v}_i
A T u i = ∑ j = 1 n k i j v j = k i i v i = σ i v i 。
A
A
T
u
i
=
A
σ
i
v
i
=
σ
i
A
v
i
=
σ
i
σ
i
u
i
=
λ
i
u
i
AA^T\mathbf{u}_i=A\sigma_i\mathbf{v}_i=\sigma_iA\mathbf{v}_i=\sigma_i\sigma_i\mathbf{u}_i=\lambda_i\mathbf{u}_i
A A T u i = A σ i v i = σ i A v i = σ i σ i u i = λ i u i ,所以对称矩阵
A
A
T
AA^T
A A T 特征值为
λ
i
\lambda_i
λ i ,对应特征向量为
u
i
\mathbf{u}_i
u i 。
综合上面结论可得矩阵的奇异值分解定理 1、首先根据对称矩阵谱分解定理,可得
A
T
A
=
V
Λ
V
T
=
λ
1
v
1
v
1
T
+
⋯
+
λ
n
v
n
v
n
T
A^TA=V\Lambda V^T = \lambda_1\mathbf{v}_1\mathbf{v}^T_1 + \cdots + \lambda_n\mathbf{v}_n\mathbf{v}^T_n
A T A = V Λ V T = λ 1 v 1 v 1 T + ⋯ + λ n v n v n T ,矩阵
V
=
[
v
1
,
⋯
,
v
n
]
V=[\mathbf{v}_1,\cdots,\mathbf{v}_n]
V = [ v 1 , ⋯ , v n ] 是正交矩阵,矩阵
Λ
\Lambda
Λ 是对角阵,对角元素
λ
i
≥
0
\lambda_i \ge 0
λ i ≥ 0 按降序排列,非零数目等于
r
a
n
k
A
rank A
r a n k A 。 2、满足如下性质
A
v
i
=
σ
i
u
i
A
T
u
i
=
σ
i
v
i
A
T
A
v
i
=
λ
i
v
i
A
A
T
u
i
=
λ
i
u
i
σ
i
=
λ
i
称
为
奇
异
值
,
v
i
称
为
右
奇
异
向
量
,
u
i
称
为
左
奇
异
向
量
.
A\mathbf{v}_i = \sigma_i\mathbf{u}_i \\ A^T\mathbf{u}_i = \sigma_i\mathbf{v}_i \\ A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i \\ AA^T\mathbf{u}_i = \lambda_i\mathbf{u}_i \\ \sigma_i = \sqrt{\lambda_i} 称为奇异值,\mathbf{v}_i称为右奇异向量,\mathbf{u}_i称为左奇异向量.
A v i = σ i u i A T u i = σ i v i A T A v i = λ i v i A A T u i = λ i u i σ i = λ i
称 为 奇 异 值 , v i 称 为 右 奇 异 向 量 , u i 称 为 左 奇 异 向 量 .
几点说明: 1、正交矩阵
V
=
[
v
1
,
⋯
,
v
n
]
V=[\mathbf{v}_1,\cdots,\mathbf{v}_n]
V = [ v 1 , ⋯ , v n ] 和对角阵
Λ
\Lambda
Λ 如何获得呢?理论上可通过解方程
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i 获得,具体如何解后面介绍,非零奇异值
σ
i
=
λ
i
,
i
=
1
,
⋯
,
r
=
r
a
n
k
A
\sigma_i = \sqrt{\lambda_i},i=1,\cdots,r=rank A
σ i = λ i
, i = 1 , ⋯ , r = r a n k A ,
σ
i
\sigma_i
σ i 是向量
A
v
i
A\mathbf{v}_i
A v i 的长度和向量
A
T
u
i
A^T\mathbf{u}_i
A T u i 的长度; 2、根据非零奇异值计算得到
u
i
=
A
v
i
/
σ
i
,
i
=
1
,
⋯
,
r
=
r
a
n
k
A
\mathbf{u}_i = A\mathbf{v}_i/\sigma_i,i=1,\cdots,r=rank A
u i = A v i / σ i , i = 1 , ⋯ , r = r a n k A ; 3、由于向量组
u
i
,
i
=
1
,
⋯
,
r
=
r
a
n
k
A
\mathbf{u}_i,i=1,\cdots,r=rank A
u i , i = 1 , ⋯ , r = r a n k A 两两正交,根据基的扩充定理,可扩充
m
−
r
m-r
m − r 个单位向量
u
i
,
i
=
r
+
1
,
⋯
,
m
\mathbf{u}_i,i=r+1,\cdots,m
u i , i = r + 1 , ⋯ , m ,使矩阵
U
=
[
u
1
,
⋯
,
u
m
]
U = [\mathbf{u}_1,\cdots,\mathbf{u}_m]
U = [ u 1 , ⋯ , u m ] 为正交矩阵,并满足对称矩阵谱分解定理即
A
A
T
=
U
Λ
U
T
=
λ
1
u
1
u
1
T
+
⋯
+
λ
m
u
m
u
m
T
AA^T=U\Lambda U^T = \lambda_1\mathbf{u}_1\mathbf{u}^T_1 + \cdots + \lambda_m\mathbf{u}_m\mathbf{u}^T_m
A A T = U Λ U T = λ 1 u 1 u 1 T + ⋯ + λ m u m u m T
根据
A
v
i
=
σ
i
u
i
A\mathbf{v}_i = \sigma_i\mathbf{u}_i
A v i = σ i u i 得
A
v
1
=
σ
1
u
1
A\mathbf{v}_1 = \sigma_1\mathbf{u}_1
A v 1 = σ 1 u 1 ;
A
v
2
=
σ
2
u
2
A\mathbf{v}_2 = \sigma_2\mathbf{u}_2
A v 2 = σ 2 u 2 ;
⋯
\cdots
⋯ ;
A
v
r
=
σ
r
u
r
A\mathbf{v}_r = \sigma_r\mathbf{u}_r
A v r = σ r u r ,故
A
[
v
1
,
⋯
,
v
r
]
=
[
u
1
,
⋯
,
u
r
]
d
i
a
g
(
σ
1
,
⋯
,
σ
r
)
A[\mathbf{v}_1,\cdots,\mathbf{v}_r] = [\mathbf{u}_1,\cdots,\mathbf{u}_r]diag(\sigma_1,\cdots,\sigma_r)
A [ v 1 , ⋯ , v r ] = [ u 1 , ⋯ , u r ] d i a g ( σ 1 , ⋯ , σ r ) ,写成矩阵形式
A
V
r
=
U
r
Σ
r
AV_r=U_r\Sigma_r
A V r = U r Σ r ,其中矩阵
V
r
=
[
v
1
,
⋯
,
v
r
]
,
U
r
=
[
u
1
,
⋯
,
u
r
]
,
Σ
r
=
d
i
a
g
(
σ
1
,
⋯
,
σ
r
)
V_r=[\mathbf{v}_1,\cdots,\mathbf{v}_r],U_r=[\mathbf{u}_1,\cdots,\mathbf{u}_r],\Sigma_r=diag(\sigma_1,\cdots,\sigma_r)
V r = [ v 1 , ⋯ , v r ] , U r = [ u 1 , ⋯ , u r ] , Σ r = d i a g ( σ 1 , ⋯ , σ r ) 满足
V
r
T
V
r
=
E
r
,
U
r
T
U
r
=
E
r
V^T_rV_r=E_r,U^T_rU_r=E_r
V r T V r = E r , U r T U r = E r ,注意
V
r
V
r
T
≠
E
r
,
U
r
U
r
T
≠
E
r
V_rV^T_r\ne E_r,U_rU^T_r\ne E_r
V r V r T = E r , U r U r T = E r 。
对
A
V
r
=
U
r
Σ
r
AV_r=U_r\Sigma_r
A V r = U r Σ r 可进行扩充即
A
[
v
1
,
⋯
,
v
r
,
⋯
,
v
n
]
=
[
u
1
,
⋯
,
u
r
⋯
,
u
m
]
d
i
a
g
(
σ
1
,
⋯
,
σ
r
,
0
,
⋯
,
0
)
A[\mathbf{v}_1,\cdots,\mathbf{v}_r,\cdots,\mathbf{v}_n] = [\mathbf{u}_1,\cdots,\mathbf{u}_r\cdots,\mathbf{u}_m]diag(\sigma_1,\cdots,\sigma_r,0,\cdots,0)
A [ v 1 , ⋯ , v r , ⋯ , v n ] = [ u 1 , ⋯ , u r ⋯ , u m ] d i a g ( σ 1 , ⋯ , σ r , 0 , ⋯ , 0 ) 写成矩阵形式
A
V
=
U
Σ
AV=U\Sigma
A V = U Σ ,此时矩阵
V
,
U
V,U
V , U 均是正交矩阵,故
A
=
U
Σ
V
T
=
σ
1
u
1
v
1
T
+
⋯
+
σ
r
u
r
v
r
T
A = U\Sigma V^T = \sigma_1\mathbf{u}_1\mathbf{v}^T_1+\cdots+\sigma_r\mathbf{u}_r\mathbf{v}^T_r
A = U Σ V T = σ 1 u 1 v 1 T + ⋯ + σ r u r v r T ,这表明秩为
r
r
r 的任意矩阵
A
A
A 可分解为
r
r
r 个简单矩阵(秩为
1
1
1 )的矩阵
σ
i
u
i
v
i
T
\sigma_i\mathbf{u}_i\mathbf{v}^T_i
σ i u i v i T 之和,且
σ
1
≥
σ
2
≥
⋯
σ
r
>
0
\sigma_1\ge \sigma_2 \ge \cdots \sigma_r > 0
σ 1 ≥ σ 2 ≥ ⋯ σ r > 0 ,按重要性排序。这就是奇异值分解的核心。注意矩阵
Σ
\Sigma
Σ 尺寸为
(
m
,
n
)
(m,n)
( m , n ) ,并不是对角阵,但其前
(
r
,
r
)
(r,r)
( r , r ) 子矩阵
Σ
r
\Sigma_r
Σ r 是对角阵,对角元素为
σ
i
>
0
\sigma_i>0
σ i > 0 ,矩阵其它元素均为
0
0
0 。
根据
A
=
U
Σ
V
T
=
σ
1
u
1
v
1
T
+
⋯
+
σ
r
u
r
v
r
T
A = U\Sigma V^T = \sigma_1\mathbf{u}_1\mathbf{v}^T_1+\cdots+\sigma_r\mathbf{u}_r\mathbf{v}^T_r
A = U Σ V T = σ 1 u 1 v 1 T + ⋯ + σ r u r v r T 可得
A
T
=
V
Σ
U
T
=
σ
1
v
1
u
1
T
+
⋯
+
σ
r
v
r
u
r
T
A^T = V\Sigma U^T = \sigma_1\mathbf{v}_1\mathbf{u}^T_1+\cdots+\sigma_r\mathbf{v}_r\mathbf{u}^T_r
A T = V Σ U T = σ 1 v 1 u 1 T + ⋯ + σ r v r u r T 。
A
T
A
=
V
Λ
V
T
=
λ
1
v
1
v
1
T
+
⋯
+
λ
r
v
r
v
r
T
A^TA = V\Lambda V^T = \lambda_1\mathbf{v}_1\mathbf{v}^T_1 + \cdots + \lambda_r\mathbf{v}_r\mathbf{v}^T_r
A T A = V Λ V T = λ 1 v 1 v 1 T + ⋯ + λ r v r v r T 和
A
A
T
=
U
Λ
U
T
=
λ
1
u
1
u
1
T
+
⋯
+
λ
r
u
r
u
r
T
AA^T = U\Lambda U^T = \lambda_1\mathbf{u}_1\mathbf{u}^T_1 + \cdots + \lambda_r\mathbf{u}_r\mathbf{u}^T_r
A A T = U Λ U T = λ 1 u 1 u 1 T + ⋯ + λ r u r u r T 。
举几个特殊例子说明奇异值分解。 1、对单位矩阵
A
=
E
A=E
A = E 进行奇异值分解。根据
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i 得
E
T
E
v
i
=
λ
i
v
i
E^TE\mathbf{v}_i = \lambda_i\mathbf{v}_i
E T E v i = λ i v i 即
v
i
=
λ
i
v
i
\mathbf{v}_i = \lambda_i\mathbf{v}_i
v i = λ i v i ,所以所有特征值
λ
i
=
1
\lambda_i=1
λ i = 1 即
Σ
=
E
\Sigma = E
Σ = E 。任意单位向量
v
i
\mathbf{v}_i
v i 均满足方程
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i ,故可取任意正交矩阵
V
V
V ,它们均是特征值
1
1
1 对应的特征向量。根据
A
v
i
=
σ
i
u
i
A\mathbf{v}_i = \sigma_i\mathbf{u}_i
A v i = σ i u i 得
u
i
=
v
i
\mathbf{u}_i=\mathbf{v}_i
u i = v i , 故单位矩阵的奇异值分解为
E
=
V
E
V
T
E=VEV^T
E = V E V T ,
V
V
V 是任意正交矩阵。通过这个例子可以得出,矩阵的奇异值分解不唯一,只有当矩阵
A
A
A 是方阵且奇异值均不相等时,分解才唯一。同一个奇异值可以对应多个奇异向量,甚至全部,奇异值对应奇异向量的数目称为几何重数。
2、对正交矩阵
A
=
Q
A=Q
A = Q 进行奇异值分解。根据
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i 得
Q
T
Q
v
i
=
λ
i
v
i
Q^TQ\mathbf{v}_i = \lambda_i\mathbf{v}_i
Q T Q v i = λ i v i 即
v
i
=
λ
i
v
i
\mathbf{v}_i = \lambda_i\mathbf{v}_i
v i = λ i v i ,所以所有特征值
λ
i
=
1
\lambda_i=1
λ i = 1 即
Σ
=
E
\Sigma = E
Σ = E 。任意单位向量
v
i
\mathbf{v}_i
v i 均满足方程
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i ,故可取任意正交矩阵
V
V
V ,它们均是特征值
1
1
1 对应的特征向量。根据
A
v
i
=
σ
i
u
i
A\mathbf{v}_i = \sigma_i\mathbf{u}_i
A v i = σ i u i 得
u
i
=
Q
v
i
\mathbf{u}_i=Q\mathbf{v}_i
u i = Q v i 即
U
=
Q
V
U=QV
U = Q V ,故正交矩阵的奇异值分解为
Q
=
(
Q
V
)
E
V
T
Q=(QV)EV^T
Q = ( Q V ) E V T ,
V
V
V 是任意正交矩阵。
3、对秩为
1
1
1 矩阵
A
=
x
y
T
A=\mathbf{x}\mathbf{y}^T
A = x y T 进行奇异值分解,其中
x
,
y
\mathbf{x},\mathbf{y}
x , y 是单位向量。根据
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i 得
y
y
T
v
i
=
λ
i
v
i
\mathbf{y}\mathbf{y}^T\mathbf{v}_i = \lambda_i\mathbf{v}_i
y y T v i = λ i v i ,当取
v
i
=
y
\mathbf{v}_i=\mathbf{y}
v i = y 时有
λ
i
=
1
\lambda_i=1
λ i = 1 。由于秩为
1
1
1 ,故只有
λ
1
=
1
\lambda_1=1
λ 1 = 1 ,其它奇异值均为
0
0
0 。
u
1
=
A
v
1
=
x
\mathbf{u}_1=A\mathbf{v}_1=\mathbf{x}
u 1 = A v 1 = x 。故矩阵
A
=
x
y
T
A=\mathbf{x}\mathbf{y}^T
A = x y T 的奇异值分解就是
A
=
x
y
T
A=\mathbf{x}\mathbf{y}^T
A = x y T 。在
R
n
R^n
R n 空间扩充基向量得到正交矩阵
V
V
V ,在
R
m
R^m
R m 空间扩充基向量得到正交矩阵
U
U
U ,则
A
=
U
Σ
V
T
A = U\Sigma V^T
A = U Σ V T ,其中伪对角阵
Σ
11
=
1
,
其
它
元
素
均
为
0
\Sigma_{11}=1,其它元素均为 0
Σ 1 1 = 1 , 其 它 元 素 均 为 0 。
4、对角阵
A
=
D
=
d
i
a
g
(
d
1
,
⋯
,
d
n
)
A=D=diag(d_1,\cdots,d_n)
A = D = d i a g ( d 1 , ⋯ , d n ) 进行奇异值分解。根据
A
T
A
v
i
=
λ
i
v
i
A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i
A T A v i = λ i v i 得
d
i
a
g
(
d
1
2
,
⋯
,
d
n
2
)
v
i
=
λ
i
v
i
diag(d^2_1,\cdots,d^2_n)\mathbf{v}_i = \lambda_i\mathbf{v}_i
d i a g ( d 1 2 , ⋯ , d n 2 ) v i = λ i v i 即
(
d
i
a
g
(
d
1
2
,
⋯
,
d
n
2
)
−
λ
i
E
)
v
i
=
d
i
a
g
(
d
1
2
−
λ
i
,
⋯
,
d
n
2
−
λ
i
)
v
i
=
(
(
d
1
2
−
λ
i
)
v
i
1
,
⋯
,
(
d
n
2
−
λ
i
)
v
i
n
)
=
0
(diag(d^2_1,\cdots,d^2_n)-\lambda_i E)\mathbf{v}_i = diag(d^2_1-\lambda_i,\cdots,d^2_n-\lambda_i)\mathbf{v}_i = ((d^2_1-\lambda_i)v_{i1} ,\cdots,(d^2_n-\lambda_i)v_{in}) = \mathbf{0}
( d i a g ( d 1 2 , ⋯ , d n 2 ) − λ i E ) v i = d i a g ( d 1 2 − λ i , ⋯ , d n 2 − λ i ) v i = ( ( d 1 2 − λ i ) v i 1 , ⋯ , ( d n 2 − λ i ) v i n ) = 0 ,所以
λ
1
=
d
1
2
\lambda_1=d^2_1
λ 1 = d 1 2 时
v
1
=
e
1
\mathbf{v}_1=\mathbf{e}_1
v 1 = e 1 ,
λ
i
=
d
i
2
\lambda_i=d^2_i
λ i = d i 2 时
v
i
=
e
i
\mathbf{v}_i=\mathbf{e}_i
v i = e i 。故正交矩阵
V
=
E
V=E
V = E ,奇异值为
σ
i
=
∣
d
i
∣
\sigma_i=|d_i|
σ i = ∣ d i ∣ ,
Σ
=
∣
D
∣
\Sigma=|D|
Σ = ∣ D ∣ ,根据
A
v
i
=
σ
i
u
i
A\mathbf{v}_i = \sigma_i\mathbf{u}_i
A v i = σ i u i 得
u
i
=
D
e
i
/
∣
d
i
∣
=
s
i
g
n
(
d
i
)
e
i
\mathbf{u}_i=D\mathbf{e}_i/|d_i|=sign(d_i)\mathbf{e}_i
u i = D e i / ∣ d i ∣ = s i g n ( d i ) e i 即
U
=
s
i
g
n
(
D
)
E
U=sign(D)E
U = s i g n ( D ) E ,故对角阵的奇异值分解为
D
=
U
Σ
V
T
=
(
s
i
g
n
(
D
)
E
)
∣
D
∣
E
T
D=U\Sigma V^T=(sign(D)E)|D|E^T
D = U Σ V T = ( s i g n ( D ) E ) ∣ D ∣ E T 。