Py之bayesian-optimization:bayesian-optimization的简介、安装、案例应用之详细攻略

Py之bayesian-optimization:bayesian-optimization的简介、安装、案例应用之详细攻略

目录

bayesian-optimization的简介

bayesian-optimization的安装

bayesian-optimization的案例应用

1、基础用法


bayesian-optimization的简介

        bayesian-optimization是一个使用高斯过程的全局优化的Python实现。这是一个基于贝叶斯推理和高斯过程的约束全局优化包,试图在尽可能少的迭代中找到一个未知函数的最大值。这种技术特别适合优化高成本函数,在勘探和开发之间的平衡非常重要的情况下。
        贝叶斯优化通过构造函数的后验分布(高斯过程)来工作,该后验分布最好地描述了您想要优化的函数。随着观测数量的增加,后验分布得到改善,算法对参数空间中哪些区域值得探索,哪些不值得探索,变得更加确定,如下图所示。
        当你一遍又一遍地迭代时,算法会考虑到它对目标函数的了解,来平衡它的探索和开发需求。在每一步中,高斯过程都拟合到已知样本(先前探索过的点),后验分布与探索策略(如UCB(上置信界)或EI(预期改进))相结合,用于确定应该探索的下一个点(见下图)。
        这个过程的目的是尽量减少寻找接近最佳组合的参数组合所需的步骤数。为此,该方法使用了一个代理优化问题(找到获取函数的最大值),尽管这仍然是一个困难的问题,但更便宜(在计算意义上),并且可以使用常见的工具。因此,贝叶斯优化最适合于对要优化的函数进行采样是非常昂贵的工作的情况。

GitHubhttps://github.com/fmfn/BayesianOptimization

bayesian-optimization的安装

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bayesian-optimization

 

bayesian-optimization的案例应用

1、基础用法

BayesianOptimization对象可以开箱即用,不需要太多调优

from bayes_opt import BayesianOptimization

# Bounded region of parameter space
pbounds = {'x': (2, 4), 'y': (-3, 3)}

optimizer = BayesianOptimization(
    f=black_box_function,
    pbounds=pbounds,
    random_state=1,
)


optimizer.maximize(
    init_points=2,
    n_iter=3,
)

print(optimizer.max)


for i, res in enumerate(optimizer.res):
    print("Iteration {}: \n\t{}".format(i, res))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值