Risk-averse heteroscedastic Bayesian optimization algorithm (RAHBO) aims to identify a solution with high return and low noise variance, while learning the noise distribution on the fly. To this end, we model both expectation and variance as (unknown) RKHS functions, and propose a novel risk-aware acquisition function.
$ conda create -n erahbo python=3.7.16
$ conda activate erahbo
$ pip install -r requirements.txt
$ pip install filelock
$ pip install -e .
Check ipynb.rahbo_illustrative.ipynb to see an illustrative example of Risk-averse-Heteroscedastic-BO (RAHBO) applied to sine function that has two global optima with different noise level.
To run the experiments, configure yaml file (see 'Risk-averse-BO/runner_files/configs/EXAMPLE_config.yaml' as an example), then run
python runner_files/start_experiment.py --config_path="path_to_yaml"
When running experiments under number of processes constraints (e.g., AutoML tuning), use --max_processes
python runner_files/start_experiment.py --config_path="path_to_yaml" --max_processes=5