【问题标题】:PCA forth and back mean subtraction/additionPCA 来回平均减法/加法
【发布时间】:2017-06-04 13:35:44
【问题描述】:

底线问题:当我使用计算出的 PCA 投影矩阵 P 来投影向量 v 到另一个空间(可能在维度上较低),我应该首先从 v减去用于创建协方差矩阵的向量,其主要特征向量形成投影矩阵 P ?

另一个派生问题:如果上一个问题的答案是“正确的”,那么当我将一个“缩小”的向量投影回原始空间时,我应该最终添加 对它有同样的意思吗?

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

PCA 流程按以下方式进行:

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

  2. 计算dC的特征值和特征向量,对于一些预选的k,创建一个大小为(kxd)的矩阵P em>,并将最大特征值对应的k个特征向量按降序排列,作为P的行向量.

  3. 对于我们想要投影到的原始维度 d 的任何向量 v可能的降维k,我们计算乘法:u = Pv,它在可能的情况下产生一个向量降维k

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

问题是:

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

【问题讨论】:

  • 在第 1 步中,您忘记将 AA' 除以 m
  • 我同意,但它只是一个常数,它不应该影响特征向量及其对应特征值的顺序
  • 此外,我认为您应该除以 sqrt(m),就像在协方差度量公式中一样
  • 不,我相信它是 m,除非您自己重新缩放样本,在这种情况下它是 sqrt(m)。对于 PCA 压缩,这确实无关紧要,因为特征值仅用于对特征向量进行排序,不受此常数因子的影响。
  • 你是对的,它是 m,而不是 sqrt(m)

标签: pca


【解决方案1】:
  • 在步骤 (3) 中,我们应该首先从 v 中减去我们在步骤 (1) 中计算的平均值吗?
  • 在步骤 (4) 中,我们最终应该将在步骤 (1) 中计算的平均值添加到 v 中吗?

是的,是的。

另请注意,如果需要,您可以通过以下方式一次性计算样本的协方差矩阵:

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

【讨论】:

    【解决方案2】:

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

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

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

    投影到新空间:

    投影回原来的空间:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 2018-11-13
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      相关资源
      最近更新 更多