【发布时间】: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