主成分分析(PCA)算法

时间:2015-05-18 03:05:50

标签: algorithm pca

我试过阅读一些关于PCA的参考资料,但我发现了不同之处。一些参考文献写了这个算法:

  1. 准备初始数据(m x n)
  2. 计算平均值
  3. 使用均值
  4. 减去初始数据
  5. 计算协方差
  6. 计算特征值和特征向量
  7. 结果数据转换(m x k)
  8. 和其他几个参考文献写了这个算法:

    1. 准备初始数据(m x n)
    2. 计算平均值
    3. 计算标准差
    4. 计数z-score =((初始数据 - 均值)/标准差)
    5. 计算协方差
    6. 计算特征值和特征向量
    7. 结果数据转换(m x k)
    8. 我很困惑哪一个是正确的算法。任何人都可以解释何时使用这些算法?

      感谢您的帮助

1 个答案:

答案 0 :(得分:2)

从我看到的,您列出的算法之间的唯一区别是标准偏差的归一化。这是一种标准做法,可确保将具有不同“范围”的值重新调整到相似范围。如果您的数据类似地缩放,则此步骤不是必需的。您可以在此处找到更深入的讨论:https://stats.stackexchange.com/questions/134104/why-do-we-divide-by-the-standard-deviation-and-not-some-other-standardizing-fact

为了举例说明这种缩放问题,我们可以设想多维数据,每个维度都描述了不同的质量。例如,尺寸1可以描述到某个物体的距离,单位为mm,范围为1000-3000,而其他尺寸则将物体颜色的R,G和B分量描述为浮点值,范围从0.0到1.0。为了确保每个维度具有相似的“影响”,我们将其除以标准差。