PyBADS: Fast and robust black-box optimization in Python
Gurjeet Sangra Singh, Luigi Acerbi

TL;DR
PyBADS is a Python implementation of the BADS algorithm, enabling fast, robust black-box optimization for complex, noisy, and expensive functions, especially useful in computational modeling and neuroscience.
Contribution
This paper introduces PyBADS, a user-friendly Python package that implements BADS, offering efficient optimization for challenging black-box problems with extensive benchmarking.
Findings
Performs on par or better than state-of-the-art optimizers
Scales efficiently to 20 parameters with bounds or no constraints
Effective for model fitting in neuroscience and cognitive science
Abstract
PyBADS is a Python implementation of the Bayesian Adaptive Direct Search (BADS) algorithm for fast and robust black-box optimization (Acerbi and Ma 2017). BADS is an optimization algorithm designed to efficiently solve difficult optimization problems where the objective function is rough (non-convex, non-smooth), mildly expensive (e.g., the function evaluation requires more than 0.1 seconds), possibly noisy, and gradient information is unavailable. With BADS, these issues are well addressed, making it an excellent choice for fitting computational models using methods such as maximum-likelihood estimation. The algorithm scales efficiently to black-box functions with up to continuous input parameters and supports bounds or no constraints. PyBADS comes along with an easy-to-use Pythonic interface for running the algorithm and inspecting its results. PyBADS only requires the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Bandit Algorithms Research · Machine Learning and Algorithms · Advanced Multi-Objective Optimization Algorithms
