CMA-ES - Covariance Matrix Adaptation Evolution Strategy is s a stochastic search algorithm.
More...
|
| | CMAES (const size_t lambda=0, const double lowerBound=-10, const double upperBound=10, const size_t batchSize=32, const size_t maxIterations=1000, const double tolerance=1e-5, const SelectionPolicyType &selectionPolicy=SelectionPolicyType()) |
| | Construct the CMA-ES optimizer with the given function and parameters. More...
|
| |
| size_t | BatchSize () const |
| | Get the batch size. More...
|
| |
| size_t & | BatchSize () |
| | Modify the batch size. More...
|
| |
| double | LowerBound () const |
| | Get the lower bound of decision variables. More...
|
| |
| double & | LowerBound () |
| | Modify the lower bound of decision variables. More...
|
| |
| size_t | MaxIterations () const |
| | Get the maximum number of iterations (0 indicates no limit). More...
|
| |
| size_t & | MaxIterations () |
| | Modify the maximum number of iterations (0 indicates no limit). More...
|
| |
template < typename DecomposableFunctionType > |
| double | Optimize (DecomposableFunctionType &function, arma::mat &iterate) |
| | Optimize the given function using CMA-ES. More...
|
| |
| size_t | PopulationSize () const |
| | Get the step size. More...
|
| |
| size_t & | PopulationSize () |
| | Modify the step size. More...
|
| |
| const SelectionPolicyType & | SelectionPolicy () const |
| | Get the selection policy. More...
|
| |
| SelectionPolicyType & | SelectionPolicy () |
| | Modify the selection policy. More...
|
| |
| double | Tolerance () const |
| | Get the tolerance for termination. More...
|
| |
| double & | Tolerance () |
| | Modify the tolerance for termination. More...
|
| |
| double | UpperBound () const |
| | Get the upper bound of decision variables. More...
|
| |
| double & | UpperBound () |
| | Modify the upper bound of decision variables. More...
|
| |
template
<
typename
SelectionPolicyType
>
class mlpack::optimization::CMAES< SelectionPolicyType >
CMA-ES - Covariance Matrix Adaptation Evolution Strategy is s a stochastic search algorithm.
CMA-ES is a second order approach estimating a positive definite matrix within an iterative procedure using the covariance matrix.
For more information, please refer to:
@article{Hansen2001
author = {Hansen, Nikolaus and Ostermeier, Andreas},
title = {Completely Derandomized Self-Adaptation in Evolution
Strategies},
journal = {Evol. Comput.},
volume = {9},
number = {2},
year = {2001},
pages = {159--195},
publisher = {MIT Press},
}
For CMA-ES to work, the class must implement the following function:
size_t NumFunctions(); double Evaluate(const arma::mat& coordinates, const size_t i); void Gradient(const arma::mat& coordinates, const size_t i, arma::mat& gradient);
NumFunctions() should return the number of functions (
), and in the other two functions, the parameter i refers to which individual function (or gradient) is being evaluated. So, for the case of a data-dependent function, such as NCA (see mlpack::nca::NCA), NumFunctions() should return the number of points in the dataset, and Evaluate(coordinates, 0) will evaluate the objective function on the first point in the dataset (presumably, the dataset is held internally in the DecomposableFunctionType).
- Template Parameters
-
| SelectionPolicy | The selection strategy used for the evaluation step. |
Definition at line 66 of file cmaes.hpp.