MLPACK
1.0.11
|
This class implements residue tolerance termination policy. More...
Public Member Functions | |
SimpleToleranceTermination (const double tolerance=1e-5, const size_t maxIterations=10000, const size_t reverseStepTolerance=3) | |
empty constructor More... | |
const double & | Index () const |
Get current value of residue. More... | |
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 criterio is met. More... | |
const size_t & | Iteration () const |
Get current iteration count. More... | |
const size_t & | MaxIterations () const |
Access upper limit of iteration count. More... | |
size_t & | MaxIterations () |
const double & | Tolerance () const |
Access tolerance value. More... | |
double & | Tolerance () |
Private Attributes | |
double | c_index |
double | c_indexOld |
arma::mat | H |
bool | isCopy |
indicates whether a copy of information is available which corresponds to minimum residue point More... | |
size_t | iteration |
current iteration count More... | |
size_t | maxIterations |
iteration threshold More... | |
double | normOld |
double | residue |
double | residueOld |
residue values More... | |
size_t | reverseStepCount |
successive residue drops More... | |
size_t | reverseStepTolerance |
tolerance on successive residue drops More... | |
double | tolerance |
tolerance More... | |
const MatType * | V |
pointer to matrix being factorized More... | |
arma::mat | W |
variables to store information of minimum residue poi More... | |
This class implements residue tolerance termination policy.
Termination criterion is met when increase in residue value drops below the given tolerance. To accomodate spikes certain number of successive residue drops are accepted. This upper imit on successive drops can be adjusted with reverseStepCount. Secondary termination criterion terminates algorithm when iteration count goes above the threshold.
Definition at line 41 of file simple_tolerance_termination.hpp.
|
inline |
empty constructor
Definition at line 45 of file simple_tolerance_termination.hpp.
|
inline |
Get current value of residue.
Definition at line 157 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::residue.
|
inline |
Initializes the termination policy before stating the factorization.
V | Input matrix to be factorized. |
Definition at line 57 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::c_index, mlpack::amf::SimpleToleranceTermination< MatType >::c_indexOld, mlpack::amf::SimpleToleranceTermination< MatType >::isCopy, mlpack::amf::SimpleToleranceTermination< MatType >::iteration, mlpack::amf::SimpleToleranceTermination< MatType >::residue, mlpack::amf::SimpleToleranceTermination< MatType >::residueOld, mlpack::amf::SimpleToleranceTermination< MatType >::reverseStepCount, and mlpack::amf::SimpleToleranceTermination< MatType >::V.
|
inline |
Check if termination criterio is met.
W | Basis matrix of output. |
H | Encoding matrix of output. |
Definition at line 79 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::c_index, mlpack::amf::SimpleToleranceTermination< MatType >::c_indexOld, mlpack::amf::SimpleToleranceTermination< MatType >::H, mlpack::amf::SimpleToleranceTermination< MatType >::isCopy, mlpack::amf::SimpleToleranceTermination< MatType >::iteration, mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations, mlpack::amf::SimpleToleranceTermination< MatType >::residue, mlpack::amf::SimpleToleranceTermination< MatType >::residueOld, mlpack::amf::SimpleToleranceTermination< MatType >::reverseStepCount, mlpack::amf::SimpleToleranceTermination< MatType >::reverseStepTolerance, mlpack::amf::SimpleToleranceTermination< MatType >::V, and mlpack::amf::SimpleToleranceTermination< MatType >::W.
|
inline |
Get current iteration count.
Definition at line 160 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::iteration.
|
inline |
Access upper limit of iteration count.
Definition at line 163 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations.
|
inline |
Definition at line 164 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations.
|
inline |
Access tolerance value.
Definition at line 167 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::tolerance.
|
inline |
Definition at line 168 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::tolerance.
|
private |
Definition at line 200 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
Definition at line 199 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
Definition at line 198 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
indicates whether a copy of information is available which corresponds to minimum residue point
Definition at line 194 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
current iteration count
Definition at line 180 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged(), and mlpack::amf::SimpleToleranceTermination< MatType >::Iteration().
|
private |
iteration threshold
Definition at line 174 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged(), and mlpack::amf::SimpleToleranceTermination< MatType >::MaxIterations().
|
private |
Definition at line 185 of file simple_tolerance_termination.hpp.
|
private |
|
private |
residue values
Definition at line 183 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
successive residue drops
Definition at line 190 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
tolerance on successive residue drops
Definition at line 188 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
tolerance
Definition at line 172 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Tolerance().
|
private |
pointer to matrix being factorized
Definition at line 177 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
variables to store information of minimum residue poi
Definition at line 197 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().