我有大约 1000 个维度为 50000 的向量 x_i,但它们非常稀疏;每个只有大约 50-100 个非零元素。我想对这个数据集(在 MATLAB 中)进行 PCA 以减少数据不需要的极端维度。
不幸的是,由于需要从所有示例中减去均值,因此我不知道没有中间完整矩阵的任何方法。当然,1000x50000 矩阵太大而无法放入内存(当我尝试时,它实际上会因某种原因使我的整个计算机崩溃)。princomp
当我尝试使用Matlab 的内置程序时,它也会使我的计算机崩溃。
所以我的问题是:有没有一种方法可以在不需要大量非稀疏矩阵作为中间步骤的情况下对这些数据进行 PCA?