PyBADS: Fast and robust black-box optimization in Python

06/27/2023
by   Gurjeet Sangra Singh, et al.
0

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 D ≈ 20 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 user to provide a Python function for evaluating the target function, and optionally other constraints. Extensive benchmarks on both artificial test problems and large real model-fitting problems models drawn from cognitive, behavioral and computational neuroscience, show that BADS performs on par with or better than many other common and state-of-the-art optimizers (Acerbi and Ma 2017), making it a general model-fitting tool which provides fast and robust solutions.

READ FULL TEXT
research
05/11/2017

Practical Bayesian Optimization for Model Fitting with Bayesian Adaptive Direct Search

Computational models in fields such as computational neuroscience are of...
research
03/16/2023

PyVBMC: Efficient Bayesian inference in Python

PyVBMC is a Python implementation of the Variational Bayesian Monte Carl...
research
08/01/2011

Black-Box Complexities of Combinatorial Problems

Black-box complexity is a complexity theoretic measure for how difficult...
research
04/29/2020

Versatile Black-Box Optimization

Choosing automatically the right algorithm using problem descriptors is ...
research
05/03/2016

Blackbox: A procedure for parallel optimization of expensive black-box functions

This note provides a description of a procedure that is designed to effi...
research
05/10/2023

A Joint Python/C++ Library for Efficient yet Accessible Black-Box and Gray-Box Optimization with GOMEA

Exploiting knowledge about the structure of a problem can greatly benefi...
research
02/02/2022

Global Optimization Networks

We consider the problem of estimating a good maximizer of a black-box fu...

Please sign up or login with your details

Forgot password? Click here to reset