一、算法介绍
CMA-ES(协方差矩阵自适应进化策略),主要用于解决连续优化问题,尤其在病态条件下的连续优化问题。进化策略算法主要作为求解参数优化问题的方法,模仿生物进化原理,假设不论基因发生何种变化,产生的结果(性状)总遵循这零均值,某一方差的高斯分布。注意这里进化策略和遗传算法不同,但是都是进化算法(EAs)的重要变种。
二、算法流程
- 采样产生新解;
- 计算目标函数值;
- 更新分布参数
对多元高斯分布进行采样得到新解,使用其中较好的解更新高斯分布的参数,最大熵原理(均值和方差已知时,高斯分布具有的信息熵最大,正因为如此高斯分布在自然界中才会这么普遍)。
算法流程来源: 算法流程来源.
三、主要特点
-
使用多变量的正态分布产生新的搜索点
-遵循最大熵原理 -
基于排序的选择过程
-暗含了不变性, 对于g(f(x))来说具有相同的性能,g是增函数 -
步长控制使得快速收敛更加便捷
-基于进化路径 -
协方差矩阵自适应算法增加了成功步长的似然性,可以根据问题规模的数量级改善性能。