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,
86 const size_t maxIterations = 100000,
87 const double tolerance = 1e-5,
88 const bool shuffle =
true);
101 const DecomposableFunctionType&
Function()
const {
return function; }
103 DecomposableFunctionType&
Function() {
return function; }
106 double Rho()
const {
return rho; }
108 double&
Rho() {
return rho; }
132 DecomposableFunctionType&
function;
141 size_t maxIterations;
155 #include "ada_delta_impl.hpp"
double Epsilon() const
Get the value used to initialise the mean squared gradient parameter.
Adadelta is an optimizer that uses two ideas to improve upon the two main drawbacks of the Adagrad me...
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.
The core includes that mlpack expects; standard C++ includes and Armadillo.
double Optimize(arma::mat &iterate)
Optimize the given function using AdaDelta.
size_t MaxIterations() const
Get the maximum number of iterations (0 indicates no limit).
double & Rho()
Modify the smoothing parameter.
DecomposableFunctionType & Function()
Modify the instantiated function.
double & Tolerance()
Modify the tolerance for termination.
size_t & MaxIterations()
Modify the maximum number of iterations (0 indicates no limit).
bool & Shuffle()
Modify whether or not the individual functions are shuffled.
bool Shuffle() const
Get whether or not the individual functions are shuffled.
const DecomposableFunctionType & Function() const
Get the instantiated function to be optimized.
double Rho() const
Get the smoothing parameter.
double Tolerance() const
Get the tolerance for termination.
double & Epsilon()
Modify the value used to initialise the mean squared gradient parameter.