boax.acquisitions.log_expected_improvement

boax.acquisitions.log_expected_improvement#

boax.acquisitions.log_expected_improvement(bounds, improvement_factor=1.0, num_raw_samples=512, num_restarts=10)#

The Log Expected Improvement acquisition function.

Logarithm of the expected improvement over the best function value observed so far.

LogEI(x) = log(E(max(f(x) - best, 0))),

where the expectation is taken over the value of stochastic function f at x.

References

Ament, Sebastian, et al. “Unexpected improvements to expected improvement for bayesian optimization.” arXiv preprint arXiv:2310.20708 (2023).

Example

>>> acqf = log_expected_improvement(0.2, model)
>>> log_ei = acqf(index_points)
Parameters:
  • best – The best function value observed so far.

  • model – The surrogate model.

Return type:

Acquisition

Returns:

The corresponding Acquisition.