Fast and Versatile Non-Negative Matrix Factorization

This is a package for Non-Negative Linear Models (NNLM). It implements fast sequential coordinate descent algorithms for non-negative linear regression and non-negative matrix factorization (NMF). It supports mean square error and Kullback-Leibler divergence loss. Many other features are also implemented, including missing value imputation, domain knowledge integration, designable W and H matrices and multiple forms of regularizations.


NNLM-0.4.2: 2017-05-17

  • bug fixed

NNLM-0.4.1: 2015-12-26

  • removed GNU g++ specific header for portability
  • minor changes on documentation

NNLM-0.4.0: 2015-12-20

  • Re-designed interface of nnmf
  • Re-designed all C++ codes for future extension
  • Added sequential quadratic approximation to KL-divergence
  • Integrated regularization into Lee's multiplicative algorithms
  • More choices of algorithms for nonnegative linear model and renamed nnls to nnlm
  • Removed plot method

NNLM-0.3.0: 2015-11-19

  • nmf_partial was updated to nnmf_general, with two more great features
    • NMF with masked entries in W and H forced to 0
    • Allowing missing values in matrix A, which is useful for missing value imputation and recommendation system.
  • Add more potential applications on vignette

NNLM-0.2.0: 2015-11-08

  • NMF with partially known profiles, which can be used for tumour content deconvolution with known health profile
  • Updated vignette

NNLM-0.1.0: 2015-11-04

  • OpenMP support for multiple threading
  • Added progression bar and keyboard interrupt
  • Added a vignette

NNLM-0.0.2: 2015-10-31

  • A very fast non-negative least square solver nnls
  • Non-negative matrix factorization using alternating NNLS and brunet
  • Predict new coefficients from known profile discovered from NMF (nnmf)

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.4.3 by Xihui Lin, a year ago

Report a bug at

Browse source code at

Authors: Xihui Lin [aut, cre] , Paul C Boutros [aut]

Documentation:   PDF Manual  

Task views:

BSD_2_clause + file LICENSE license

Imports Rcpp, stats, utils

Suggests testthat, knitr, rmarkdown, mice, missForest, ISOpureR

Linking to Rcpp, RcppArmadillo, RcppProgress

See at CRAN