mlpack: a scalable c++ machine learning library
mlpack  2.2.1
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  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
 
typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDBatchLearningSparseSVDBatchFactorizer
 Add simple typedefs. More...

 
typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDCompleteIncrementalLearning< arma::sp_mat > > SparseSVDCompleteIncrementalFactorizer
 SparseSVDCompleteIncrementalFactorizer factorizes given sparse matrix V into two matrices W and H by complete incremental gradient descent. More...

 
typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDIncompleteIncrementalLearningSparseSVDIncompleteIncrementalFactorizer
 SparseSVDIncompleteIncrementalFactorizer factorizes given sparse matrix V into two matrices W and H by incomplete incremental gradient descent. More...

 
typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDBatchLearningSVDBatchFactorizer
 SparseSVDBatchFactorizer factorizes given matrix V into two matrices W and H by gradient descent. More...

 
typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDCompleteIncrementalLearning< arma::mat > > SVDCompleteIncrementalFactorizer
 SVDCompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by complete incremental gradient descent. More...

 
typedef amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDIncompleteIncrementalLearningSVDIncompleteIncrementalFactorizer
 SVDIncompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by incomplete incremental gradient descent. More...

 

Functions

template
<
>
void SVDBatchLearning::HUpdate< arma::sp_mat > (const arma::sp_mat &V, const arma::mat &W, arma::mat &H)
 
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 SVDIncompleteIncrementalLearning::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...

 

Detailed Description

Alternating Matrix Factorization.

Typedef Documentation

◆ NMFALSFactorizer

◆ SparseSVDBatchFactorizer

Add simple typedefs.

SparseSVDBatchFactorizer factorizes given sparse 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

Definition at line 199 of file amf.hpp.

◆ SparseSVDCompleteIncrementalFactorizer

SparseSVDCompleteIncrementalFactorizer factorizes given sparse 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

Definition at line 248 of file amf.hpp.

◆ SparseSVDIncompleteIncrementalFactorizer

SparseSVDIncompleteIncrementalFactorizer factorizes given sparse 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

Definition at line 222 of file amf.hpp.

◆ SVDBatchFactorizer

SparseSVDBatchFactorizer 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

Definition at line 210 of file amf.hpp.

◆ 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

Definition at line 261 of file amf.hpp.

◆ 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

Definition at line 235 of file amf.hpp.

Function Documentation

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

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

◆ 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

Definition at line 203 of file svd_batch_learning.hpp.

References mlpack::amf::SVDBatchLearning::kw, mlpack::amf::SVDBatchLearning::momentum, mlpack::amf::SVDBatchLearning::mW, and mlpack::amf::SVDBatchLearning::u.

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

◆ 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

Definition at line 163 of file svd_incomplete_incremental_learning.hpp.

References mlpack::amf::SVDIncompleteIncrementalLearning::currentUserIndex, mlpack::amf::SVDIncompleteIncrementalLearning::kw, and mlpack::amf::SVDIncompleteIncrementalLearning::u.