Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 18 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
# Variational Entropy Search is Just 1D Regression

Building on this ICML 2025 spotlight paper: [A Unified Framework for Entropy Search and
Expected Improvement in Bayesian Optimization](https://arxiv.org/pdf/2501.18756)
This code is purely for running toy experiments for the research paper "Variational Entropy Search is Just 1D Regression" published at the NeurIPS 2025 [Frontiers in Probabalistic Inferece](https://fpineurips.framer.website) workshop.

Collections of toy expertiments for approximating Max Value entropy Search with variational methods. This simply boils down to fitting a 1D regression model for each and measuring the loss function, the x location with lowest loss is chosen for black box evaluation.

This code is purely for running toy experiments for the researtch paper "Variational Entropy Search is Just 1D Regression"

![Distribution of Max Values gitven 3 points](scripts/original_data.png)

![Max value varying for one synthetic point](scripts/animation.gif)
Collections of toy experiments for approximating Max Value entropy Search with variational methods. This simply boils down to fitting a 1D regression model for each x location and measuring the model likelihood, or "goodness of fit" or loss function, and the x location with highest likelihood/lowest loss is chosen for expensive black box evaluation.

We build on this ICML 2025 spotlight paper: [A Unified Framework for Entropy Search and Expected Improvement in Bayesian Optimization](https://arxiv.org/pdf/2501.18756)

# Setup
```
# install uv first
https://docs.astral.sh/uv/getting-started/installation/
# install uv first: see https://docs.astral.sh/uv/getting-started/installation/
curl -LsSf https://astral.sh/uv/install.sh | sh

# install the other dependencies
uv venv
Expand All @@ -24,11 +18,22 @@ uv run pytest
```

# Usage
You can run an experiment using these commands
You can run a single 1D test function experiment using the command
```
cd scripts
python make_1d_benchmark_funs.py # makes a set of 1D GP sample funs for BO testing
python make_1d_bo_animation.py # runs BO and parses the results into an animation
```

To run a sweep of methods over a sweep of test functions to reproduce results in the paper
```
cd paper_experiments
python make_datasets.py # creates a collection of synthetic test functions
python run_benchmarks.py # run a sweep of BO methods on the test functions
plot_results.ipynb # jupyter notbook to plot convergence curves
```

![Distribution of Max Values gitven 3 points](scripts/original_data.png)

![Max value varying for one synthetic point](scripts/animation.gif)

![Expected Improvement](scripts/bo_history.gif)
Loading