18 #ifndef MLPACK_METHODS_AMF_AMF_HPP 19 #define MLPACK_METHODS_AMF_AMF_HPP 98 const InitializationRuleType& initializeRule = InitializationRuleType(),
99 const UpdateRuleType&
update = UpdateRuleType());
109 template<
typename MatType>
110 double Apply(
const MatType& V,
146 #ifdef MLPACK_USE_CXX11 155 template<
class MatType>
157 amf::RandomAcolInitialization<>,
169 template<
class MatType>
171 amf::SimpleResidueTermination,
172 amf::RandomAcolInitialization<>,
182 template<
class MatType>
184 amf::SimpleResidueTermination,
185 amf::RandomAcolInitialization<>,
188 #else // #ifdef MLPACK_USE_CXX11 197 typedef amf::AMF<amf::SimpleResidueTermination,
198 amf::RandomAcolInitialization<>,
208 typedef amf::AMF<amf::SimpleResidueTermination,
209 amf::RandomAcolInitialization<>,
219 typedef amf::AMF<amf::SimpleResidueTermination,
220 amf::RandomAcolInitialization<>,
221 amf::SVDIncompleteIncrementalLearning>
232 typedef amf::AMF<amf::SimpleResidueTermination,
233 amf::RandomAcolInitialization<>,
234 amf::SVDIncompleteIncrementalLearning>
245 typedef amf::AMF<amf::SimpleResidueTermination,
246 amf::RandomAcolInitialization<>,
258 typedef amf::AMF<amf::SimpleResidueTermination,
259 amf::RandomAcolInitialization<>,
263 #endif // #ifdef MLPACK_USE_CXX11 269 #include "amf_impl.hpp" 271 #endif // MLPACK_METHODS_AMF_AMF_HPP amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDIncompleteIncrementalLearning > SVDIncompleteIncrementalFactorizer
SVDIncompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by incomplete ...
This class computes SVD using complete incremental batch learning, as described in the following pape...
InitializationRuleType initializationRule
Instantiated initialization Rule.
double Apply(const MatType &V, const size_t r, arma::mat &W, arma::mat &H)
Apply Alternating Matrix Factorization to the provided matrix.
This class implements AMF (alternating matrix factorization) on the given matrix V.
UpdateRuleType & Update()
Modify the update rule.
This class computes SVD using incomplete incremental batch learning, as described in the following pa...
TODO : Merge this template specialized function for sparse matrix using common row_col_iterator.
Linear algebra utility functions, generally performed on matrices or vectors.
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDBatchLearning > SparseSVDBatchFactorizer
Add simple typedefs.
UpdateRuleType update
Instantiated update rule.
The core includes that mlpack expects; standard C++ includes and Armadillo.
This class implements a simple residue-based termination policy.
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 ...
InitializationRuleType & InitializeRule()
Modify the initialization rule.
This class implements SVD batch learning with momentum.
This class implements a method titled 'Alternating Least Squares' described in the following paper: ...
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDBatchLearning > SVDBatchFactorizer
SparseSVDBatchFactorizer factorizes given matrix V into two matrices W and H by gradient descent...
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDCompleteIncrementalLearning< arma::mat > > SVDCompleteIncrementalFactorizer
SVDCompleteIncrementalFactorizer factorizes given matrix V into two matrices W and H by complete incr...
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::NMFALSUpdate > NMFALSFactorizer
const UpdateRuleType & Update() const
Access the update rule.
TerminationPolicyType & TerminationPolicy()
Modify the termination policy.
This class initializes the W matrix of the AMF algorithm by averaging p randomly chosen columns of V...
AMF(const TerminationPolicyType &terminationPolicy=TerminationPolicyType(), const InitializationRuleType &initializeRule=InitializationRuleType(), const UpdateRuleType &update=UpdateRuleType())
Create the AMF object and (optionally) set the parameters which AMF will run with.
TerminationPolicyType terminationPolicy
Termination policy.
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDIncompleteIncrementalLearning > SparseSVDIncompleteIncrementalFactorizer
SparseSVDIncompleteIncrementalFactorizer factorizes given sparse matrix V into two matrices W and H b...
const TerminationPolicyType & TerminationPolicy() const
Access the termination policy.
const InitializationRuleType & InitializeRule() const
Access the initialization rule.
The multiplicative distance update rules for matrices W and H.