Open blttkgl opened 2 years ago
Instead of using run_optimization, if I define my optimization as follows I get multiple points, but I am trying to understand the difference between this approach and the former I just posted:
prediction,_ = m.predict(X)
bo_step = GPyOpt.methods.BayesianOptimization(f = None, domain = bounds, X=X, Y=-prediction,
model_type='GP',normalize_Y = False,
evaluator_type = 'local_penalization',
acquisition_type='EI',batch_size=0, eps=1e-8)
x_next = bo_step.suggest_next_locations()
Hey all,
According to the issues I read in this repository, the batch_size>1 only works with the local_penalization evaluator, and not with sequential or any other evaluator model.
I have set up a Bayesian Optimization model where I use a GP surrogate model m trained on my dataset as my objective function, as follows:
when I run the optimization, I only get a single prediction instead of batch_size=5:
bo_step.run_optimization(max_iter=5)
If I use the external object evaluation example as a starting point and use bo_step.suggest_next_locations() functions, I get 5 suggestions, but it seems that it does not really maximize my objective function (below). However I am not sure if I can/should use this object since I already have a surrogate model function fit into my dataset.
x_next = bo_step.suggest_next_locations()
Any help or suggestion on this is highly appreciated.
Best,
Bulut