20 #ifndef __MLPACK_METHODS_AMF_AMF_HPP 21 #define __MLPACK_METHODS_AMF_AMF_HPP 100 const InitializationRuleType& initializeRule = InitializationRuleType(),
101 const UpdateRuleType&
update = UpdateRuleType());
111 template<
typename MatType>
112 double Apply(
const MatType& V,
148 #ifdef MLPACK_USE_CXX11 157 template<
class MatType>
159 amf::RandomAcolInitialization<>,
171 template<
class MatType>
173 amf::SimpleResidueTermination,
174 amf::RandomAcolInitialization<>,
184 template<
class MatType>
186 amf::SimpleResidueTermination,
187 amf::RandomAcolInitialization<>,
190 #else // #ifdef MLPACK_USE_CXX11 199 typedef amf::AMF<amf::SimpleResidueTermination,
200 amf::RandomAcolInitialization<>,
210 typedef amf::AMF<amf::SimpleResidueTermination,
211 amf::RandomAcolInitialization<>,
221 typedef amf::AMF<amf::SimpleResidueTermination,
222 amf::RandomAcolInitialization<>,
223 amf::SVDIncompleteIncrementalLearning>
234 typedef amf::AMF<amf::SimpleResidueTermination,
235 amf::RandomAcolInitialization<>,
236 amf::SVDIncompleteIncrementalLearning>
247 typedef amf::AMF<amf::SimpleResidueTermination,
248 amf::RandomAcolInitialization<>,
260 typedef amf::AMF<amf::SimpleResidueTermination,
261 amf::RandomAcolInitialization<>,
265 #endif // #ifdef MLPACK_USE_CXX11 271 #include "amf_impl.hpp" 273 #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.
const UpdateRuleType & Update() const
Access the update rule.
UpdateRuleType update
Instantiated update rule.
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: ...
Include all of the base components required to write MLPACK methods, and the main MLPACK Doxygen docu...
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...
const InitializationRuleType & InitializeRule() const
Access the initialization rule.
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::NMFALSUpdate > NMFALSFactorizer
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.
const TerminationPolicyType & TerminationPolicy() const
Access the termination policy.
amf::AMF< amf::SimpleResidueTermination, amf::RandomAcolInitialization<>, amf::SVDIncompleteIncrementalLearning > SparseSVDIncompleteIncrementalFactorizer
SparseSVDIncompleteIncrementalFactorizer factorizes given sparse matrix V into two matrices W and H b...
The multiplicative distance update rules for matrices W and H.