Code for ICML 2021 paper Lenient Regret and Good-Action Identification in Gaussian Process Bandits
Copyright by the authors: Xu Cai, Selwyn Gomes and Jonathan Scarlett
- Python 3
- NumPy
- SciPy
- Scikit-Learn
- Matplotlib
- GPy
- PyTorch (for quasi-random sequences)
- pybox2d & pygame (for robot pushing)
- xgboost (for XGBoost)
Input arguments for main.py
:
function
: Specify the function name; Seegood_action/utils.py
for detailsnoisy
: Noisy or noiseless observationepsilon
: The good-action threshold; Float value
Output:
log file
: Running logsquery histories
: .npy file saving queried points and values
For example:
- Testing on the noiseless 3D robot pushing function
python main.py robot3 noiseless 4.5
Visualization: Run plot.ipynb
Input arguments for lenient.py
:
epsilon
: The good-action threshold; Float value; Default=0.9
Output:
lenient and standard regrets
: .npy file
For example:
python lenient.py 0.9
Visualization: Run plot_lenient.ipynb