1.写在前面
学习机器学习的过程中,必须学习数学,其中非常重要的一部分莫过于矩阵分解。而矩阵分解的重中之重在于特征值分解和奇异值分解。但是这部分资料或书籍多晦涩难懂,或浮于表面,不能深入,故产生了写下这篇文章的想法。如果写得不对,欢迎指正!
2.特征值分解
2.1特征方程
令
A
∈
R
n
×
n
A\in R^{n \times n}
A∈Rn×n为一个方阵,
λ
∈
R
\lambda \in R
λ∈R是
A
A
A的特征值,
x
∈
R
n
x \in R^n
x∈Rn是对应的特征向量(注意不能是0向量)当且仅当:
A
x
=
λ
x
Ax = \lambda x
Ax=λx
2.2 定理
给定一个矩阵
A
∈
R
m
×
n
A \in R^{m \times n}
A∈Rm×n,我们总能够得到一个对称半正定的矩阵
S
∈
R
n
×
n
S \in R^{n \times n}
S∈Rn×n,通过下面这种方式:
S
=
A
T
A
S = A^TA
S=ATA
若
r
a
n
k
(
A
)
=
n
rank(A)=n
rank(A)=n,则
S
S
S是对称正定的。
证明:
- 对称性
S = A T A = A T ( A T ) T = ( A T A ) T = S T S = A^TA=A^T(A^T)^T = (A^TA)^T = S^T S=ATA=AT(AT)T=(ATA)T=ST - 正定性
x T S x = x T A T A x = ( A x ) T A x ≥ 0 x^TSx=x^TA^TAx=(Ax)^TAx \ge 0 xTSx=xTATAx=(Ax)TAx≥0
注意最后一个大于号用到了内积的正定性,但是限于篇幅我就不展开讲了,可能以后会写。
2.3 定理2:谱定理(实数) spectral theorem
若 A ∈ R n × n A \in R^{n \times n} A∈Rn×n 是对称矩阵,则一定存在由 A A A的特征向量组成的一组标准正交基,组成了一个对应的向量空间 V V V,且每个特征值都是实的。
2.4 特征值分解
令 A ∈ R n × n A \in R^{n \times n} A∈Rn×n, λ 1 , λ 2 , λ n \lambda_1,\lambda_2,\lambda_n λ1,λ2,λn为一组标量, p 1 , p 2 , . . . , p n p_1, p_2,...,p_n p1,p2,...,pn为一组 R n R^n Rn上向量,我们定义 P = [ p 1 p 2 ⋯ p n ] P = \begin{bmatrix} p_1&p_2 \cdots p_n \end{bmatrix} P=[p1p2⋯pn] 并令 D ∈ R n × n D \in R^{n \times n} D∈Rn×n为一个对角阵,对角元素为 λ 1 , λ 2 , ⋯ λ n \lambda_1 ,\lambda_2 ,\cdots \lambda_n λ1,λ2,⋯λn。
则当且仅当
λ
1
,
λ
2
,
⋯
λ
n
\lambda_1 ,\lambda_2 ,\cdots \lambda_n
λ1,λ2,⋯λn为
A
A
A的特征值且
p
1
,
p
2
,
.
.
.
,
p
n
p_1, p_2,...,p_n
p1,p2,...,pn为对应特征向量时,有:
A
P
=
P
D
AP= PD
AP=PD
证明:
A
P
=
A
[
p
1
p
2
⋯
p
n
]
AP=A\begin{bmatrix}p_1&p_2 \cdots p_n \end{bmatrix}
AP=A[p1p2⋯pn]
P
D
=
[
p
1
p
2
⋯
p
n
]
[
λ
1
⋱
λ
n
]
=
[
λ
1
p
1
λ
2
p
2
⋯
λ
n
p
n
]
PD=\begin{bmatrix}p_1&p_2 \cdots p_n \end{bmatrix}\begin{bmatrix}\lambda_1\\&\ddots\\&&\lambda_n\end{bmatrix}=\begin{bmatrix} \lambda_1p_1 & \lambda_2p_2 & \cdots & \lambda_np_n \end{bmatrix}
PD=[p1p2⋯pn]⎣⎡λ1⋱λn⎦⎤=[λ1p1λ2p2⋯λnpn]
由上面两个等式:
A
[
p
1
p
2
⋯
p
n
]
=
[
λ
1
p
1
λ
2
p
2
⋯
λ
n
p
n
]
A\begin{bmatrix}p_1&p_2 \cdots p_n \end{bmatrix}=\begin{bmatrix} \lambda_1p_1 & \lambda_2p_2 & \cdots & \lambda_np_n \end{bmatrix}
A[p1p2⋯pn]=[λ1p1λ2p2⋯λnpn]
进而等价于:
A
p
1
=
λ
1
p
1
A
p
2
=
λ
2
p
2
⋮
A
p
n
=
λ
n
p
n
Ap_1 = \lambda_1p_1\\Ap_2 = \lambda_2p_2\\\vdots\\Ap_n = \lambda_np_n
Ap1=λ1p1Ap2=λ2p2⋮Apn=λnpn
因此 P P P一定由 A A A的特征向量组成,而 D D D的对角线元素必为对应特征值。
进一步的,当且仅当
A
A
A的特征向量都是独立的时候
⇔
\Leftrightarrow
⇔
A
A
A是non-defective matrix
⇔
\Leftrightarrow
⇔
P
P
P满秩
⇔
\Leftrightarrow
⇔
P
P
P可逆 的时候,有:
A
P
=
P
D
A
=
P
D
P
−
1
AP=PD\\A=PDP^{-1}
AP=PDA=PDP−1
2.5 对称矩阵的特征值分解
已经有:
A
=
P
D
P
−
1
A=PDP^{-1}
A=PDP−1
又由于谱定理(定理2),对称矩阵的特征向量是一组标准正交基ONB,故而
P
P
P是一个正交阵,因此:
P
T
=
P
−
1
P^T=P^{-1}
PT=P−1
进而对于对称矩阵
A
A
A,存在:
A
=
P
D
P
T
A=PDP^T
A=PDPT
Reference:
- 《Mathematics For Machine Learning》by Marc Peter Deisenroth, A.Aldo Faisal and Cheng Soon Ong