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] 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()
from robo.acquisition.Entropy import Entropy from robo.maximizers.maximize import grid_search from robo.recommendation.incumbent import compute_incumbent from robo import BayesianOptimization 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) model = GPyModel(kernel, optimize=True, noise_variance=1e-4, num_restarts=10) proposal_measurement = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1) acquisition_func = Entropy(model, X_lower, X_upper, sampling_acquisition=proposal_measurement) maximizer = grid_search 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=10)
compute_incumbent=compute_incumbent, sampling_acquisition=LogEI, Nb=10, Np=300, Nf=3500, loss_function=logLoss, ) # ei = EI(model, X_upper=X_upper, X_lower=X_lower, par=0.3) # pi = PI(model, X_upper= X_upper, X_lower=X_lower, par =0.3) for acquisition_fkt in [entropy_mc]: bo = BayesianOptimization( acquisition_fkt=acquisition_fkt, model=model, maximize_fkt=maximize_fkt, X_lower=X_lower, X_upper=X_upper, dims=dims, objective_fkt=objective_funktion, save_dir=None, ) next_x = bo.choose_next(initial_X, initial_Y) print model.m Visualization( bo, next_x, X=initial_X, Y=initial_Y, show_acq_method=False, show_obj_method=True, show_model_method=True, resolution=1000,
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) model = GPyModel(kernel, optimize=True, noise_variance=1e-4, num_restarts=10) proposal_measurement = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1) acquisition_func = Entropy(model, X_lower, X_upper, sampling_acquisition=proposal_measurement) maximizer = grid_search 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=10)
kernel = GPy.kern.RBF(input_dim=dims) kernel = GPy.kern.Matern52(input_dim=dims) maximize_fkt = grid_search model = GPyModel(kernel, optimize=True, noise_variance=1e-4, num_restarts=10) # entropy = Entropy(model, X_upper= X_upper, X_lower=X_lower, sampling_acquisition= LogEI, Nb=10, Np=600, loss_function = logLoss) entropy_mc = EntropyMC(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, sampling_acquisition=LogEI, Nb=10, Np=300, Nf=3500, loss_function=logLoss) #ei = EI(model, X_upper=X_upper, X_lower=X_lower, par=0.3) # pi = PI(model, X_upper= X_upper, X_lower=X_lower, par =0.3) for acquisition_fkt in [entropy_mc]: bo = BayesianOptimization(acquisition_fkt=acquisition_fkt, model=model, maximize_fkt=maximize_fkt, X_lower=X_lower, X_upper=X_upper, dims=dims, objective_fkt=objective_funktion, save_dir=None) next_x = bo.choose_next(initial_X, initial_Y) print model.m Visualization(bo, next_x, X=initial_X, Y=initial_Y, show_acq_method=False, show_obj_method=True, show_model_method=True, resolution=1000, dest_folder="./test_output")
X_lower = np.array([-5,0]) X_upper = np.array([10,15]) alpha=10 beta=10 dims = 2 model=NeuralNet(net,X_train,y_train,alpha,beta) acquisition_func = EI(model, X_upper=X_upper, X_lower=X_lower, compute_incumbent=compute_incumbent, par=0.1) maximizer = stochastic_local_search bo = BayesianOptimization(acquisition_fkt=acquisition_func, model=model, maximize_fkt=maximizer, X_lower=X_lower, X_upper=X_upper, dims=dims, objective_fkt=branin) start_time=time.time() bo.run(num_iterations=5,X=X_train,Y=y_train) end_time=time.time() X, Y = bo.get_observations() X = X[:-1] Y = Y[:-1] model = bo.get_model()