在阅读了数千篇关于 PCA 和 SVD 的文章,在许多编程框架中使用它们,甚至实现了类似的技术(如随机索引)之后,我发现我仍然对 PCA 的某些部分进行降维存有疑问。所以让我展示一下我所知道的和我怀疑的。
假设我们次观察,组织为矩阵。要执行 PCA,我们应该首先计算协方差矩阵的 MLE 估计:
其中是个观测值,是平均观测值。
然后我们可以使用 SVD 分解如下:
现在这里有几件事我不确定:
- ,和的尺寸是多少?
- 在中,究竟什么被认为是特征值,我应该将它们中的哪一个用作主成分?
- 如何将原始观察投影到新的缩减空间上,反之亦然?
UPD。使用 SVD 计算 PCA 有另一种方法 - 通过分解数据矩阵()而不是协方差矩阵()。可以在此答案中找到有关此过程的良好描述。