PCA是什么
PCA是一种降维方法,试图从高维数据提取出关键的特征,最后使得降维后的数据有最大可分性,也就是方差最大.
基变换
很容易理解,PCA的目的就是挑选K个基,使得原数据各个特征在新的基下的方差最大.下面从矩阵运算的角度讲述基变换.
假设一个向量
另外一组向量作为新的基
那么x在新基中的坐标表示为
方差和协方差
协方差可以用来表示两个变量的线性相关性,当协方差为0可以说这两个变量完全线性不相关,当两个变量相同时,就退化为方差,协方差定义如下:
下面我们认为一个特征就是一个变量
协方差矩阵
考虑m个n维向量代表m个样本,令
那么
其中fi为第i维特征
注意到矩阵对角线上为方差其余位置为协方差,我们最终的目标是让协方差为0,而方差最大.又因为
我们最终的目标就是找到一个P使得基变换后的协方差矩阵中对角线上的方差从大到小排列,并且其余位置为0,这样我们就可以提取前K个作为我们降维的得到的重要特征,也就是主成分.
线性代数的理论告诉我们这样的P是存在的,这里不细说了.
最后找到了PK,就得到了处理后的数据