Skip to content

Expected Improvement

ExpectedImprovement dataclass

ExpectedImprovement()

Bases: AbstractSinglePointUtilityFunctionBuilder

Expected Improvement acquisition function as introduced by Močkus, 1974. The "best" incumbent value is defined as the lowest posterior mean value evaluated at the the previously observed points. This enables the acquisition function to be utilised with noisy observations.

check_objective_present

check_objective_present(posteriors, datasets)

Check that the objective posterior and dataset are present in the posteriors and datasets.

Parameters:

  • posteriors (Mapping[str, AbstractPosterior]) –

    dictionary of posteriors to be used to form the utility function.

  • datasets (Mapping[str, Dataset]) –

    dictionary of datasets which may be used to form the utility function.

Raises:

  • ValueError –

    If the objective posterior or dataset are not present in the posteriors or datasets.

build_utility_function

build_utility_function(posteriors, datasets, key)

Build the Expected Improvement acquisition function. This computes the expected improvement over the "best" of the previously observed points, utilising the posterior distribution of the surrogate model. For posterior distribution f(β‹…)f(\cdot), and best incumbent value Ξ·\eta, this is defined as:

Ξ±EI(x)=E[max⁑(0,Ξ·βˆ’f(x))] \alpha_{\text{EI}}(\mathbf{x}) = \mathbb{E}\left[\max(0, \eta - f(\mathbf{x}))\right]

Parameters:

  • posteriors (Mapping[str, ConjugatePosterior]) –

    Dictionary of posteriors to

  • datasets (Mapping[str, Dataset]) –

    Dictionary of datasets used to form the

  • key (KeyArray) –

    JAX PRNG key used for random number generation.

Returns: