跳到内容

软件包概览#

SMAC 帮助您确定算法的高性能超参数配置。作为一个强大而灵活的贝叶斯优化框架,SMAC 可以在几次函数评估内提升性能。它为典型用例提供了多个入口点和预设,例如优化超参数、解决低维连续(人工)全局优化问题,以及配置算法以在多个问题实例上表现良好。

特性#

SMAC 具有以下特性和能力

全局优化器#

贝叶斯优化用于样本高效的优化。

优化黑盒函数#

优化只关注输入和输出。它与函数内部实现无关。

灵活的超参数#

使用分类、连续、分层和/或条件超参数以及良好集成的 ConfigurationSpace。SMAC 可以高效地优化多达 100 个超参数

任意目标#

可以针对任何目标进行优化(例如,准确率、运行时间、交叉验证等)。

多目标优化#

使用标量化多目标算法优化任意数量的目标。支持 ParEGO [Know06] 和平均聚合策略。

多保真度优化#

在多个预算下评估配置,以便尽早放弃不合适的配置。根据预算的不同,这将带来巨大的加速。

实例#

不仅能为一个算法的单个实例(例如数据集)找到高性能的超参数配置,还能为多个实例找到。

命令行界面#

SMAC 不仅可以在 Python 文件中执行,也可以从命令行执行。因此,不仅可以优化 Python 中的算法,还可以优化其他语言的实现。

注意

v2.0 版本中已暂时禁用命令行界面。如果需要使用,请回退到 v1.4。

对比#

下表概述了 SMAC 与其他优化工具的功能对比。

软件包 复杂超参数空间 多目标 多保真度 实例 命令行界面 并行化
HyperMapper
Optuna
Hyperopt
BoTorch
OpenBox
HpBandSter
SMAC