SVD in src/initialization.jl can be replaced with the randomized SVD because NMF does not necessarily require the fully precise computation of SVD. In fact, scikit-learn adopts the method. The randomized SVD is faster than the original one, so this issue may be related to #43. Thanks.
Hi all,
SVD in
src/initialization.jl
can be replaced with the randomized SVD because NMF does not necessarily require the fully precise computation of SVD. In fact, scikit-learn adopts the method. The randomized SVD is faster than the original one, so this issue may be related to #43. Thanks.Reference: https://scikit-learn.org/stable/modules/generated/sklearn.utils.extmath.randomized_svd.html