Non-negative matrix factorization
||It has been suggested that Online NMF be merged into this article. (Discuss) Proposed since October 2013.|
Non-negative matrix factorization (NMF), also non-negative matrix approximation is a group of algorithms in multivariate analysis and linear algebra where a matrix V is factorized into (usually) two matrices W and H, with the property that all three matrices have no negative elements. This non-negativity makes the resulting matrices easier to inspect. Since the problem is not exactly solvable in general, it is commonly approximated numerically.
- 1 History
- 2 Background
- 3 Types
- 4 Algorithms
- 5 Relation to other techniques
- 6 Uniqueness
- 7 Applications
- 8 Current research
- 9 See also
- 10 Sources and external links
In chemometrics non-negative matrix factorization has a long history under the name "self modeling curve resolution". In this framework the vectors in the right matrix are continuous curves rather than discrete vectors. Also early work on non-negative matrix factorizations was performed by a Finnish group of researchers in the middle of the 1990s under the name positive matrix factorization. It became more widely known as non-negative matrix factorization after Lee and Seung investigated the properties of the algorithm and published some simple and useful algorithms for two types of factorizations.
Let matrix be the product of the matrices and such that:
Matrix multiplication can be implemented as linear combinations of column vectors in with coefficients supplied by cell values in . Each column in can be computed as follows:
where: is the number of columns in
is the column vector of the product matrix
is the cell value in the row and column of the matrix
is the column of the matrix
When multiplying matrices, the dimensions of the factor matrices may be significantly lower than those of the product matrix and it's this property that forms the basis of NMF. NMF generates factors with significantly reduced dimensions compared to the original matrix. For example, if is an matrix, then is an matrix, and is a matrix. Here can be significantly less than both and .
Here's an example based on a text-mining application:
- Let the input matrix (the matrix to be factored) be with 10000 rows and 500 columns where words are in rows and documents are in columns. In other words, we have 500 documents indexed by 10000 words. It follows that a column vector in represents a document.
- Assume we ask the algorithm to find 10 features in order to generate a features matrix with 10000 rows and 10 columns and a coefficients matrix with 10 rows and 500 columns.
- The product of and is a matrix with 10000 rows and 500 columns, the same shape as the input matrix and, if the factorization worked, also a reasonable approximation to the input matrix .
- From the treatment of matrix multiplication above it follows that each column in the product matrix is a linear combination of the 10 column vectors in the features matrix with coefficients supplied by the coefficients matrix .
This last point is the basis of NMF because we can consider each original document in our example as being built from a small set of hidden features. NMF generates these features.
It's useful to think of each feature (column vector) in the features matrix as a document archetype comprising a set of words where each word's cell value defines the word's rank in the feature: The higher a word's cell value the higher the word's rank in the feature. A column in the coefficients matrix represents an original document with a cell value defining the document's rank for a feature. This follows because each row in represents a feature. We can now reconstruct a document (column vector) from our input matrix by a linear combination of our features (column vectors in ) where each feature is weighted by the feature's cell value from the document's column in .
Approximate non-negative matrix factorization
Usually the number of columns of W and the number of rows of H in NMF are selected so the product WH will become an approximation to V. The full decomposition of V then amounts to the two non-negative matrices W and H as well as a residual U, such that: V = WH + U. The elements of the residual matrix can either be negative or positive.
When W and H are smaller than V they become easier to store and manipulate. Another reason for factorizing V into smaller matrices W and H, is that if one is able to approximately represent the elements of V by significantly less data, then one has to infer some latent structure in the data.
Nonnegative rank factorization
In case the nonnegative rank of V is equal to its actual rank, V=WH is called a nonnegative rank factorization. The problem of finding the NRF of V, if it exists, is known to be NP-hard.
Different cost functions and regularizations
There are different types of non-negative matrix factorizations. The different types arise from using different cost functions for measuring the divergence between V and WH and possibly by regularization of the W and/or H matrices.
Two simple divergence functions studied by Lee and Seung are the squared error (or Frobenius norm) and an extension of the Kullback–Leibler divergence to positive matrices (the original Kullback–Leibler divergence is defined on probability distributions). Each divergence leads to a different NMF algorithm, usually minimizing the divergence using iterative update rules.
The factorization problem in the squared error version of NMF may be stated as: Given a matrix find nonnegative matrices W and H that minimize the function
When L1 regularization (akin to Lasso) is added to NMF with the mean squared error cost function, the resulting problem may be called non-negative sparse coding due to the similarity to the sparse coding problem, although it may also still be referred to as NMF.
There are several ways in which the W and H may be found: Lee and Seung's multiplicative update rule  has been a popular method due to the simplicity of implementation. Since then, a few other algorithmic approaches have been developed.
Some successful algorithms are based on alternating non-negative least squares: in each step of such an algorithm, first H is fixed and W found by a non-negative least squares solver, then W is fixes and H is found analogously. The procedures used to solve for W and H may be the same or different, as some NMF variants regularize one of W and H. Specific approaches include the projected gradient descent methods, the active set method, and the block principal pivoting method among several others.
The currently available algorithms are sub-optimal as they can only guarantee finding a local minimum, rather than a global minimum of the cost function. A provably optimal algorithm is unlikely in the near future as the problem has been shown to generalize the k-means clustering problem which is known to be NP-complete. However, as in many other data mining applications, a local minimum may still prove to be useful.
Exact solutions for the variants of NMF can be expected (in polynomial time) when additional constraints hold for matrix V. A polynomial time algorithm for solving nonnegative rank factorization if V contains a monomial sub matrix of rank equal to its rank was given by Campbell and Poole in 1981. Kalofolias and Gallopoulos (2012) solved the symmetric counterpart of this problem, where V is symmetric and contains a diagonal principal sub matrix of rank r. Their algorithm runs in O(rm^2) time in the dense case. Arora, Ge, Kannan, and Moitra (2012) give a polynomial time algorithm for exact NMF that works for the case where one of the factors W satisfies the separability condition.
Relation to other techniques
In Learning the parts of objects by non-negative matrix factorization Lee and Seung proposed NMF mainly for parts-based decomposition of images. It compares NMF to vector quantization and principal component analysis, and shows that although the three techniques may be written as factorizations, they implement different constraints and therefore produce different results.
It was later shown that some types of NMF are an instance of a more general probabilistic model called "multinomial PCA". When NMF is obtained by minimizing the Kullback–Leibler divergence, it is in fact equivalent to another instance of multinomial PCA, probabilistic latent semantic analysis, trained by maximum likelihood estimation. That method is commonly used for analyzing and clustering textual data and is also related to the latent class model.
It has been shown  NMF is equivalent to a relaxed form of K-means clustering: matrix factor W contains cluster centroids and H contains cluster membership indicators, when using the least square as NMF objective. This provides theoretical foundation for using NMF for data clustering.
Other extensions of NMF include joint factorisation of several data matrices and tensors where some factors are shared. Such models are useful for sensor fusion and relational learning.
NMF is an instance of the nonnegative quadratic programming (NQP) as well as many other important problems including the support vector machine (SVM). However, SVM and NMF are related at a more intimate level than that of NQP, which allows direct application of the solution algorithms developed for either of the two methods to problems in both domains.
If the two new matrices and are non-negative they form another parametrization of the factorization.
More control over the non-uniqueness of NMF is obtained with sparsity constraints.
NMF can be used for text mining applications. In this process, a document-term matrix is constructed with the weights of various terms (typically weighted word frequency information) from a set of documents. This matrix is factored into a term-feature and a feature-document matrix. The features are derived from the contents of the documents, and the feature-document matrix describes data clusters of related documents.
One specific application used hierarchical NMF on a small subset of scientific abstracts from PubMed. Another research group clustered parts of the Enron email dataset with 65,033 messages and 91,133 terms into 50 clusters. NMF has also been applied to citations data, with one example clustering Wikipedia articles and scientific journals based on the outbound scientific citations in Wikipedia.
Arora, Ge and Moitra (2012) have given polynomial-time algorithms to learn topic models using NMF. The algorithm assumes that the topic matrix satisfies a separability condition that is often found to hold in these settings. 
Spectral data analysis
NMF is also used to analyze spectral data; one such use is in the classification of space objects and debris.
Scalable Internet distance prediction
NMF is applied in scalable Internet distance (round-trip time) prediction. For a network with hosts, with the help of NMF, the distances of all the end-to-end links can be predicted after conducting only measurements. This kind of method was firstly introduced in Internet Distance Estimation Service (IDES). Afterwards, as a fully decentralized approach, Phoenix network coordinate system  is proposed. It achieves better overall prediction accuracy by introducing the concept of weight.
Non-stationary speech denoising
Speech denoising has been a long lasting problem in audio signal processing. There are lots of algorithms for denoising if the noise is stationary. For example, the Wiener filter is suitable for additive Gaussian noise. However, if the noise is non-stationary, the classical denoising algorithms usually have poor performance because the statistical information of the non-stationary noise is difficult to estimate. Schmidt et al. use NMF to do speech denoising under non-stationary noise, which is completely different from classical statistical approaches.The key idea is that clean speech signal can be sparsely represented by a speech dictionary, but non-stationary noise cannot. Similarly, non-stationary noise can also be sparsely represented by a noise dictionary, but speech cannot.
The algorithm for NMF denoising goes as follows. Two dictionaries, one for speech and one for noise, need to be trained offline. Once a noisy speech is given, we first calculate the magnitude of the Short-Time-Fourier-Transform. Second, separate it into two parts via NMF, one can be sparsely represented by the speech dictionary, and the other part can be sparsely represented by the noise dictionary. Third, the part that is represented by the speech dictionary will be the estimated clean speech.
Current[when?] research in nonnegative matrix factorization includes, but not limited to,
(1) Algorithmic: searching for global minima of the factors and factor initialization.
(2) Scalability: how to factorize million-by-billion matrices, which are commonplace in Web-scale data mining, e.g., see Distributed Nonnegative Matrix Factorization (DNMF)
(3) Online: how to update the factorization when new data comes in without recomputing from scratch.
- Online NMF (Online non-negative matrix factorization)
- Multilinear algebra
- Multilinear subspace learning
- Tensor decomposition
- Tensor software
- Inderjit S. Dhillon, Suvrit Sra (2005). "Generalized Nonnegative Matrix Approximations with Bregman Divergences" (PDF). NIPS.
- Tandon, Rashish; Suvrit Sra (2010). Sparse nonnegative matrix approximation: new formulations and algorithms. TR.
- Rainer Gemulla, Erik Nijkamp, Peter J Haas, Yannis Sismanis (2011). "Large-scale matrix factorization with distributed stochastic gradient descent". Proc. ACM SIGKDD Int'l Conf. on Knowledge discovery and data mining. pp. 69–77.
- William H. Lawton; Edward A. Sylvestre (1971). "Self modeling curve resolution". Technometrics 13 (3): 617+.
- P. Paatero, U. Tapper (1994). "Positive matrix factorization: A non-negative factor model with optimal utilization of error estimates of data values". Environmetrics 5 (2): 111–126. doi:10.1002/env.3170050203.
- Pia Anttila, Pentti Paatero, Unto Tapper, Olli Järvinen (1995). "Source identification of bulk wet deposition in Finland by positive matrix factorization". Atmospheric Environment 29 (14): 1705–1718. doi:10.1016/1352-2310(94)00367-T.
- Daniel D. Lee and H. Sebastian Seung (1999). "Learning the parts of objects by non-negative matrix factorization". Nature 401 (6755): 788–791. doi:10.1038/44565. PMID 10548103.
- Daniel D. Lee and H. Sebastian Seung (2001). "Algorithms for Non-negative Matrix Factorization". Advances in Neural Information Processing Systems 13: Proceedings of the 2000 Conference. MIT Press. pp. 556–562.
- Berman, A.; R.J. Plemmons (1974). "Inverses of nonnegative matrices". Linear and Multilinear Algebra 2: 161–172.
- A. Berman, R.J. Plemmons (1994). Nonnegative matrices in the Mathematical Sciences. Philadelphia: SIAM.
- Thomas, L.B. (1974). "Problem 73-14, Rank factorization of nonnegative matrices". SIAM rev. 16 (3): 393–394.
- Vavasis, S.A. (2009). "On the complexity of nonnegative matrix factorization". SIAM J. Optim. 20: 1364–1377.
- Zhang, T.; Fang, B.; Liu, W.; Tang, Y. Y.; He, G.; Wen, J. (2008). "Total variation norm-based nonnegative matrix factorization for identifying discriminant representation of image patterns". Neurocomputing 71 (10–12): 1824–1831. doi:10.1016/j.neucom.2008.01.022.
- Hoyer, Patrik O. (2002). "Non-negative sparse coding". Proc. IEEE Workshop on Neural Networks for Signal Processing.
- Hsieh, C. J.; Dhillon, I. S. (2011). "Fast coordinate descent methods with variable selection for non-negative matrix factorization". Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '11. p. 1064. doi:10.1145/2020408.2020577. ISBN 9781450308137.
- Lin, Chih-Jen (2007). "Projected Gradient Methods for Nonnegative Matrix Factorization". Neural Computation 19 (10): 2756–2779. doi:10.1162/neco.2007.19.10.2756. PMID 17716011.
- Lin, Chih-Jen (2007). "On the Convergence of Multiplicative Update Algorithms for Nonnegative Matrix Factorization". IEEE Transactions on Neural Networks 18 (6): 1589. doi:10.1109/TNN.2007.895831.
- Hyunsoo Kim and Haesun Park (2008). "Nonnegative Matrix Factorization Based on Alternating Nonnegativity Constrained Least Squares and Active Set Method". SIAM Journal on Matrix Analysis and Applications 30 (2): 713–730.
- Jingu Kim and Haesun Park (2011). "Fast Nonnegative Matrix Factorization: An Active-set-like Method and Comparisons". SIAM Journal on Scientific Computing 33 (6): 3261–3281.
- Ding, C. and He, X. and Simon, H.D., (2005). "On the equivalence of nonnegative matrix factorization and spectral clustering". Proc. SIAM Data Mining Conf 4: 606–610.
- Campbell, S.L.; G.D. Poole (1981). "Computing nonnegative rank factorizations.". Linear Algebra Appl. 35: 175–182.
- Kalofolias, V.; Gallopoulos, E. (2012). "Computing symmetric nonnegative rank factorizations". Linear Algebra Appl 436: 421–435.
- Sanjeev Arora and Rong Ge and Ravi Kannan and Ankur Moitra (2012). "Computing a Nonnegative Matrix Factorization ---Provably.". ACM STOC.
- Wray Buntine (2002). "Variational Extensions to EM and Multinomial PCA" (PDF). Proc. European Conference on Machine Learning (ECML-02). LNAI 2430. pp. 23–34.
- Eric Gaussier and Cyril Goutte (2005). "Relation between PLSA and NMF and Implications" (PDF). Proc. 28th international ACM SIGIR conference on Research and development in information retrieval (SIGIR-05). pp. 601–602.
- Chris Ding, Xiaofeng He, and Horst D. Simon (2005). "On the Equivalence of Nonnegative Matrix Factorization and Spectral Clustering". Proc. SIAM Int'l Conf. Data Mining, pp. 606-610. May 2005
- Ron Zass and Amnon Shashua (2005). "A Unifying Approach to Hard and Probabilistic Clustering". International Conference on Computer Vision (ICCV) Beijing, China, Oct., 2005.
- Pentti Paatero (1999). "The Multilinear Engine: A Table-Driven, Least Squares Program for Solving Multilinear Problems, including the n-Way Parallel Factor Analysis Model". Journal of Computational and Graphical Statistics 8 (4): 854–888. doi:10.2307/1390831. JSTOR 1390831.
- Max Welling and Markus Weber (2001). "Positive Tensor Factorization". Pattern Recognition Letters 22 (12): 1255–1261. doi:10.1016/S0167-8655(01)00070-8.
- Jingu Kim and Haesun Park (2012). "Fast Nonnegative Tensor Factorization with an Active-set-like Method". High-Performance Scientific Computing: Algorithms and Applications. Springer. pp. 311–326.
- Kenan Yilmaz and A. Taylan Cemgil and Umut Simsekli (2011). "Generalized Coupled Tensor Factorization". NIPS.
- Vamsi K. Potluru and Sergey M. Plis and Morten Morup and Vince D. Calhoun and Terran Lane (2009). "Efficient Multiplicative updates for Support Vector Machines". Proceedings of the 2009 SIAM Conference on Data Mining (SDM). pp. 1218–1229.
- Wei Xu, Xin Liu & Yihong Gong (2003). "Document clustering based on non-negative matrix factorization". Proceedings of the 26th annual international ACM SIGIR conference on Research and development in information retrieval. New York: Association for Computing Machinery. pp. 267–273.
- Julian Eggert, Edgar Körner, "Sparse coding and NMF", Proceedings. 2004 IEEE International Joint Conference on Neural Networks, 2004, pp. 2529-2533, 2004.
- Nielsen, Finn Årup; Balslev, Daniela; Hansen, Lars Kai (2005). "Mining the posterior cingulate: segregation between memory and pain components". NeuroImage 27 (3): 520–522. doi:10.1016/j.neuroimage.2005.04.034. PMID 15946864.
- Cohen, William (2005-04-04). "Enron Email Dataset". Retrieved 2008-08-26.
- Berry, Michael W.; Browne, Murray (2005). "Email Surveillance Using Non-negative Matrix Factorization". Computational and Mathematical Organization Theory 11 (3): 249–264. doi:10.1007/s10588-005-5380-5.
- Nielsen, Finn Årup (2008). "Clustering of scientific citations in Wikipedia". Wikimania.
- Sanjeev Arora and Rong Ge and Ankur Moitra (2012). "Learning Topic Models---Going beyond SVD.". arxiv.
- Michael W. Berry, et al. (2006). Algorithms and Applications for Approximate Nonnegative Matrix Factorization.
- Yun Mao, Lawrence Saul and Jonathan M. Smith (2006). "IDES: An Internet Distance Estimation Service for Large Networks". IEEE Journal on Selected Areas in Communications 24 (12): 2273–2284. doi:10.1109/JSAC.2006.884026.
- Yang Chen, Xiao Wang, Cong Shi, and et al. (2011). "Phoenix: A Weight-based Network Coordinate System Using Matrix Factorization" (PDF). IEEE Transactions on Network and Service Management 8 (4): 334–347.
- Schmidt, M.N., J. Larsen, and F.T. Hsiao. (2007). "Wind noise reduction using non-negative sparse coding", Machine Learning for Signal Processing, IEEE Workshop on, 431–436
- Devarajan, K. (2008). "Nonnegative Matrix Factorization: An Analytical and Interpretive Tool in Computational Biology". PLoS Computational Biology 4 (7).
- Hyunsoo Kim and Haesun Park (2007). "Sparse non-negative matrix factorizations via alternating non-negativity-constrained least squares for microarray data analysis". Bioinformatics 23 (12): 1495–1502. doi:10.1093/bioinformatics/btm134. PMID 17483501.
- C. Boutsidis and E. Gallopoulos (2008). "SVD based initialization: A head start for nonnegative matrix factorization". Pattern Recognition 41 (4): 1350–1362. doi:10.1016/j.patcog.2007.09.010.
- Chao Liu, Hung-chih Yang, Jinliang Fan, Li-Wei He, and Yi-Min Wang (2010). "Distributed Nonnegative Matrix Factorization for Web-Scale Dyadic Data Analysis on MapReduce". Proceedings of the 19th International World Wide Web Conference.
- J. Shen, G. W. Israël (1989). "A receptor model using a specific non-negative transformation technique for ambient aerosol". Atmospheric Environment 23 (10): 2289–2298. doi:10.1016/0004-6981(89)90190-X.
- Pentti Paatero (1997). "Least squares formulation of robust non-negative factor analysis". Chemometrics and Intelligent Laboratory Systems 37 (1): 23–35. doi:10.1016/S0169-7439(96)00044-5.
- Raul Kompass (2007). "A Generalized Divergence Measure for Nonnegative Matrix Factorization". Neural Computation 19 (3): 780–791. doi:10.1162/neco.2007.19.3.780. PMID 17298233.
- Liu, W.X. and Zheng, N.N. and You, Q.B. (2006). "Nonnegative Matrix Factorization and its applications in pattern recognition". Chinese Science Bulletin 51 (17–18): 7–18. doi:10.1007/s11434-005-1109-6.
- Ngoc-Diep Ho, Paul Van Dooren and Vincent Blondel (2008). "Descent Methods for Nonnegative Matrix Factorization". arXiv:0801.3199 [cs.NA].
- Andrzej Cichocki, Rafal Zdunek and Shun-ichi Amari (2008). "Nonnegative Matrix and Tensor Factorization". IEEE Signal Processing Magazine 25 (1): 142–145. doi:10.1109/MSP.2008.4408452.
- Cédric Févotte, Nancy Bertin, and Jean-Louis Durrieu (2009). "Nonnegative Matrix Factorization with the Itakura-Saito Divergence: With Application to Music Analysis". Neural Computation 21 (3): 793–830. doi:10.1162/neco.2008.04-08-771. PMID 18785855.
- Ali Taylan Cemgil (2009). "Bayesian Inference for Nonnegative Matrix Factorisation Models". Computational Intelligence and Neuroscience 2009 (2): 1. doi:10.1155/2009/785152. PMC 2688815. PMID 19536273.
- beta_ntf Python module for Nonnegative Tensor Factorization. Supports tensors of arbitrary shape.
- Routines for performing Weighted Non-Negative Matrix Factorzation
- Fast Non-negative Matrix Factorization MATLAB software by Haesun Park's group.
- Non-negative Matrix Factorization R (programming language) implementation by Suhai (Timothy) Liu.
- PyMF A Python module that includes several matrix factorization methods.
- NMF toolbox implemented in Matlab. Developed at IMM DTU.
- Text to Matrix Generator (TMG) MATLAB toolbox that can be used for various tasks in text mining (TM) specifically i) indexing, ii) retrieval, iii) dimensionality reduction, iv) clustering, v) classification. Most of TMG is written in MATLAB and parts in Perl. It contains implementations of LSI, clustered LSI, NMF and other methods.
- Nimfa A Python library for non-negative matrix factorizations, various initialization methods and factorization quality measures.
- The non-negative matrix factorization toolbox for biological data mining.
- Complex Matrix Factorization Toolbox.