GPyOpt

GPyOpt does this and that…

For details please refer to http://sheffieldml.github.io/GPyOpt/

Not sure why it is not showing the docstring and Args here below…?

class olympus.planners.Gpyopt(goal='minimize', batch_size=1, exact_eval=True, model_type='GP_MCMC', acquisition_type='EI_MCMC')[source]

Gaussian Process optimization as implemented in GPyOpt.

Parameters
  • goal (str) – The optimization goal, either ‘minimize’ or ‘maximize’. Default is ‘minimize’.

  • batch_size (int) – size of the batch in which the objective is evaluated.

  • exact_eval (bool) – whether the outputs are exact.

  • model_type (str) – type of model to use as surrogate. ‘GP’: standard Gaussian process. ‘GP_MCMC’: Gaussian process with prior in the hyper-parameters. ‘sparseGP’: sparse Gaussian process. ‘warperdGP’: warped Gaussian process. ‘InputWarpedGP’: input warped Gaussian process. ‘RF’: random forest (scikit-learn).

  • acquisition_type (str) – type of acquisition function to use. ‘EI’: expected improvement. ‘EI_MCMC’: integrated expected improvement (requires GP_MCMC model). ‘MPI’: maximum probability of improvement. ‘MPI_MCMC’: maximum probability of improvement (requires GP_MCMC model). ‘LCB’: GP-Lower confidence bound. ‘LCB_MCMC’: integrated GP-Lower confidence bound (requires GP_MCMC model).

Methods

tell([observations])

Provide the planner with all previous observations.

ask([return_as])

suggest new set of parameters

recommend([observations, return_as])

Consecutively executes tell and ask: tell the planner about all previous observations, and ask about the next query point.

optimize(emulator[, num_iter, verbose])

Optimizes a surface for a fixed number of iterations.

set_param_space(param_space)

Defines the parameter space over which the planner will search.

ask(return_as=None)

suggest new set of parameters

Parameters

return_as (string) – choose data type for returned parameters allowed options (dict, array)

Returns

newly generated parameters

Return type

ParameterVector

optimize(emulator, num_iter=1, verbose=False)

Optimizes a surface for a fixed number of iterations.

Parameters
  • emulator (object) – Emulator or a Surface instance to optimize over.

  • num_iter (int) – Maximum number of iterations allowed.

  • verbose (bool) – Whether to print information to screen.

Returns

Campaign object with information about the optimization, including all parameters

tested and measurements obtained.

Return type

campaign (Campaign)

recommend(observations=None, return_as=None)

Consecutively executes tell and ask: tell the planner about all previous observations, and ask about the next query point.

Parameters
  • observations (list of ???) –

  • return_as (string) – choose data type for returned parameters allowed options (dict, array)

Returns

newly generated parameters

Return type

list

set_param_space(param_space)

Defines the parameter space over which the planner will search.

Parameters

param_space (ParameterSpace) – a ParameterSpace object defining the space over which to search.

tell(observations=<olympus.campaigns.observations.Observations object>)

Provide the planner with all previous observations.

Parameters

observations (Observations) – an Observation object containing all previous observations. This defines the history of the campaign seen by the planner. The default is None, i.e. there are no previous observations.