View source on GitHub
  
 | 
Parallel upper confidence bound acquisition function.
Inherits From: AcquisitionFunction
tfp.experimental.bayesopt.acquisition.ParallelUpperConfidenceBound(
    predictive_distribution,
    observations,
    seed=None,
    exploration=0.01,
    num_samples=100,
    transform_fn=None
)
Computes the q-UCB based on observed data using a stochastic process surrogate
model. The computation is of the form mean + exploration * stddev.
Requires that predictive_distribution has a sample method.
Examples
Build and evaluate a Parallel Upper Confidence Bound acquisition function.
import numpy as np
import tensorflow_probability as tfp
tfd = tfp.distributions
tfpk = tfp.math.psd_kernels
tfp_acq = tfp.experimental.bayesopt.acquisition
# Sample 10 20-dimensional index points and associated observations.
index_points = np.random.uniform(size=[10, 20])
observations = np.random.uniform(size=[10])
# Build a GP regression model conditioned on observed data.
dist = tfd.GaussianProcessRegressionModel(
    kernel=tfpk.ExponentiatedQuadratic(),
    observation_index_points=index_points,
    observations=observations)
gp_pucb = tfp_acq.ParallelUpperConfidenceBound(
    predictive_distribution=dist,
    observations=observations,
    exploration=0.05,
    num_samples=int(2e4))
# Evaluate the acquisition function at a set of predictive index points.
pred_index_points = np.random.uniform(size=[6, 20])
acq_fn_vals = gp_pucb(pred_index_points)  # Has shape [6].
Methods
__call__
__call__(
    **kwargs
)
Computes the Parallel Upper Confidence Bound.
| Args | |
|---|---|
**kwargs
 | 
Keyword args passed on to the sample method of
predictive_distribution.
 | 
| Returns | |
|---|---|
Parallel upper confidence bounds at index points implied by
predictive_distribution (or overridden in **kwargs).
 | 
References
[1] J. Wilson, R. Moriconi, F. Hutter, M. Deisenroth The reparameterization trick for acquisition functions https://bayesopt.github.io/papers/2017/32.pdf
    View source on GitHub