【问题标题】:How to find projection matrix for PCA in MATLAB?如何在 MATLAB 中找到 PCA 的投影矩阵?
【发布时间】:2015-03-06 00:23:21
【问题描述】:

我正在尝试使用 PCA 降低数据的维度。

所以我打电话给[COEFF, SCORE] = princomp(data);,根据this answer,我可以用SCORE * COEFF' + Mean重构我的数据,它可以工作。

但我试图找到投影矩阵P,其中任何给定的向量x 都可以转换为其在PCA 空间中的投影。

我的直觉告诉我,我应该能够通过以下方式投射x:

proj = ((x-m) * inv(C)) + m

m 是我数据的平均值。

所以我通过选择x 作为我的数据的第一个观察值来测试这个,我希望proj 应该非常接近SCORE 的第一行。然而事实并非如此。

那么我哪里做错了?以及如何找到投影矩阵?

感谢您的帮助!

【问题讨论】:

    标签: matlab machine-learning data-mining projection pca


    【解决方案1】:

    糟糕,现在我明白我的错误了。

    首先,COEFF 是正交的(不确定)所以inv(COEFF) == COEFF'

    投影是由

    找到的
    proj = COEFF' * (x-m)
    

    【讨论】:

      猜你喜欢
      • 2013-05-14
      • 2012-04-24
      • 2012-06-02
      • 2019-03-05
      • 2015-11-01
      • 2016-08-15
      • 1970-01-01
      • 2012-03-27
      • 2013-08-03
      相关资源
      最近更新 更多