mlpack
Public Member Functions | Public Attributes | List of all members
mlpack::amf::SimpleResidueTermination Class Reference

This class implements a simple residue-based termination policy. More...

#include <simple_residue_termination.hpp>

Public Member Functions

 SimpleResidueTermination (const double minResidue=1e-5, const size_t maxIterations=10000)
 Construct the SimpleResidueTermination object with the given minimum residue (or the default) and the given maximum number of iterations (or the default). More...
 
template<typename MatType >
void Initialize (const MatType &V)
 Initializes the termination policy before stating the factorization. More...
 
bool IsConverged (arma::mat &W, arma::mat &H)
 Check if termination criterion is met. More...
 
const double & Index () const
 Get current value of residue.
 
const size_t & Iteration () const
 Get current iteration count.
 
const size_t & MaxIterations () const
 Access max iteration count.
 
size_t & MaxIterations ()
 
const double & MinResidue () const
 Access minimum residue value.
 
double & MinResidue ()
 

Public Attributes

double minResidue
 residue threshold
 
size_t maxIterations
 iteration threshold
 
double residue
 current value of residue
 
size_t iteration
 current iteration count
 
double normOld
 norm of previous iteration
 
size_t nm
 

Detailed Description

This class implements a simple residue-based termination policy.

The termination decision depends on two factors: the value of the residue (the difference between the norm of WH this iteration and the previous iteration), and the number of iterations. If the current value of residue drops below the threshold or the number of iterations goes above the iteration limit, IsConverged() will return true. This class is meant for use with the AMF (alternating matrix factorization) class.

See also
AMF

Constructor & Destructor Documentation

◆ SimpleResidueTermination()

mlpack::amf::SimpleResidueTermination::SimpleResidueTermination ( const double  minResidue = 1e-5,
const size_t  maxIterations = 10000 
)
inline

Construct the SimpleResidueTermination object with the given minimum residue (or the default) and the given maximum number of iterations (or the default).

0 indicates no iteration limit.

Parameters
minResidueMinimum residue for termination.
maxIterationsMaximum number of iterations.

Member Function Documentation

◆ Initialize()

template<typename MatType >
void mlpack::amf::SimpleResidueTermination::Initialize ( const MatType &  V)
inline

Initializes the termination policy before stating the factorization.

Parameters
VInput matrix being factorized.

◆ IsConverged()

bool mlpack::amf::SimpleResidueTermination::IsConverged ( arma::mat &  W,
arma::mat &  H 
)
inline

Check if termination criterion is met.

Parameters
WBasis matrix of output.
HEncoding matrix of output.

The documentation for this class was generated from the following file: