快速回顾PCA的原理和思想

来源:互联网 发布:济南知远心理咨询中心 编辑:程序博客网 时间:2024/06/08 15:54

PCA——目的就是“降噪”和“去冗余”。“降噪”的目的就是使保留下来的维度间的相关性尽可能小,而“去冗余”的目的就是使保留下来的维度含有的“能量”即方差尽可能大。

1、设X为m行n列,希望把它降到k维。这个基可以满足(1)字段内的方差最大(2)字段间的相关性(协方差)最小。协方差矩阵可以恰好的描述出字段间协方差和方差。

2、设X的协方差矩阵为C,P为变换的基,Y=PX。Y的协方差矩阵为D。

3、协方差矩阵是实对称矩阵,因此可以对角化。对角化后,可以得到一系列新的维度。对角线上的值是维度各自的方差,同时除了对角线之外的元素均为0,保证了正交性。 

4、已经理清了这一步,那么可以由X得到协方差矩阵C,再对角化,既可以方差等东西。取最大的k个即可。然后它们就成了新维度下的K个特征向量的方差等。它们就是D了。


5、那么如何由P得到它呢?可以这样操作一波


然后发现,C、D有这样的关系!然后作为目标的D是对角矩阵,而C是协方差矩阵,那么只要对角化就可以了咩~

6、在需要截取k维时,取P的前k行即可~


参考了:

http://blog.csdn.net/makenothing/article/details/46390269

http://blog.codinglabs.org/articles/pca-tutorial.html