mlpack
Classes | Typedefs | Functions
mlpack::amf Namespace Reference

Alternating Matrix Factorization. More...

Classes

class  AMF
 This class implements AMF (alternating matrix factorization) on the given matrix V. More...
 
class  AverageInitialization
 This initialization rule initializes matrix W and H to root of the average of V, perturbed with uniform noise. More...
 
class  CompleteIncrementalTermination
 This class acts as a wrapper for basic termination policies to be used by SVDCompleteIncrementalLearning. More...
 
class  GivenInitialization
 This initialization rule for AMF simply fills the W and H matrices with the matrices given to the constructor of this object. More...
 
class  IncompleteIncrementalTermination
 This class acts as a wrapper for basic termination policies to be used by SVDIncompleteIncrementalLearning. More...
 
class  MaxIterationTermination
 This termination policy only terminates when the maximum number of iterations has been reached. More...
 
class  MergeInitialization
 This initialization rule for AMF simply takes in two initialization rules, and initialize W with the first rule and H with the second rule. More...
 
class  NMFALSUpdate
 This class implements a method titled 'Alternating Least Squares' described in the following paper: More...
 
class  NMFMultiplicativeDistanceUpdate
 The multiplicative distance update rules for matrices W and H. More...
 
class  NMFMultiplicativeDivergenceUpdate
 This follows a method described in the paper 'Algorithms for Non-negative. More...
 
class  RandomAcolInitialization
 This class initializes the W matrix of the AMF algorithm by averaging p randomly chosen columns of V. More...
 
class  RandomInitialization
 This initialization rule for AMF simply fills the W and H matrices with uniform random noise in [0, 1]. More...
 
class  SimpleResidueTermination
 This class implements a simple residue-based termination policy. More...
 
class  SimpleToleranceTermination
 This class implements residue tolerance termination policy. More...
 
class  SVDBatchLearning
 This class implements SVD batch learning with momentum. More...
 
class  SVDCompleteIncrementalLearning
 This class computes SVD using complete incremental batch learning, as described in the following paper: More...
 
class  SVDCompleteIncrementalLearning< arma::sp_mat >
 TODO : Merge this template specialized function for sparse matrix using common row_col_iterator. More...
 
class  SVDIncompleteIncrementalLearning
 This class computes SVD using incomplete incremental batch learning, as described in the following paper: More...
 
class  ValidationRMSETermination
 This class implements validation termination policy based on RMSE index. More...
 

Typedefs

typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::NMFALSUpdateNMFALSFactorizer
 
template<typename MatType = arma::mat>
using SVDBatchFactorizer = amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDBatchLearning >
 Convenience typedefs. More...
 
template<class MatType = arma::mat>
using SVDIncompleteIncrementalFactorizer = amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDIncompleteIncrementalLearning >
 SVDIncompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by incomplete incremental gradient descent. More...
 
template<class MatType = arma::mat>
using SVDCompleteIncrementalFactorizer = amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDCompleteIncrementalLearning< MatType > >
 SVDCompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by complete incremental gradient descent. More...
 

Functions

template<>
void SVDBatchLearning::WUpdate< arma::sp_mat > (const arma::sp_mat &V, arma::mat &W, const arma::mat &H)
 TODO : Merge this template specialized function for sparse matrix using common row_col_iterator. More...
 
template<>
void SVDBatchLearning::HUpdate< arma::sp_mat > (const arma::sp_mat &V, const arma::mat &W, arma::mat &H)
 
template<>
void SVDIncompleteIncrementalLearning::WUpdate< arma::sp_mat > (const arma::sp_mat &V, arma::mat &W, const arma::mat &H)
 TODO : Merge this template specialized function for sparse matrix using common row_col_iterator. More...
 
template<>
void SVDIncompleteIncrementalLearning::HUpdate< arma::sp_mat > (const arma::sp_mat &V, const arma::mat &W, arma::mat &H)
 

Detailed Description

Alternating Matrix Factorization.

Typedef Documentation

◆ SVDBatchFactorizer

Convenience typedefs.

SVDBatchFactorizer factorizes given matrix V into two matrices W and H by gradient descent. SVD batch learning is described in paper 'A Guide to singular Value Decomposition' by Chih-Chao Ma.

See also
SVDBatchLearning

◆ SVDCompleteIncrementalFactorizer

SVDCompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by complete incremental gradient descent.

SVD complete incremental learning is described in paper 'A Guide to singular Value Decomposition' by Chih-Chao Ma.

See also
SVDCompleteIncrementalLearning

◆ SVDIncompleteIncrementalFactorizer

SVDIncompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by incomplete incremental gradient descent.

SVD incomplete incremental learning is described in paper 'A Guide to singular Value Decomposition' by Chih-Chao Ma.

See also
SVDIncompleteIncrementalLearning

Function Documentation

◆ SVDBatchLearning::WUpdate< arma::sp_mat >()

template<>
void mlpack::amf::SVDBatchLearning::WUpdate< arma::sp_mat > ( const arma::sp_mat &  V,
arma::mat &  W,
const arma::mat &  H 
)
inline

TODO : Merge this template specialized function for sparse matrix using common row_col_iterator.

WUpdate function specialization for sparse matrix

◆ SVDIncompleteIncrementalLearning::WUpdate< arma::sp_mat >()

template<>
void mlpack::amf::SVDIncompleteIncrementalLearning::WUpdate< arma::sp_mat > ( const arma::sp_mat &  V,
arma::mat &  W,
const arma::mat &  H 
)
inline

TODO : Merge this template specialized function for sparse matrix using common row_col_iterator.

template specialiazed functions for sparse matrices