deephyper.skopt.acquisition.gaussian_pi#

deephyper.skopt.acquisition.gaussian_pi(X, model, y_opt=0.0, xi=0.01, return_grad=False, deterministic=False)[source]#

Use the probability of improvement to calculate the acquisition values.

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

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

This means that the PI condition does not care about how “better” the predictions are than the previous values, since it gives an equal reward to all of them.

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],)