PCA算法步骤

来源:互联网 发布:游戏视频后期制作软件 编辑:程序博客网 时间:2024/06/06 18:55

一些基本概念:

1、   向量。

2、向量乘法:原向量左乘一个矩阵,等于把这个矩阵投影到到该矩阵表示的坐标系上。

3、降维:就是左乘的那个矩阵的维度比原来的维度要小。

4、特征向量与特征值。实对称矩阵的不同特征值的特征向量正交。

5、方差

6、协方差:形容不同维度,即不同变量之间的相关性。

7、协方差矩阵。

   1/n(X*X的转置)

主对角线上的为个元素的方差,其他元素为各变量时之间的协方差

 

8、数据冗余:沿这条线保留的特征最多。

 因为降维是会丢失信息量的。方差越大,保留下来的信息量越多。

 

目标就是:在新的空间上,应该使得样本的协方差矩阵的非对角元的值为零。

 

9、设A为n阶实对称矩阵,则必有正交矩阵P,使得P的转置矩阵*A*P=^=[   ].

并且P为A对应的特征值对应的特征向量组成的矩阵。

 

Y=PX,就是用P来进行变换和降维的。

 

对角化后的方差最大!

所以需要对协方差矩阵进行对角化。

10、然后选取特征值最大的那K个特征值对应的特征向量,组成P。得到的P就可以用来把A投影到降维后的新数据B了。

 

 

具体做法:

假设有m条n维数据。

1、  将原始数据按列组成n行m列的矩阵

2、  对X每一行归零化后为X‘

3、  求协方差矩阵

4、  求出协方差矩阵的特征值及其特征向量

5、  取最大的K个特征值

6、  Y=PX,Y即为降维后的数据

 

0 0