コード例 #1
0
kernel = GPy.kern.Matern52(input_dim=dims, lengthscale=0.01)
model = GPyModel(kernel, optimize=True, noise_variance=1e-8, num_restarts=10)
acquisition_func = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1)
maximizer = DIRECT

bo = BayesianOptimization(acquisition_fkt=acquisition_func,
                          model=model,
                          maximize_fkt=maximizer,
                          X_lower=X_lower,
                          X_upper=X_upper,
                          dims=dims,
                          objective_fkt=objective_function)

bo.run(num_iterations=5)

X, Y = bo.get_observations()
X = X[:-1]
Y = Y[:-1]
model = bo.get_model()

f, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1 = plot_model(model, X_lower, X_upper, ax1)
ax1 = plot_objective_function(objective_function, X_lower, X_upper, X, Y, ax1)
ax1.legend()

acquisition_func = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1)
ax2 = plot_acquisition_function(acquisition_func, X_lower, X_upper, ax2)

plt.legend()
plt.savefig("bo.png")