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 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...

 
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...

 

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

◆ 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

Definition at line 158 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 185 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 172 of file amf.hpp.

Function Documentation

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

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

Definition at line 230 of file svd_batch_learning.hpp.

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

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 202 of file svd_batch_learning.hpp.

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

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

Definition at line 185 of file svd_incomplete_incremental_learning.hpp.

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

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 166 of file svd_incomplete_incremental_learning.hpp.