A simple Python package for virtual derivative sign observation Bayesian optimization.
See our paper for details.
For GPy, one needs to use this version
Minimum working example for simple 1 d gaussian:
import optimization
import util
import acquisitions
l = util.get_gaussian_functions(1,1,1)
l_new = util.normalize_functions(l)
bo = DerivativeBayesianOptimization(func = l_new[0][0], X=initial_x(1), acquisition_function=acquisitions.EI, max_iter=10, print_progress=1, adaptive=True)
X,Y = bo.optimize()
bo.plot_model("test.png")
This example also runs by 'python optimization.py'
Fore more complicated cases, see the documentation in source code (Start from init of optimization.BayesianOptimization class)