I read some posts and tutorials about BayesianOptimization
and I never saw explanation about kappa
variable.
- What is the
kappa
variable ? - How can it help us ?
- How this values can influence the
BayesianOptimization
process ?
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
kappa
parameter, along withxi
, is used to control how much the Bayesian optimization acquisition function balances exploration and exploitation.Higher
kappa
values 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
kappa
values at the start of optimization and then lower values if you reduce the search space.In scikit-optimize,
kappa
is only used if the acquisition functionacq_func
is set to “LCB” andxi
is used whenacq_func
is “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
kappa
values: 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.