14 #ifndef MLPACK_CORE_OPTIMIZERS_IQN_IQN_HPP 15 #define MLPACK_CORE_OPTIMIZERS_IQN_IQN_HPP 20 namespace optimization {
82 IQN(
const double stepSize = 0.01,
83 const size_t batchSize = 10,
84 const size_t maxIterations = 100000,
85 const double tolerance = 1e-5);
97 template<
typename DecomposableFunctionType>
98 double Optimize(DecomposableFunctionType&
function, arma::mat& iterate);
128 size_t maxIterations;
138 #include "iqn_impl.hpp" double & Tolerance()
Modify the tolerance for termination.
size_t MaxIterations() const
Get the maximum number of iterations (0 indicates no limit).
size_t & BatchSize()
Modify the batch size.
The core includes that mlpack expects; standard C++ includes and Armadillo.
double Optimize(DecomposableFunctionType &function, arma::mat &iterate)
Optimize the given function using IQN.
size_t BatchSize() const
Get the batch size.
IQN is a technique for minimizing a function which can be expressed as a sum of other functions...
size_t & MaxIterations()
Modify the maximum number of iterations (0 indicates no limit).
double StepSize() const
Get the step size.
IQN(const double stepSize=0.01, const size_t batchSize=10, const size_t maxIterations=100000, const double tolerance=1e-5)
Construct the IQN optimizer with the given function and parameters.
double Tolerance() const
Get the tolerance for termination.
double & StepSize()
Modify the step size.