PCA算法简述
来,快上车,老铁。主成分分析(Principal Component Analysis, PCA)是最常用的线性降维方法,它是通过某种线性投影,将高维数据映射到低维空间中表示,并期望在所投影的维度上数据方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。
PCA本质是借助正交变换方法,将其分量相关的随机向量转化为其分量不相关的新随机向量:
其实,从上图可以看出:PCA降维就是通过一种投影映射关系将其数据特征冗余最大程度消除,同时数据特征之间的相关性较低,比较容易区分开来。
PCA算法计算步骤
输入:样本集合 X = { x 1 , x 2 , . . . , x m } X=\{x_1,x_2,...,x_m\} X={ x1,x2,...,xm}
1. 对所有样本的相同维度进行中心化(去均值): x i ← x i − 1 m ∑ i m x i x_i\leftarrow x_i-\frac{1}{m}\sum^{m}_ix_i xi←xi−m1∑imxi
2.计算样本的协方差矩阵 C = 1 m − 1 S ∗ S T C=\frac{1}{m-1}S*S^{T} C=m−11S∗ST
其中 S S S为 X X X去均值后的矩阵;
3. 对协方差矩阵 C C C做特征分解,求取特征值 λ = { λ 1 , λ 2 , . . . , λ m } λ=\{λ_1,λ_2,...,λ_m\} λ={ λ1,λ2,...,λm}与特征向量 W = { w 1 , w 2 , . . . , w m } W=\{w_1,w_2,...,w_m\} W={ w1,w2,...,wm}
4.按照特征值大小排序,取最大的 d d d个特征值对应的特征向量 w 1 , w 2 , . . . , w d w_1,w_2,...,w_d w1,w2,...,wd
输出:投影矩阵 W = ( w 1 , w 2 , . . . , w d ) W=(w_1,w_2,...,w_d) W=(w1,w2,...,wd)
PCA算法示例
假设样本集合 X X X中的每个样本为二维平面坐标点,其中 x 1 = ( 1 , 1 ) x_1=(1,1) x1=(1,1)、 x 2 = ( 1 , 3 ) x_2=(1,3) x2=(1,3)、 x 3 = ( 2 , 3 ) x_3=(2,3) x3=(2,3)、 x 4 = ( 4 , 4 ) x_4=(4,4) x4=(4,4)、 x 5 = ( 2 , 4 ) x_5=(2,4) x5=(2,4),那么样本集合:
X = ( 1 1 2 4 2 1 3 3 4 4 ) X= \left( \begin{matrix} 1 & 1 & 2 & 4 & 2 \\ 1 & 3 & 3 &4 & 4\\ \end{matrix} \right) X=(1113234424)
参数解释:
其中集合矩阵 X X X第一行为: { x 1 , x 2 , x 3 , x 4 , x 5 } \{x_1,x_2,x_3,x_4,x_5\} {
x1,x2,x3,x4,x