tfp.experimental.bayesopt.acquisition.AcquisitionFunction

Base class for acquisition functions.

Acquisition Functions are (relatively) inexpensive functions that guide Bayesian Optimization search. Typically, their values at points will correspond to how desirable it is to evaluate the function at that point. This desirability can come in the form of improving information about the black box function (exploration) or trying to find an extrema given past evaluations (exploitation).

TFP acquisition functions are callable objects that may be instantiated with subclass-specific parameters. This design enables expensive one-time computation to be run in __init__ before the acquisition function is called repeatedly, for example during optimization. The AcquisitionFunction base class is instantiated with a predictive distribution (typically an instance of tfd.GaussianProcessRegressionModel, tfd.StudentTProcessRegressionModel, or tfp.experimental.distributions.MultiTaskGaussianProcessRegressionModel), previously-observed function values, and an optional random seed. The __call__ method evaluates the acquisition function.

predictive_distribution tfd.Distribution-like, the distribution over observations at a set of index points.
observations Float Tensor of observations.
seed PRNG seed; see tfp.random.sanitize_seed for details.

is_parallel Python bool indicating whether the acquisition function is parallel.

Parallel (batched) acquisition functions evaluate batches of points rather than single points.

observations Float Tensor of observations.
predictive_distribution The distribution over observations at a set of index points.
seed PRNG seed.

Methods

__call__

View source

Call self as a function.