如何在尺寸极其稀疏的矩阵(例如 70000 x 70000)上运行svd和nmf ?该矩阵的稀疏版本可以存储为磁盘上小于 700M 的二进制文件。我可以将它分解为稀疏格式(如磁盘上的文件或可存储在内存中),而不重建无法存储在内存中(甚至难以存储在磁盘上)的整个矩阵吗?
我知道R中有irlba,python中有sklearn和pymf。但似乎他们需要重建矩阵?svd的问题是我无法保存矩阵S,V 和 D,但是如果我指定一个 K 并且只保存对应于 k 最大特征值的矩阵S_k、V_k 和 D_k怎么办?至于nmf,我想将其分解为W秩 = 100,可以存储在内存中。
如果有某些方法可以做到这一点,计算svd和nmf的预期时间是多少?任何帮助将不胜感激!