PCA前后意味着减法/加法

时间:2017-01-19 18:10:44

标签: pca

底线问题:当我使用计算出的PCA投影矩阵 P 投影向量 v 进入另一个空间(可能在维度方面较低),我应该首先 v 中减去的平均值用于创建协方差矩阵的向量,其主要特征向量构成投影矩阵 P

另一个衍生问题:如果上面问题的答案是"正确",那么当我投射"减少"矢量回到原始空间,我应该最终添加到它同样的意思吗?

现在详细的问题,包括可能引起混淆的步骤:

PCA流程按以下方式进行:

  1. 使用长度为 d m 向量并计算其协方差矩阵。由于 (i,j) 位置中的元素是 i &#39;的协方差维度和所有 m 向量的 j &#39维度,我们可以得到目标< em> (dxd) 大小的协方差矩阵,通过减去所有向量的均值,创建一个大小为 A 的矩阵> (dxm) ,其中所有平均减去的向量都作为列向量放置并计算乘法: C = AA&#39;

  2. 计算 C d 特征值和特征向量,以及某些预选< em> k ,创建一个大小为 (kxd)的矩阵 P ,并按 P 的行向量放置与最大特征值对应的 k 特征向量的降序

  3. 对于原始维度 d 的任何向量 v ,我们要投影到可能减小的维度 k ,我们计算乘法: u = Pv ,它可能会产生一个向量缩小尺寸 k

  4. 对于已经投影到可能缩减的维度 k 的任何向量 u ,如果我们想要将它(在可能的数据丢失之后)投影到原始维度 d ,我们计算乘法: v = P&#39;你 ,它在原始维度 d 中生成一个向量。

  5. 问题是:是否:

    • 在步骤(3)中,我们应首先从 v 中减去我们在步骤(1)中计算的平均值
    • 在步骤(4)中,我们最终应该添加 v 我们在步骤(1)中计算的平均值

2 个答案:

答案 0 :(得分:2)

  
      
  • 在步骤(3)中,我们应该首先从v中减去我们在步骤(1)中计算的平均值?
  •   
  • 在步骤(4)中,我们应该最后加上v我们在步骤(1)中计算的平均值?
  •   

是的,是的。

另请注意,如有必要,您可以在样本的一次通过中计算协方差矩阵,并使用:

COV = E[vv'] - E[v]E[v]'

答案 1 :(得分:2)

在一些教程中找到答案。在这里分享,这样任何人都可以享受......

根据this非常友好和友好的PCA教程,确实应该在(3)中减去平均值,并在(4)中添加。在着名的经典eigenfaces论文中,它似乎也以同样的方式描述。

以下是PCA教程的一些截图,有意义:

投射新空间:   Projecting to new space

投射回原始空间:   Projecting back to original space