Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
贝叶斯优化Python_Python_Bayesian - Fatal编程技术网

贝叶斯优化Python

贝叶斯优化Python,python,bayesian,Python,Bayesian,我必须找到以下2D函数的全局最大值: (((sin(((x-8)**2+y**2)**0.5))/((((x-8)**2+y**2)**0.5)))+0.8*((sin(((x+8)**2+y**2)**0.5))/(((x+8)**2+y**2)**0.5))) 我使用图书馆的地点是: 这是我找到全局最大值的代码: import sys from numpy import sin sys.path.append("./") from bayes_opt import BayesianOpti

我必须找到以下2D函数的全局最大值:

(((sin(((x-8)**2+y**2)**0.5))/((((x-8)**2+y**2)**0.5)))+0.8*((sin(((x+8)**2+y**2)**0.5))/(((x+8)**2+y**2)**0.5)))
我使用图书馆的地点是:

这是我找到全局最大值的代码:

import sys
from numpy import sin
sys.path.append("./")
from bayes_opt import BayesianOptimization

bo = BayesianOptimization(lambda x, y: (((sin(((x-8)**2+y**2)**0.5))/((((x-8)**2+y**2)**0.5)))+0.8*((sin(((x+8)**2+y**2)**0.5))/(((x+8)**2+y**2)**0.5))),
                         {"x": (-20,20), "y": (-20, 20)})

bo.maximize(init_points=5, n_iter=50, kappa=5)

#print global maxima
print(bo.res['max'])
通过暴力发现的全球最大值为0.79

此程序生成的值为0.79,但非常不一致。在10次运行中,它只给出一次左右的值。 发生这种情况有什么原因吗? 到目前为止,我只能在多次运行中看到一次正确的输出。 有没有办法解决这个问题?
感谢您的帮助

您是否尝试过增加
init_points
n_iter
?此外,修改
kappa
可能会增加或减少正确结果的出现:我已经尝试过,但我没有看到太大的不同。请尝试使用更简单的函数版本,并确保可以找到最大值。然后增加函数的复杂性,朝着指定的方向努力。