Esempio n. 1
0
 def setUp(self):
     self.x = np.array([[0.62971589], [0.63273273], [0.17867868],
                        [0.17447447], [1.88558559]])
     self.y = np.array([[-3.69925653], [-3.66221988], [-3.65560591],
                        [-3.58907791], [-8.06925984]])
     self.kernel = GPy.kern.RBF(input_dim=1,
                                variance=30.1646253727,
                                lengthscale=0.435343653946)
     self.noise = 1e-20
     self.model = GPyModel(self.kernel,
                           noise_variance=self.noise,
                           optimize=False)
     self.model.train(self.x, self.y)
Esempio n. 2
0
from robo.visualization.plotting import plot_model, plot_objective_function, plot_acquisition_function
from robo import BayesianOptimization


# def objective_function(x):
#         return np.sin(x) + 0.1 * np.cos(10 * x)
def objective_function(x):
        return  np.sin(3 * x) * 4 * (x - 1) * (x + 2)

X_lower = np.array([0])
X_upper = np.array([6])

dims = 1

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]