A Second-Order Majorant Algorithm for Nonnegative Matrix Factorization

Mai-Quyen Pham, Jérémy Cohen, Thierry Chonavel
3/31/2023
math.OCcs.LG

No confident code implementation found for this paper.

Abstract

Nonnegative Matrix Factorization (NMF) is a fundamental tool in unsupervised learning, widely used for tasks such as dimensionality reduction, feature extraction, representation learning, and topic modeling. Many algorithms have been developed for NMF, including the well-known Multiplicative Updates (MU) algorithm, which belongs to a broader class of majorization-minimization techniques. In this work, we introduce a general second-order optimization framework for NMF under both quadratic and $β$-divergence loss functions. This approach, called Second-Order Majorant (SOM), constructs a local quadratic majorization of the loss function by majorizing its Hessian matrix. It includes MU as a special case, while enabling faster variants. In particular, we propose mSOM, a new algorithm within this class that leverages a tighter local approximation to accelerate convergence. We provide a convergence analysis, showing linear convergence for individual factor updates and global convergence to a stationary point for the alternating version, AmSOM algorithm. Numerical experiments on both synthetic and real data sets demonstrate that mSOM consistently outperforms state-of-the-art algorithms across multiple loss functions.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{pham2023secondorder,
  title  = {A Second-Order Majorant Algorithm for Nonnegative Matrix Factorization},
  author = {Mai-Quyen Pham and Jérémy Cohen and Thierry Chonavel},
  year   = {2023},
  eprint = {2303.17992},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2303.17992v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2303.17992.svg)](https://codeofpaper.com/paper/2303.17992)

Discussion