2

Libraries like hyperopt or scikit-optimize allow one to optimize a black-box function. However, they do not allow specifying contextual information outside of the parameters to be chosen by the acquisition function. Is there a similar (to skopt) library or methodology that essentially performs the same thing as hyperparameter optimization (global noisy function optimization) where known, fixed state or context is allowed to be specified?

Hypothetical problem for motivation:

Suppose I own an umbrella shop, in which I am able to control price, ad spend, etc. But I also want to specify an important boolean, rain_forecasted as context to be provided to my optimization objective, even though I have no control over it. Thus, I will need to find the optimal function parameters, given one parameter that is outside of my control. I am concerned with cumulative regret; not just finding the best-possible choice as in hyperparameter optimization. E.g. I want to maximize sales over all time. The maximum target response is bounded, but is also noisy.

Maybe I should be implementing something custom with GaussianProcessRegressor?

Brian Bien
  • 592
  • 3
  • 19
  • have you had a look at https://esa.github.io/pygmo/. you can specify your loss function on many optimisation algorithms – Tom Jan 09 '20 at 18:26

0 Answers0