![]() |
VOOZH | about |
Non-Negative Matrix Factorization (NMF) is a technique used to break down large dataset into smaller meaningful parts while ensuring that all values remain non-negative. This helps in extracting useful features from data and making it easier to analyze and process it.
For a matrix A of dimensions where each element is NMF factorizes it into two matrices and with dimensions and respectively where both matrices contain only non-negative elements:
where:
NMF helps to identify hidden patterns in data by assuming that each data point can be represented as a combination of fundamental features found in .
The goal of NMF is to simplify complex data into a smaller set of meaningful patterns. By choosing a lower dimension k the decomposition highlights essential features while ignoring noise.
For example in facial recognition NMF can break down an image into basic facial features such as eyes, nose and mouth. The matrix contains these key features while the matrix defines how strongly each image is composed of these features.
NMF decomposes a data matrix into two smaller matrices and using an iterative optimization process that minimizes reconstruction error:
1. Initialization: Start with random non-negative values for and .
2. Iterative Update: Modify and to minimize the difference between and .
3. Stopping Criteria: The process stops when:
Common optimization techniques for NMF include:
Let us consider some real-life examples to understand the working of the NMF algorithm. Let's take a case of image processing.