【发布时间】:2020-11-24 19:13:13
【问题描述】:
我正在寻找 R 中稀疏矩阵的快速 NMF 实现。
R NMF 包包含许多算法,但没有一个算法在计算时间方面令人印象深刻。
NNLM::nnmf() 目前在 R 中似乎是最先进的,特别是 method = "scd" 和 loss = "mse",实现为通过顺序坐标下降求解的交替最小二乘法。但是,这种方法在非常大、非常稀疏的矩阵上非常慢。
rsparse::WRMF 函数非常快,但这是因为A 中的正值仅用于W 和H 的逐行计算。
在稀疏矩阵上求解 NMF 有什么合理的实现吗?
R 中是否有与scikit-learn 等价的词?见this question
有各种worker函数,例如R中的fnnls、tsnnls,没有一个超过nnls::nnls(用Fortran编写)。我无法将这些函数中的任何一个编码到更快的 NMF 框架中。
【问题讨论】: