CMA-ES

CMA-ES stands for Covariance Matrix Adaptation Evolution Strategy. An evolution strategy is a stochastic, population-based, iterative optimization method belonging to the class of evolutionary algorithms. The covariance matrix adaptation (CMA) is a method to adapt the covariance matrix of the multivariate normal mutation distribution in the evolution strategy (ES). The mutation distribution is used to sample new candidate solutions. The covariance matrix describes the pairwise dependencies between the variables in the distribution. Adaptation of the covariance matrix means learning a second order model of the underlying objective function similar to the approximation of the inverse Hessian matrix in the Quasi-Newton method in classical optimization.

Principle
Two adaptation principles are exploited in the CMA-ES algorithm. First, a maximum likelihood principle, based on the idea to increase the probability of a successful mutation step. The covariance matrix of the distribution is updated such that the likelihood of previously realized successful steps to appear again is increased. Consequently the CMA conducts an iterated principle component analysis of successful mutation steps while retaining all principle axes.

Second, a path of the time evolution of the distribution mean of the strategy is recorded, called evolution path. Such a path contains significant information of the correlation between consecutive steps. The evolution path is exploited in two ways. It is used for the covariance matrix adaptation procedure in place of single successful mutation steps. Also, the evolution path is used to conduct an additional step-size control. This step-size control aims to make consecutive movements of the distribution mean orthogonal in expectation. The step-size control effectively prevents premature convergence.