有没有人知道为什么以下代码在多次运行中不会产生相同的全局最大值?
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.explore({'x': [7,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,8], 'y': [-0.5,-0.4,-0.3,-0.2,-0.1,0,0.1,0.2,0.3,0.4,0.5]})
gp_params = {"alpha": 1e-5, "n_restarts_optimizer": 2}
bo.maximize(init_points=5, n_iter=25, acq="ucb", kappa=10, **gp_params)
# The output values can be accessed with self.res
print(bo.res['max'])
我尝试过播放.maximize函数中的值,但没有成功。无论如何,我可以使它在多次运行中返回相同的正确值?