Skip to content

Non-negative matrix factorization#196

Draft
sjfleming wants to merge 44 commits into
mainfrom
nmf
Draft

Non-negative matrix factorization#196
sjfleming wants to merge 44 commits into
mainfrom
nmf

Conversation

@sjfleming

@sjfleming sjfleming commented May 31, 2024

Copy link
Copy Markdown
Contributor

Implement NMF.

Uses the algorithm of Mairal et al. from their online learning paper.

Current issues:

  • Find a good solver for non-negative least squares regression
    • Mairal et al. recommend LARS (least angle)
    • Gao et al. (Welch group) recommend ANLS (but their implementation is in R)
    • Others use HALS and BPP (including nmf-torch package)
  • Benchmark against existing algorithms (https://pypi.org/project/nmf-torch/)
    • Complicated by the fact that NMF is non-convex
  • Implement cNMF

Looking forward

  • Think about implementing different kinds of losses (other than L2 Frobenius norm), especially beta divergences, because the beta=1 beta divergence loss turns NMF into Poisson NMF (this is mentioned in the original Lee and Seung paper I think)

@sjfleming sjfleming mentioned this pull request Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants