Chrome Extension
WeChat Mini Program
Use on ChatGLM

pyGNMF: A Python library for implementation of generalised non-negative matrix factorisation method

Nirav L. Lekinwala, Mani Bhushan

SoftwareX(2022)

Cited 0|Views0
No score
Abstract
This article introduces a Python library named pyGNMF, which implements the recently proposed generalised non-negative matrix factorisation (GNMF) method. GNMF factorises a non-negative matrix into a product of two non-negative matrices by incorporating error-covariance information between different elements of the dataset. In literature, several non-negative matrix factorisation (NNMF) methods such as NMF, glsNMF and LS-NMF are available; however, they assume different forms of the error-covariance matrix. In particular, NMF assumes identity error-covariance matrix, LS-NMF assumes diagonal error-covariance matrix, and glsNMF assumes errors to be correlated in only one direction (rows or columns). In contrast, GNMF can incorporate the full error-covariance information and depending on the error-covariance structure, GNMF subsumes these methods as special cases. The parent article introduces two approaches to solve the problem by using projected gradient-based and multiplicative updates and is demonstrated on an air pollution source apportionment problem. Both these approaches have been incorporated into the pyGNMF library. The mathematical nature of GNMF method makes it domain-agnostic, enabling users from different domains to deploy GNMF for their non-negative matrix factorisation applications.(c) 2022 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).
More
Translated text
Key words
Steepest descent,Correlated errors,Multiplicative update,Projected gradient update
AI Read Science
Must-Reading Tree
Example
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined