CMA-ES 算法
CMA-ES 算法
一、算法介绍
CMA-ES是Covariance Matrix Adaptation Evolutionary Strategies的缩写,中文名称是协方差矩阵自适应进化策略,主要用于解决连续优化问题,尤其在病态条件下的连续优化问题。进化策略算法主要作为求解参数优化问题的方法,模仿生物进化原理,假设不论基因发生何种变化,产生的结果(性状)总遵循这零均值,某一方差的高斯分布。注意这里进化策略和遗传算法不同,但是都是进化算法(EAs)的重要变种。
二、算法实现
三、主要特点
1. 使用多变量的正态分布产生新的搜索点
-遵循最大熵原理
x⃗ i∼m⃗ +σN(0,C) for i = 1, 2, …, λ
2. 基于排序的选择过程
-暗含了不变性, 对于g(f(x))来说具有相同的性能,g是增函数
3. 步长控制使得快速收敛更加便捷
-基于进化路径
4. 协方差矩阵自适应算法增加了成功步长的似然性,可以根据问题规模的数量级改善性能。
-C∝H−1⟺调整变量的类型,由海森矩阵等价成更为简单的协方差矩阵
-⟺产生一种新的问题表示方法
-⇒f(x)=g(xTHx)问题简化为g(xTx)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决