【发布时间】:2015-08-19 18:50:48
【问题描述】:
我对 PCA 完全感到困惑。我有一个尺寸为 90x60x12x350 的 4D 图像。这意味着每个体素都是大小为 350(时间序列)的向量。
现在我将 3D 图像 (90x60x12) 分成立方体。所以假设一个立方体包含 n 个体素,所以我有 n 个大小为 350 的向量。我想将这个 n 向量减少到只有一个向量,然后计算所有立方体的所有向量之间的相关性。
所以对于一个立方体,我可以构造矩阵M,我只是将每个体素一个接一个地放置,即M = [v1 v2 v3 ... vn],每个v 的大小为350。
现在我可以通过使用[coeff, score, latent, ~, explained] = pca(M); 并获取第一个组件在 Matlab 中应用 PCA。现在我的困惑开始了。
是否应该转置矩阵
M,即PCA(M')?我应该取 coeff 还是 score 的第一列?
-
这第三个问题现在有点无关紧要了。假设我们有一个 矩阵
A = rand(30,100)其中行是数据点和 列是特征。现在我想降低维度 特征向量,但保留所有数据点。如何使用 PCA 做到这一点?
当我做
[coeff, score, latent, ~, explained] = pca(M);然后 coeff 的尺寸为 100x29, score 的尺寸为 30x29。我是 完全糊涂了。
【问题讨论】: