作为一个非监督学习的降维方法,PCA(Principal Components Analysis)顾名思义,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。具体的,假如我们的数据集是n维的,共有m个数据(x1,x2,…,xm)。我们希望将这m个数据的维度从n维降到k维,希望这m个k维的数据集尽可能的代表原始数据集。但是,数据从 n维降到k维肯定会有损失,因此,PCA就是要是这个损失降到最小。
PCA数据降维步骤如下
输入:n维样本集X = (x1,x2,…,xm),要降维到的维数k
输出:降维后的样本集Y
1.对所有的样本进行中心化
2.计算样本的协方差矩阵
3.求出协方差矩阵的特征值及对应的特征向量
4.将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P
5.Y = PX即为降维到k维后的数据
PCA算法的主要优点有:
1,仅仅需要以方差衡量信息量,不受数据集以外的因素影响。
2,各主成分之间正交,可消除原始数据成分间的相互影响的因素。
3,计算方法简单,主要运算是特征值分解,易于实现。
PCA算法的主要缺点有:
1,主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。
2,方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。