Class NonnegativeMatrixFactorization
Nonnegative Matrix Factorization.
Inheritance
Namespace: ISynergy.Framework.Mathematics.Decompositions
Assembly: ISynergy.Framework.Mathematics.dll
Syntax
public class NonnegativeMatrixFactorization : object
Remarks
Non-negative matrix factorization (NMF) is a group of algorithms in multivariate
analysis and linear algebra where a matrix X
is factorized into (usually)
two matrices, W
and H
. The non-negative factorization enforces the
constraint that the factors W
and H
must be non-negative, i.e., all
elements must be equal to or greater than zero. The factorization is not unique.
References:
- http://en.wikipedia.org/wiki/Non-negative_matrix_factorization
- Lee, D., Seung, H., 1999. Learning the Parts of Objects by Non-Negative Matrix Factorization. Nature 401, 788–791.
- Michael W. Berry, et al. (June 2006). Algorithms and Applications for Approximate Nonnegative Matrix Factorization.
Constructors
View SourceNonnegativeMatrixFactorization(Double[,], Int32)
Initializes a new instance of the NMF algorithm
Declaration
public NonnegativeMatrixFactorization(double[, ] value, int r)
Parameters
Type | Name | Description |
---|---|---|
System.Double[,] | value | The input data matrix (must be positive). |
System.Int32 | r | The reduced dimension. |
NonnegativeMatrixFactorization(Double[,], Int32, Int32)
Initializes a new instance of the NMF algorithm
Declaration
public NonnegativeMatrixFactorization(double[, ] value, int r, int maxiter)
Parameters
Type | Name | Description |
---|---|---|
System.Double[,] | value | The input data matrix (must be positive). |
System.Int32 | r | The reduced dimension. |
System.Int32 | maxiter | The number of iterations to perform. |
Properties
View SourceLeftNonnegativeFactors
Gets the nonnegative factor matrix W.
Declaration
public double[, ] LeftNonnegativeFactors { get; }
Property Value
Type | Description |
---|---|
System.Double[,] |
RightNonnegativeFactors
Gets the nonnegative factor matrix H.
Declaration
public double[, ] RightNonnegativeFactors { get; }
Property Value
Type | Description |
---|---|
System.Double[,] |