样本数量远小于特征维度时PCA的计算方法

假定,我们希望应用一个PCA到s个n维矢量,xi,这里 s<n 。协方差矩阵大小为n×n,这可能非常大。然而,我们可以用一个来源于数据的更小的s×s矩阵来计算协方差矩阵的特征向量和特征值。因为一个特征向量的分解花费的时间和矩阵大小的立方成正比,这样做可以节省大量的时间。

S=DDT

T=DTD

假设
Tei=DTDei=λei

那么
DTei=DDTDei=λDei


SDei=λDei

Dei 是S对应的特征值
现在已经得到S的s个特征值了,其它的怎么计算呢?事实上,我们考虑一个三维空间只有两个样本的情况,三维空间里特征维度为3,两个样本的连线是第一个主元,那么第二个主元如何计算呢?将样本投影到第一个主元上,样本的信息完全保留了,再将差值投影,投影到任何方向都是0,也就是说,第二个主元没有必要存在了,对应于S的第二大特征值为0,第三个主元也是一样。同理,s个n维向量所构成的空间,自由度最大为s,也即协方差矩阵最多有s个特征值不为0,只有这s个特征值对于PCA是有用的
注意,这样得到的特征值并不满足正交条件

你可能感兴趣的:(样本数量远小于特征维度时PCA的计算方法)