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

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

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...
 
const double & Index () const
 Get current value of residue. 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 size_t & Iteration () const
 Get current iteration count. More...
 
const size_t & MaxIterations () const
 Access max iteration count. More...
 
size_t & MaxIterations ()
 
const double & MinResidue () const
 Access minimum residue value. More...
 
double & MinResidue ()
 

Public Attributes

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

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

Definition at line 31 of file simple_residue_termination.hpp.

Constructor & Destructor Documentation

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.

Definition at line 42 of file simple_residue_termination.hpp.

Member Function Documentation

const double& mlpack::amf::SimpleResidueTermination::Index ( ) const
inline

Get current value of residue.

Definition at line 89 of file simple_residue_termination.hpp.

References residue.

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.

Definition at line 52 of file simple_residue_termination.hpp.

References iteration, nm, normOld, and residue.

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.

Definition at line 68 of file simple_residue_termination.hpp.

References mlpack::Log::Info, iteration, maxIterations, normOld, and residue.

const size_t& mlpack::amf::SimpleResidueTermination::Iteration ( ) const
inline

Get current iteration count.

Definition at line 92 of file simple_residue_termination.hpp.

References iteration.

const size_t& mlpack::amf::SimpleResidueTermination::MaxIterations ( ) const
inline

Access max iteration count.

Definition at line 95 of file simple_residue_termination.hpp.

References maxIterations.

size_t& mlpack::amf::SimpleResidueTermination::MaxIterations ( )
inline

Definition at line 96 of file simple_residue_termination.hpp.

References maxIterations.

const double& mlpack::amf::SimpleResidueTermination::MinResidue ( ) const
inline

Access minimum residue value.

Definition at line 99 of file simple_residue_termination.hpp.

References minResidue.

double& mlpack::amf::SimpleResidueTermination::MinResidue ( )
inline

Definition at line 100 of file simple_residue_termination.hpp.

References minResidue.

Member Data Documentation

size_t mlpack::amf::SimpleResidueTermination::iteration

current iteration count

Definition at line 111 of file simple_residue_termination.hpp.

Referenced by Initialize(), IsConverged(), and Iteration().

size_t mlpack::amf::SimpleResidueTermination::maxIterations

iteration threshold

Definition at line 106 of file simple_residue_termination.hpp.

Referenced by IsConverged(), and MaxIterations().

double mlpack::amf::SimpleResidueTermination::minResidue

residue threshold

Definition at line 104 of file simple_residue_termination.hpp.

Referenced by MinResidue().

size_t mlpack::amf::SimpleResidueTermination::nm

Definition at line 115 of file simple_residue_termination.hpp.

Referenced by Initialize().

double mlpack::amf::SimpleResidueTermination::normOld

norm of previous iteration

Definition at line 113 of file simple_residue_termination.hpp.

Referenced by Initialize(), and IsConverged().

double mlpack::amf::SimpleResidueTermination::residue

current value of residue

Definition at line 109 of file simple_residue_termination.hpp.

Referenced by Index(), Initialize(), and IsConverged().


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