banditry: an online learning framework with optimism-in-the-face-of-uncertainty and posterior-sampling agents
Abstract
banditry provides contextual bandit agents for black-box optimisation over mixed design spaces. It runs a suggest → evaluate → observe loop against an expensive black-box objective and exposes the pieces of that loop as composable modules: a GP-UCB / OFU agent with Bayesian or frequentist (Chowdhury–Gopalan) confidence widths optimising the MACE acquisition ensemble, and a Thompson-sampling agent whose neural value function is sampled by MCMC oracles (Langevin dynamics or NUTS), with optional Feel-Good reweighting. Surrogates include exact and sparse variational Gaussian processes; acquisition optimisation wraps evolutionary (NSGA-II/III) and SGLD oracles. Design spaces mix numeric, integer, boolean, and categorical parameters, and any subset of parameters can be pinned to observed context each round, turning the loop into a contextual bandit.
Type
Publication
Open-source Python library (MIT), PyPI:
banditry