CyberAgentAILab/cmaes
Python library for CMA Evolution Strategy.
解决的问题
提供协方差矩阵自适应进化策略(CMA-ES)及其多种专用变体的简单且实用的 Python 实现。旨在解决复杂的优化问题,包括混合变量空间(连续、整数和分类变量)的问题,以及需要安全约束或多目标目标的问题。
工作原理
该库采用「ask-and-tell」接口,优化器提出候选解(ask),用户返回对应的目标函数值(tell)。实现了标准 CMA-ES 算法及多个高级扩展功能:
- CatCMAwM:在统一框架中处理混合变量优化(连续、整数和分类变量)。
- COMO-CatCMAwM:协调多个优化器,实现多目标混合变量优化。
- Safe CMA:使用安全函数和安全种子,在避免超出安全阈值解的同时进行优化。
- LRA-CMA:自动调整学习率,无需手动调参即可处理多峰或噪声问题。
- WS-CMA:允许从相似任务中迁移先验知识,在评估预算有限时加速优化过程。
适用人群
- 从事黑箱优化的研究人员和开发者。
- 执行超参数优化的机器学习工程师(与 Optuna 集成)。
- 面对混合变量搜索空间或安全关键型优化任务的工程师。
核心亮点
- 混合变量支持:针对连续、整数和分类变量的专用变体。
- 安全感知:包含适用于约束优化的 Safe CMA-ES 变体。
- 多目标优化:通过 COMO-CatCMAwM 支持双目标混合变量优化。
- 自动调参:LRA-CMA 减少了对昂贵超参数配置的需求。
- 集成能力:与 Optuna 框架兼容,支持自动超参数优化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目