deephyper.skopt.acquisition.gaussian_mes

Contents

deephyper.skopt.acquisition.gaussian_mes#

deephyper.skopt.acquisition.gaussian_mes(X, model, k_samples=10, deterministic=False)[source]#

Use the max-value entropy to calculate the acquisition values. Article: https://arxiv.org/abs/1703.01968 Source implementation: zi-w/Max-value-Entropy-Search

The conditional probability P(y=f(x) | x) form a gaussian with a certain mean and standard deviation approximated by the model.

The EI condition is derived by computing E[u(f(x))] where u(f(x)) = 0, if f(x) > y_opt and u(f(x)) = y_opt - f(x), if``f(x) < y_opt``.

This solves one of the issues of the PI condition by giving a reward proportional to the amount of improvement got.

Note that the value returned by this function should be maximized to obtain the X with maximum improvement.

Parameters:
  • X (array-like, shape=(n_samples, n_features)) – Values where the acquisition function should be computed.

  • model (sklearn estimator that implements predict with return_std) – The fit estimator that approximates the function through the method predict. It should have a return_std parameter that returns the standard deviation.

  • y_opt (float, default 0) – Previous minimum value which we would like to improve upon.

  • xi (float, default=0.01) – Controls how much improvement one wants over the previous best values. Useful only when method is set to “EI”

  • return_grad (boolean, optional) – Whether or not to return the grad. Implemented only for the case where X is a single sample.

Returns:

values – Acquisition function values computed at X.

Return type:

array-like, shape=(X.shape[0],)