cuml icon indicating copy to clipboard operation
cuml copied to clipboard

[FEA] Add new lanczos solver to UMAP for spectral initialization

Open aamijar opened this issue 1 year ago • 0 comments

Documentation for future work:

  • The new lanczos solver in raft https://github.com/rapidsai/raft/pull/2416 can be integrated into the UMAP spectral initialization algorithm.
  • After the UMAP_::get_graph step the resulting COO matrix needs to converted to a Laplacian CSR matrix.
  • Then the lanczos solver can be called using raft::sparse::solver::lanczos_compute_smallest_eigenvectors
  • Additional steps may be required such as laplacian normalization which sklearn uses.

So far, I've verified that the current spectral initialization gives random noise embeddings. One easy way to check this is to use a toy dataset from sklearn such as S-curve, comment out the UMAP code after spectral initialization and plot it.

Once the new solver is integrated the spectral initialization should be fixed.

aamijar avatar Aug 24 '24 04:08 aamijar