The spectral embedding step of UMAP is really really slow. I experimented with replacing UMAP's typical spectral embedding step with the Variational Nystrom approximation: http://proceedings.mlr.press/v48/vladymyrov16.pdf. My results show that (at least on MNIST) this can speed up the embedding step by 10x while not affecting the final embedding quality very much. I was wondering if it might make sense to upstream this into UMAP.jl? One of the cons is that it adds another hyper-parameter for the number of landmarks.
I'm happy to provide more details and my implementation (the core algorithm is really small), if people are interested in this extension.
The spectral embedding step of UMAP is really really slow. I experimented with replacing UMAP's typical spectral embedding step with the Variational Nystrom approximation: http://proceedings.mlr.press/v48/vladymyrov16.pdf. My results show that (at least on MNIST) this can speed up the embedding step by 10x while not affecting the final embedding quality very much. I was wondering if it might make sense to upstream this into UMAP.jl? One of the cons is that it adds another hyper-parameter for the number of landmarks.
I'm happy to provide more details and my implementation (the core algorithm is really small), if people are interested in this extension.