18 #ifndef MLPACK_METHODS_AMF_AMF_HPP 19 #define MLPACK_METHODS_AMF_AMF_HPP 97 AMF(
const TerminationPolicyType& terminationPolicy = TerminationPolicyType(),
98 const InitializationRuleType& initializeRule = InitializationRuleType(),
99 const UpdateRuleType& update = UpdateRuleType());
109 template<
typename MatType>
110 double Apply(
const MatType& V,
117 {
return terminationPolicy; }
123 {
return initializationRule; }
128 const UpdateRuleType&
Update()
const {
return update; }
130 UpdateRuleType&
Update() {
return update; }
134 TerminationPolicyType terminationPolicy;
136 InitializationRuleType initializationRule;
138 UpdateRuleType update;
154 template<
typename MatType = arma::mat>
156 amf::SimpleResidueTermination,
157 amf::RandomAcolInitialization<>,
168 template<
class MatType = arma::mat>
170 amf::SimpleResidueTermination,
171 amf::RandomAcolInitialization<>,
181 template<
class MatType = arma::mat>
183 amf::SimpleResidueTermination,
184 amf::RandomAcolInitialization<>,
192 #endif // MLPACK_METHODS_AMF_AMF_HPP This class computes SVD using complete incremental batch learning, as described in the following pape...
Definition: svd_complete_incremental_learning.hpp:45
double Apply(const MatType &V, const size_t r, arma::mat &W, arma::mat &H)
Apply Alternating Matrix Factorization to the provided matrix.
Definition: amf_impl.hpp:45
This class implements AMF (alternating matrix factorization) on the given matrix V.
Definition: amf.hpp:78
UpdateRuleType & Update()
Modify the update rule.
Definition: amf.hpp:130
This class computes SVD using incomplete incremental batch learning, as described in the following pa...
Definition: svd_incomplete_incremental_learning.hpp:43
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
const UpdateRuleType & Update() const
Access the update rule.
Definition: amf.hpp:128
The core includes that mlpack expects; standard C++ includes and Armadillo.
This class implements a simple residue-based termination policy.
Definition: simple_residue_termination.hpp:31
InitializationRuleType & InitializeRule()
Modify the initialization rule.
Definition: amf.hpp:125
This class implements SVD batch learning with momentum.
Definition: svd_batch_learning.hpp:41
This class implements a method titled 'Alternating Least Squares' described in the following paper: ...
Definition: nmf_als.hpp:41
const InitializationRuleType & InitializeRule() const
Access the initialization rule.
Definition: amf.hpp:122
TerminationPolicyType & TerminationPolicy()
Modify the termination policy.
Definition: amf.hpp:119
This class initializes the W matrix of the AMF algorithm by averaging p randomly chosen columns of V...
Definition: random_acol_init.hpp:44
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.
Definition: amf_impl.hpp:23
const TerminationPolicyType & TerminationPolicy() const
Access the termination policy.
Definition: amf.hpp:116
The multiplicative distance update rules for matrices W and H.
Definition: nmf_mult_dist.hpp:39