Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
aamijar opened this issue Aug 24, 2024 · 0 comments
Open

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

aamijar opened this issue Aug 24, 2024 · 0 comments
Labels
? - Needs Triage Need team to review and classify feature request New feature or request improvement Improvement / enhancement to an existing function

Comments

@aamijar
Copy link
Contributor

aamijar commented Aug 24, 2024

Documentation for future work:

  • The new lanczos solver in raft Lanczos Solver raft#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 aamijar added feature request New feature or request ? - Needs Triage Need team to review and classify labels Aug 24, 2024
@aamijar aamijar added the improvement Improvement / enhancement to an existing function label Aug 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
? - Needs Triage Need team to review and classify feature request New feature or request improvement Improvement / enhancement to an existing function
Projects
None yet
Development

No branches or pull requests

1 participant