mlpack
master
|
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 31 of file simple_tolerance_termination.hpp.
|
inline |
empty constructor
Definition at line 35 of file simple_tolerance_termination.hpp.
|
inline |
Get current value of residue.
Definition at line 149 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 47 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 69 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 152 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::iteration.
|
inline |
Access upper limit of iteration count.
Definition at line 155 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations.
|
inline |
Definition at line 156 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::maxIterations.
|
inline |
Access tolerance value.
Definition at line 159 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::tolerance.
|
inline |
Definition at line 160 of file simple_tolerance_termination.hpp.
References mlpack::amf::SimpleToleranceTermination< MatType >::tolerance.
|
private |
Definition at line 192 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
Definition at line 191 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Initialize(), and mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
Definition at line 190 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 186 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 172 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 166 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged(), and mlpack::amf::SimpleToleranceTermination< MatType >::MaxIterations().
|
private |
Definition at line 177 of file simple_tolerance_termination.hpp.
|
private |
|
private |
residue values
Definition at line 175 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 182 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 180 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().
|
private |
tolerance
Definition at line 164 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::Tolerance().
|
private |
pointer to matrix being factorized
Definition at line 169 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 189 of file simple_tolerance_termination.hpp.
Referenced by mlpack::amf::SimpleToleranceTermination< MatType >::IsConverged().