15 #ifndef __MLPACK_CORE_OPTIMIZERS_ADADELTA_ADA_DELTA_HPP 16 #define __MLPACK_CORE_OPTIMIZERS_ADADELTA_ADA_DELTA_HPP 21 namespace optimization {
62 template<
typename DecomposableFunctionType>
83 AdaDelta(DecomposableFunctionType&
function,
84 const double rho = 0.95,
85 const double eps = 1e-6,
101 const DecomposableFunctionType&
Function()
const {
return function; }
103 DecomposableFunctionType&
Function() {
return function; }
132 DecomposableFunctionType&
function;
155 #include "ada_delta_impl.hpp" DecomposableFunctionType & Function()
Modify the instantiated function.
double tolerance
The tolerance for termination.
Adadelta is an optimizer that uses two ideas to improve upon the two main drawbacks of the Adagrad me...
Linear algebra utility functions, generally performed on matrices or vectors.
double & Rho()
Modify the smoothing parameter.
double & Tolerance()
Modify the tolerance for termination.
The core includes that mlpack expects; standard C++ includes and Armadillo.
size_t maxIterations
The maximum number of allowed iterations.
double eps
The value used to initialise the mean squared gradient parameter.
double Epsilon() const
Get the value used to initialise the mean squared gradient parameter.
size_t MaxIterations() const
Get the maximum number of iterations (0 indicates no limit).
size_t & MaxIterations()
Modify the maximum number of iterations (0 indicates no limit).
double & Epsilon()
Modify the value used to initialise the mean squared gradient parameter.
double rho
The smoothing parameter.
double Tolerance() const
Get the tolerance for termination.
bool & Shuffle()
Modify whether or not the individual functions are shuffled.
const DecomposableFunctionType & Function() const
Get the instantiated function to be optimized.
bool shuffle
Controls whether or not the individual functions are shuffled when iterating.
double Rho() const
Get the smoothing parameter.
bool Shuffle() const
Get whether or not the individual functions are shuffled.
double Optimize(arma::mat &iterate)
Optimize the given function using AdaDelta.
AdaDelta(DecomposableFunctionType &function, const double rho=0.95, const double eps=1e-6, const size_t maxIterations=100000, const double tolerance=1e-5, const bool shuffle=true)
Construct the AdaDelta optimizer with the given function and parameters.