Batch upper confidence bound (UCB) is a Bayesian optimization policy for choosing several objective evaluations in parallel. It scores candidate batches from a Gaussian-process model’s predictions, balancing promising values with uncertainty. section 7.2.2
A batch UCB iteration follows the standard optimization loop with small batch-specific changes:
- Fit the Gaussian-process model to the accumulated training data. section 7.2.2
- Construct qUpperConfidenceBound and set beta, such as beta = 2. section 7.2.2
- Call optimize_acqf with q equal to the batch size; receive a k-by-d tensor of candidates. section 7.2.2
- Evaluate all candidates, then append their inputs and outputs to the training data. section 7.2.2
Four-query hyperparameter batch
For 20 total queries and a batch size of four, run five iterations. Each iteration optimizes qUpperConfidenceBound, evaluates four SVM hyperparameter settings, and updates the Gaussian-process data. section 7.2.2
policy = botorch.acquisition.monte_carlo.qUpperConfidenceBound(
model, beta=2
)
Inspect the BoTorch construction of qUpperConfidenceBound with beta = 2. section 7.2.2
