贝叶斯优化Python
我必须找到以下2D函数的全局最大值:贝叶斯优化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
(((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
可能会增加或减少正确结果的出现:我已经尝试过,但我没有看到太大的不同。请尝试使用更简单的函数版本,并确保可以找到最大值。然后增加函数的复杂性,朝着指定的方向努力。