摘要
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。本篇主要从线性代数角度分析PCA。
问题分析
给定矩阵
X
⊆
R
m
∗
n
X \mathbb \subseteq \mathbb R^{m*n}
X⊆Rm∗n例如:
X
=
[
a
1
a
2
⋯
a
n
b
1
b
2
⋯
b
n
]
X=\begin{bmatrix} a_1 &a_2& \cdots &a_n\\ b_1 &b_2& \cdots &b_n\\ \end{bmatrix}
X=[a1b1a2b2⋯⋯anbn]
选择
k
<
m
k<m
k<m个正交基进行将为的同时又尽量保持原始数据的信息。即,使的
A
A
A变换得到这组基后,使得行向量间的协方差为0,而每个行向量的方差尽可能大。
协方差矩阵(对称半正定)为:
C
X
=
1
n
X
X
T
=
[
1
n
∑
i
=
1
n
a
i
2
1
n
∑
i
=
1
n
a
i
b
i
1
n
∑
i
=
1
n
a
i
b
i
1
n
∑
i
=
1
n
b
i
2
]
C_X=\frac{1}{n}XX^T= \begin{bmatrix} \frac{1}{n}\sum_{i=1}^n a_i^2 & \frac{1}{n}\sum_{i=1}^n a_ib_i\\ \frac{1}{n}\sum_{i=1}^n a_ib_i &\frac{1}{n}\sum_{i=1}^n b_i^2\\ \end{bmatrix}
CX=n1XXT=[n1∑i=1nai2n1∑i=1naibin1∑i=1naibin1∑i=1nbi2]
这里对特征做了0均值化,所以主对角线上的元素为每行特征的方差,其他的元素为该维度特征与其他特征的协方差,我们对此对称阵
C
X
C_X
CX相似对角化:
C
X
=
U
Λ
U
T
⇒
Λ
=
U
T
C
X
U
C_X=U\Lambda U^T \Rightarrow \Lambda=U^TC_XU
CX=UΛUT⇒Λ=UTCXU
在对角元素中得到最大的前k个特征值所对应的特征向量,求得
ξ
i
X
\xi_i X
ξiX(
i
⊆
k
i\subseteq k
i⊆k)。
举例:
总结与链接
博客为学习使用。