Adaptively expanding subspaces (BAxUS)#

Type of optimizer algorithm: continuous inputs BAxUS (py3.10 in conda)

About#

This is an implementation of Bayesian Optimization with adaptively expanding subspaces (BAxUS) as described in [Papenmeier et al., 2022]. This implementation uses the original open source implementation and Python package developed by the authors.

How to run#

Warning

This solver runs in a different conda environment than base.

You can find a conda environment where this solver can run here.

If you have cloned poli-baselines locally:

conda env create --file src/poli_baselines/solvers/bayesian_optimization/baxus/environment.baxus.yml
conda activate poli__baxus
import numpy as np

from poli import objective_factory
from poli_baselines.solvers.bayesian_optimization.baxus import BAxUS

problem = objective_factory.create(
    name="toy_continuous_problem",
    function_name="ackley_function_01",
    n_dimensions=10,
)
black_box, x0 = problem.black_box, problem.x0

x0 = np.random.uniform(-1, 1, size=10).reshape(1, 10)
y0 = black_box(x0)

solver = BAxUS(black_box, x0, y0, bounds=(-3.0, 3.0), noise_std=0.0, n_init=2)

solver.solve(max_iter=3)

See more#

References#

If you use this solver, we expect that you cite the following resources:

[1] Papenmeier, L., Nardi, L., & Poloczek, M. (2022, May 16). Increasing the Scope as You Learn: Adaptive Bayesian Optimization in Nested Subspaces. Advances in Neural Information Processing Systems. https://openreview.net/forum?id=e4Wf6112DI

[2] González-Duque, M., Bartels, S., & Michael, R. (2024). poli: a libary of discrete sequence objectives [Computer software]. MachineLearningLifeScience/poli


@inproceedings{Papenmeier:BAxUS:2022,
    title={Increasing the Scope as You Learn: Adaptive Bayesian Optimization in Nested Subspaces},
    url={https://openreview.net/forum?id=e4Wf6112DI},
    author={Papenmeier, Leonard and Nardi, Luigi and Poloczek, Matthias},
    year={2022},
    month=may,
    language={en}
}

@software{Gonzalez-Duque:poli:2024,
author = {González-Duque, Miguel and Bartels, Simon and Michael, Richard},
month = jan,
title = {{poli: a libary of discrete sequence objectives}},
url = {https://github.com/MachineLearningLifeScience/poli},
version = {0.0.1},
year = {2024}
}