Loops for Bayesian quadrature.
- class emukit.quadrature.loop.BayesianMonteCarlo(model, model_updater=None)¶
The loop for Bayesian Monte Carlo (BMC).
Nodes are samples from the integration measure. Implemented as described in Section 2.1 of the paper.
C.E. Rasmussen and Z. Ghahramani, Bayesian Monte Carlo, Advances in Neural Information Processing Systems 15 (NeurIPS) 2003
The BMC point calculator does not depend on past observations. Thus, running this BQ loop should be equivalent to sampling all points with MC from the measure, evaluating them as batch and then fitting a model to them. The purpose of this loop is convenience, as it can be used with the same interface as the active and adaptive learning schemes where point acquisition depends explicitly or implicitly (through hyperparameters) on the previous evaluations.
Hint: The default
FixedIntervalUpdaterupdates and optimizes the model after each new sample. Since the sampling scheme of BMC does not depend on the model, alternatively, the dummy updater
NoopModelUpdatermay be used which does not update the model. This may save compute time. However, the model then needs to be updated manually after the loop ran: i) the collected nodes are stored in
model.loop_state. ii) call
model.set_data(loop_state.X, loop_state.Y)iii) call
- class emukit.quadrature.loop.VanillaBayesianQuadratureLoop(model, acquisition=None, model_updater=None, acquisition_optimizer=None)¶
The loop for standard (‘vanilla’) Bayesian Quadrature.
VanillaBayesianQuadrature) – The vanilla Bayesian quadrature model.
- class emukit.quadrature.loop.WSABILLoop(model, model_updater=None, acquisition_optimizer=None)¶
The loop for WSABI-L.
Gunter et al. 2014 Sampling for Inference in Probabilistic Models with Fast Bayesian Quadrature, Advances in Neural Information Processing Systems (NeurIPS), 27, pp. 2789–2797.
WSABIL) – The WSABI-L model.
Point calculators for Bayesian quadrature.
- class emukit.quadrature.loop.point_calculators.BayesianMonteCarloPointCalculator(model, parameter_space)¶
This point calculator produces Monte Carlo points from the integration measure.
It can be used for Bayesian Monte Carlo (BMC)  as described in Section 2.1 of the paper.
 C.E. Rasmussen and Z. Ghahramani, Bayesian Monte Carlo, Advances in Neural Information Processing Systems 15 (NeurIPS) 2003
ValueError – If integration measure provided through the model does have sampling capabilities.
- compute_next_points(loop_state, context=None)¶
Computes the next point.
- Return type
The next point to evaluate the function at, shape (1, input_dim).