mlpack
2.0.1
|
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 accommodate 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 33 of file simple_tolerance_termination.hpp.
|
inline |
empty constructor
Definition at line 37 of file simple_tolerance_termination.hpp.
|
inline |
Get current value of residue.
Definition at line 151 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 49 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 71 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::Log::Info, 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 154 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::iteration.
|
inline |
Access upper limit of iteration count.
Definition at line 157 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations.
|
inline |
Definition at line 158 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations.
|
inline |
Access tolerance value.
Definition at line 161 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::tolerance.
|
inline |
Definition at line 162 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::tolerance.
|
private |
Definition at line 194 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
Definition at line 193 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
Definition at line 192 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 188 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 174 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 168 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged(), and mlpack::amf::SimpleToleranceTermination< MatType >::MaxIterations().
|
private |
Definition at line 179 of file simple_tolerance_termination.hpp.
|
private |
|
private |
residue values
Definition at line 177 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 184 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 182 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
tolerance
Definition at line 166 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Tolerance().
|
private |
pointer to matrix being factorized
Definition at line 171 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 191 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().