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

파일 보기 프로젝트 열기: atosorigin/Kinect

공개 메소드들

메소드 설명
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