下面我将通过5w1h的方式去解释PCA:
what(什么是特征降维):将n维的数据用具有k维的空间向量去表示,条件是n > k。
why(为什么要特征降维):因为特征降维可以在基本保持原有数据提供的信息基础之上将特征变少,减少计算量。
when(什么时候用特征降维):当你的特征比较多时,可以考虑,一般是至少100个特征的时候,具体视情况而定。
who(谁来特征降维):程序猿
where(在哪进行特征降维):在数据预处理的时候进行。一般是数据标准化和pca结合使用。
how(怎样进行特征降维):
特征降维之后为了使尽可能的保持原有信息,则应该满足的条件为 1)同一个特征数据之间的方差应该尽可能大,如果一个特征的数据方差很小,则这个特征所统计的数据基本没用; 2)特征之间相关系数应该为0,也就是协方差要为0,这是为了防止特征之间具有线性关联。
步骤:
1) 计算协方差矩阵。对角线为各特征的方差项,其余位置为特征均值。
2)根据Aa=λa计算特征值与特质向量,因为一个特征向量就代表一个维度,故该方程有n个特征值与特征向量。
3)根据特征值从大到小的顺序去横向排列特征向量,降成几维就排列几行。(上述例子是将二维数据降成一维)
特征值中最大的为2,则选取的特征向量为(1,1),进行归一化
4)然后把排列好的k维矩阵去乘以原数据,则得到的就是降维后的数据。