1、什么是特征值分解
特征值定义:
任意的一个
n
n
n阶实数方阵
A
∈
R
n
×
n
A\in R^{n\times n}
A∈Rn×n,如果存在非零向量
x
x
x:
A
x
=
λ
x
Ax=\lambda x
Ax=λx, 则称
x
x
x为
A
A
A的特征向量,
λ
\lambda
λ为
A
A
A的特征值或者本征值。
特征值分解:
任意的一个
n
n
n阶实数方阵
A
∈
R
n
×
n
A\in R^{n\times n}
A∈Rn×n,A含有
n
n
n个线性无关特征向量的充分必要条件是
A
A
A可以分解为如下形式:
A
=
Q
Λ
Q
−
1
A=Q\Lambda Q^{-1}
A=QΛQ−1,
其中
Λ
\Lambda
Λ为对对角阵。
值得注意的是任意的实对称矩阵都可以进行特征值分解(对角化)。
可逆矩阵(满秩,没有零特征值,行或列向量线性无关),与是否能对角化没有关系。
因此在主成分分析中,变量的协方差矩阵是实对称矩阵,因此一定可以进行矩阵分解。
2、什么是奇异值分解
奇异值定义:任意的一个矩阵 A ∈ R r m × n A\in R^{m\times n}_r A∈Rrm×n, A T A A^TA ATA( A T A A^TA ATA特征值大于等于0,[1])的特征值为 λ 1 ≥ λ 2 ≥ . . . ≥ λ r > λ r + 1 = . . . = λ n = 0 \lambda_1\geq \lambda_2\geq...\geq\lambda_r>\lambda_{r+1}=...=\lambda_n=0 λ1≥λ2≥...≥λr>λr+1=...=λn=0, A的奇异值为 { λ 1 , λ 2 , . . . , λ n } \{\sqrt\lambda_1,\sqrt\lambda_2,...,\sqrt\lambda_n \} {λ1,λ2,...,λn},记为 { σ 1 , σ 2 , . . . , σ n } \{\sigma_1,\sigma_2,...,\sigma_n \} {σ1,σ2,...,σn}。
奇异值分解:
任意的一个矩阵
A
∈
R
r
m
×
n
A\in R^{m\times n}_r
A∈Rrm×n,可以分解为
A
=
U
[
Σ
0
0
0
]
V
T
A=U \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix}\ V^T
A=U[Σ000] VT,
其中
Σ
=
d
i
a
g
(
σ
1
,
σ
2
,
.
.
.
,
σ
r
)
\Sigma=diag(\sigma_1,\sigma_2,...,\sigma_r )
Σ=diag(σ1,σ2,...,σr),
U
U
U,
V
V
V为酉矩阵,即
U
T
U
=
I
m
U^TU=I_m
UTU=Im,
V
T
V
=
I
n
,
V^TV=I_n,
VTV=In,。
注意
[
Σ
0
0
0
]
∈
R
m
×
n
\begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix}\in R^{m\times n}
[Σ000]∈Rm×n。
分解方法:
A
T
A
=
V
[
Σ
0
0
0
]
T
U
T
U
[
Σ
0
0
0
]
V
T
A^TA=V \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix}^T\ U^T U \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix}\ V^T
ATA=V[Σ000]T UTU[Σ000] VT,
=
V
[
Σ
0
0
0
]
T
[
Σ
0
0
0
]
V
T
=V \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix}^T\ \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix}\ V^T
=V[Σ000]T [Σ000] VT
=
V
[
Σ
2
0
0
0
]
V
T
=V \begin{bmatrix} \Sigma^2 & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix} V^T
=V[Σ2000]VT
因此
V
V
V是
A
T
A
A^TA
ATA的单位正交特征向量。特征值分解求得
V
V
V。
同理可得
U
U
U是
A
A
T
AA^T
AAT的单位正交特征向量,但是直接求
A
A
T
AA^T
AAT的单位正交特征向量后需要验证是否能还原为
A
=
U
[
Σ
0
0
0
]
V
T
A=U \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix} V^T
A=U[Σ000]VT。
或者另外一种方法求
V
V
V:
因为一定有:
A
=
U
[
Σ
0
0
0
]
V
T
A=U \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix} V^T
A=U[Σ000]VT
划分
U
=
[
U
r
,
U
m
−
r
]
U=[U_r,U_{m-r}]
U=[Ur,Um−r],
V
=
[
V
r
,
V
n
−
r
]
V=[V_r,V_{n-r}]
V=[Vr,Vn−r],
U
r
U_r
Ur为
U
U
U的前
r
r
r列,
V
r
V_r
Vr为
V
V
V的前
r
r
r列。
则:
A
=
[
U
r
,
U
m
−
r
]
[
Σ
0
0
0
]
[
V
r
,
V
n
−
r
]
T
A=[U_r,U_{m-r}] \begin{bmatrix} \Sigma & \bold 0 \\ \bold 0 & \bold 0 \end{bmatrix} [V_r,V_{n-r}]^T
A=[Ur,Um−r][Σ000][Vr,Vn−r]T
A
=
U
r
Σ
V
r
T
A=U_r\Sigma V_r^T
A=UrΣVrT
A
V
r
=
U
r
Σ
V
r
T
V
r
=
U
r
Σ
AV_r=U_r\Sigma V_r^TV_r=U_r\Sigma
AVr=UrΣVrTVr=UrΣ
则
U
r
=
A
V
r
Σ
−
1
U_r=AV_r\Sigma^{-1}
Ur=AVrΣ−1,
取
U
m
−
r
U_{m-r}
Um−r为单位向量组成的矩阵。
用途广泛:
优化问题,最小二乘问题,广义矩阵逆以及一些统计问题。
[1]证明方阵
A
T
A
A^TA
ATA特征值大于等于0.
证:
对任意非零向量
x
x
x,有
x
T
A
T
A
x
=
(
A
x
)
T
A
x
≥
0
x^TA^TAx=(Ax)^TAx\geq0
xTATAx=(Ax)TAx≥0,
因此对于
A
T
A
A^TA
ATA的任意特征向量
y
y
y,以及相应的特征值
λ
\lambda
λ有:
y
T
A
T
A
y
=
y
T
λ
y
=
λ
y
T
y
≥
0
y^TA^TAy=y^T\lambda y=\lambda y^Ty\geq0
yTATAy=yTλy=λyTy≥0,
因此任意的特征值
λ
≥
0
\lambda\geq0
λ≥0。
[2]证明任意实对称矩阵
A
A
A都可以特征分解。(矩阵论简明教程P28)
证:因为
A
T
=
A
A^T=A
AT=A,则
A
T
A
=
A
A
T
A^TA=AA^T
ATA=AAT,A是正规矩阵。
因为任意方阵
A
A
A有
U
T
A
U
=
U
−
1
A
U
=
B
U^TAU=U^{-1}AU=B
UTAU=U−1AU=B,使得
B
B
B为上三角方阵。
因为
B
T
B
=
(
U
T
A
U
)
T
U
T
A
U
=
B
B
T
B^TB=(U^TAU)^TU^TAU=BB^T
BTB=(UTAU)TUTAU=BBT,
设
B
=
(
b
i
j
)
n
×
n
B=(b_{ij})_{n\times n}
B=(bij)n×n,其中
b
i
j
=
0
(
i
>
j
)
b_{ij}=0(i>j)
bij=0(i>j)。
B
T
B
=
B
B
T
B^TB=BB^T
BTB=BBT展开可得得
b
i
j
=
0
(
i
<
j
)
b_{ij}=0(i<j)
bij=0(i<j)。
则
A
A
A可以被对角化。
3、特征值分解和奇异值分解的区别与联系
首先需要注意一些定义和概念的区别:
A可对角化:A相似于对角阵
Σ
\Sigma
Σ。
A相似于B:
P
−
1
A
P
=
B
P^{-1}AP=B
P−1AP=B。P为相似变换矩阵,一定可逆,但是不一定正交。
基:空间
C
n
C^n
Cn内任意
n
n
n个线性无关向量可以构成
C
n
C^n
Cn的一组基。
正交基:基向量两两正交。
规范(标准)正交基:基向量都是单位长度。
P为酉矩阵:
n
n
n阶方阵,
P
H
P
=
I
P^HP=I
PHP=I,
H
H
H为共轭转置。酉矩阵比正交矩阵范围更大。
A酉相似于B:
P
−
1
A
P
=
B
=
P
H
A
P
P^{-1}AP=B=P^HAP
P−1AP=B=PHAP。P为相似变换矩阵,且由单位正交向量构成,即酉矩阵。
A为正规矩阵:
A
H
A
=
A
A
H
A^HA=AA^H
AHA=AAH。正规矩阵范围极大:包括酉矩阵、正交矩阵、Hermite矩阵、实对称矩阵、对角阵等。
任意基都可以正交化。
实对称矩阵一定可以对角化。
实对称矩阵一定可以通过酉矩阵对角化。
实对称矩阵一定可以通过正交矩阵对角化。
矩阵可以酉相似对角阵充要条件是其是正规矩阵。
矩阵可以相似对角阵充要条件是矩阵有n个线性无关特征向量。
什么样的方阵可以进行特征值分解?
任意方阵都可以求特征值和特征向量。但是不一定可以进行特征值分解。当存在n个线性无关特征向量时(或者特征值的代数重数等于几何重数时)可以特征分解。即使可以特征分解,其分解结果也不唯一。在特征值不同时,求得的特征向量直接相交。
尽管实对称矩阵有着种种优良特性,但是实对称矩阵的特征分解和奇异值分解还是不一样的。
(1)首先实对称矩阵尽管可以通过正交矩阵对角化,得到与奇异值分解类似的形式。但是实对称矩阵的特征值可能是负的,因此和奇异值是不一样的。
(2)即使所有特征值都是非负的(半正定矩阵),则特征值和其奇异值相同。但是当有重复特征值时,得到的正交矩阵不唯一。因此和奇异值分解结果也可能不相同。
(3)进一步假设所有特征值都是非负的(半正定矩阵),什么情况下,实对称矩阵特征分解和奇异值分解结果相同呢?(假设特征值和奇异值都是降序排列)。
如果所有特征值都不相同,则得到的特征向量,直接相交。标准化(规范化)后,得到唯一的正交矩阵(注意正交矩阵任意一列的符号改变时,依然是正交矩阵,为了便于理解,我们假设这是同一个正交矩阵)。
而此时
A
T
A
A^TA
ATA的特征值也显然都不一样,因此其特征向量是正交的,规范化后可以得到唯一的正交矩阵。
此时我们考虑实对称矩阵
A
A
A,其所有特征值非负且不相等,则有:
特征值分解:
A
=
P
Σ
P
T
A=P\Sigma P^T
A=PΣPT,
P
P
P为
A
A
A的特征向量组成的正交矩阵。分解存在且唯一。
奇异值分解:
A
T
A
=
V
Σ
2
V
T
A^TA=V\Sigma^2V^T
ATA=VΣ2VT,
V
V
V为
A
T
A
A^TA
ATA的特征向量组成的正交矩阵。分解存在且唯一。
A
A
T
=
A
T
A
=
V
Σ
2
V
T
AA^T=A^TA=V\Sigma^2V^T
AAT=ATA=VΣ2VT,
V
V
V为
A
A
T
AA^T
AAT的特征向量组成的正交矩阵。分解存在且唯一。
则
A
=
V
Σ
V
T
A=V\Sigma V^T
A=VΣVT存在且唯一。如果不唯一,则
A
T
A
=
V
Σ
2
V
T
A^TA=V\Sigma^2V^T
ATA=VΣ2VT分解不唯一。
此时特征分解完全等于奇异值分解
V
=
P
V=P
V=P(除了列向量符合可能不一样)。
可以验证任意方阵 B B B,令 A = B T B A=B^TB A=BTB,则 A A A为实对称矩阵,并且A所有特征值都大于等于0(半正定矩阵),如果满足A的特征值都不相同,则 A A A特征值分解等价于奇异值分解。(降序排列,特征向量规范化)。如果满足A的特征值存在相同的,则正交矩阵不唯一。
综上,在非常特殊的情况下,特征值分解和奇异值分解结果一样(正交矩阵列向量符号可能不一样)。