23 #ifndef __MLPACK_METHODS_NMF_NMF_HPP
24 #define __MLPACK_METHODS_NMF_NMF_HPP
83 template<
typename InitializationRule = RandomInitialization,
84 typename WUpdateRule = WMultiplicativeDistanceRule,
85 typename HUpdateRule = HMultiplicativeDistanceRule>
111 const WUpdateRule
wUpdate = WUpdateRule(),
112 const HUpdateRule
hUpdate = HUpdateRule());
122 template<
typename MatType>
123 void Apply(
const MatType& V,
168 #include "nmf_impl.hpp"
WUpdateRule wUpdate
Instantiated W update rule.
double minResidue
The minimum residue, below which iteration is considered converged.
HUpdateRule hUpdate
Instantiated H update rule.
double MinResidue() const
Access the minimum residue before termination.
size_t MaxIterations() const
Access the maximum number of iterations.
NMF(const size_t maxIterations=10000, const double minResidue=1e-10, const InitializationRule initializeRule=InitializationRule(), const WUpdateRule wUpdate=WUpdateRule(), const HUpdateRule hUpdate=HUpdateRule())
Create the NMF object and (optionally) set the parameters which NMF will run with.
void Apply(const MatType &V, const size_t r, arma::mat &W, arma::mat &H) const
Apply Non-Negative Matrix Factorization to the provided matrix.
InitializationRule & InitializeRule()
Modify the initialization rule.
const WUpdateRule & WUpdate() const
Access the W update rule.
const InitializationRule & InitializeRule() const
Access the initialization rule.
WUpdateRule & WUpdate()
Modify the W update rule.
size_t maxIterations
The maximum number of iterations allowed before giving up.
const HUpdateRule & HUpdate() const
Access the H update rule.
This class implements the NMF on the given matrix V.
InitializationRule initializeRule
Instantiated initialization Rule.
double & MinResidue()
Modify the minimum residue before termination.
size_t & MaxIterations()
Modify the maximum number of iterations.
HUpdateRule & HUpdate()
Modify the H update rule.