C# Класс Accord.Math.Decompositions.NonnegativeFactorization

Nonnegative Matrix Factorization.

For a nonnegative n-by-m matrix A, the Nonnegative Matrix Factorization is given by a n-by-k matrix of nonnegative factors W and a k-by-m matrix of nonnegative factor coefficients H. The factorization is not exact, as W * H is a lower-rank approximation to A. The factors W and H are chosen to minimize the root-mean-squared residual U between A and W * H.

References: http://en.wikipedia.org/wiki/Non-negative_matrix_factorization http://www.mathworks.com/help/toolbox/stats/nnmf.html

Показать файл Открыть проект

Открытые методы

Метод Описание
NonnegativeFactorization ( double value ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, double h0, double w0 ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, double h0, double w0, NonnegativeFactorizationAlgorithm algorithm ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, double h0, double w0, NonnegativeFactorizationAlgorithm algorithm, int attempts, int maxIterations, double errorTolerance, double changeTolerance ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, int k ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, int k, NonnegativeFactorizationAlgorithm algorithm ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, int k, NonnegativeFactorizationAlgorithm algorithm, int attempts, int maxIterations, double errorTolerance, double changeTolerance ) : System

Constructs a new non-negative matrix factorization.

NonnegativeFactorization ( double value, int k, int attempts ) : System

Constructs a new non-negative matrix factorization.

Приватные методы

Метод Описание
init ( double value, int k, NonnegativeFactorizationAlgorithm algorithm, double h0, double w0, int attempts, int maxIterations, double errorTolerance, double changeTolerance ) : void

Constructs a new non-negative matrix factorization.

makepositive ( double value ) : void

Enforces a matrix to contain only positive values.

maxabs ( double value ) : double

Max absolute value

maxdiff ( double matrixA, double matrixB ) : double

Max absolute difference

nnmf ( double value, double &w0, double &h0, NonnegativeFactorizationAlgorithm alg, int maxIterations, double normChangeThreshold, double maxFactorChangeThreshold ) : double

Single non-negative matrix factorization.

normdiff ( double matrixA, double matrixB ) : double

Norm of differences

Описание методов

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value ) : System
value double The matrix to be factorized.
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, double h0, double w0 ) : System
value double The matrix to be factorized.
h0 double Initial approximation to the coefficient matrix H. /// Default is .
w0 double Initial approximation to the weight matrix W. /// Default is .
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, double h0, double w0, NonnegativeFactorizationAlgorithm algorithm ) : System
value double The matrix to be factorized.
h0 double Initial approximation to the coefficient matrix H.
w0 double Initial approximation to the weight matrix W.
algorithm NonnegativeFactorizationAlgorithm The algorithm to be used in the factorization. /// Please see for details. /// Default is .
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, double h0, double w0, NonnegativeFactorizationAlgorithm algorithm, int attempts, int maxIterations, double errorTolerance, double changeTolerance ) : System
value double The matrix to be factorized.
h0 double Initial approximation to the coefficient matrix H.
w0 double Initial approximation to the weight matrix W.
algorithm NonnegativeFactorizationAlgorithm The algorithm to be used in the factorization. /// Please see for details. /// Default is .
attempts int How many repetitions of the method should be /// performed to avoid arriving at a poor local solution minima. Default /// value is 1.
maxIterations int The maximum number of iterations to perform.
errorTolerance double The minimum change in error to use as convergence criteria.
changeTolerance double The maximum absolute factor change to use as convergence criteria.
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, int k ) : System
value double The matrix to be factorized.
k int The desired approximation rank.
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, int k, NonnegativeFactorizationAlgorithm algorithm ) : System
value double The matrix to be factorized.
k int The desired approximation rank.
algorithm NonnegativeFactorizationAlgorithm The algorithm to be used in the factorization. /// Please see for details. /// Default is .
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, int k, NonnegativeFactorizationAlgorithm algorithm, int attempts, int maxIterations, double errorTolerance, double changeTolerance ) : System
value double The matrix to be factorized.
k int The desired approximation rank.
algorithm NonnegativeFactorizationAlgorithm The algorithm to be used in the factorization. /// Please see for details. /// Default is .
attempts int How many repetitions of the method should be /// performed to avoid arriving at a poor local solution minima. Default /// value is 1.
maxIterations int The maximum number of iterations to perform.
errorTolerance double The minimum change in error to use as convergence criteria.
changeTolerance double The maximum absolute factor change to use as convergence criteria.
Результат System

NonnegativeFactorization() публичный метод

Constructs a new non-negative matrix factorization.
public NonnegativeFactorization ( double value, int k, int attempts ) : System
value double The matrix to be factorized.
k int The desired approximation rank.
attempts int How many repetitions of the method should be /// performed to avoid arriving at a poor local solution minima. Default /// value is 1.
Результат System