I read some posts and tutorials about BayesianOptimization and I never saw explanation about kappa variable.
- What is the
kappavariable ? - How can it help us ?
- How this values can influence the
BayesianOptimizationprocess ?
I read some posts and tutorials about BayesianOptimization and I never saw explanation about kappa variable.
kappa variable ?BayesianOptimization process ?Copyright © 2021 Jogjafile Inc.
The
kappaparameter, along withxi, is used to control how much the Bayesian optimization acquisition function balances exploration and exploitation.Higher
kappavalues mean more exploration and less exploitation and vice versa for low values. Exploration pushes the search towards unexplored regions and exploitation focuses on results in the vicinity of the current best results by penalizing for higher variance values.It may be beneficial to begin with default
kappavalues at the start of optimization and then lower values if you reduce the search space.In scikit-optimize,
kappais only used if the acquisition functionacq_funcis set to “LCB” andxiis used whenacq_funcis “EI” or “PI” where LCB is Lower Confidence Bound, EI is Expected Improvement and PI is Probability of Improvement.Similarly for the BayesianOptimization package:
Mathematical details on acquisition functions
Note, the BayesianOptimization package and scikit-optimize use different default
kappavalues: 2.576 and 1.96 respectively.There is a decent exploration vs exploitation example in the scikit-optimize docs.
There is a similar BayesianOptimization exploration vs exploitation example notebook.
FWIW I've used both packages and gotten OK results. I find the scikit-optimize plotting functions to be useful when fine tuning the parameter search space.