什么是 kappa 变量(贝叶斯优化)

what is the kappa variable (BayesianOptimization)

我阅读了一些关于 BayesianOptimization 的文章和教程,但我从未看到关于 kappa 变量的解释。

kappa 参数与 xi 一起用于控制贝叶斯优化采集函数平衡探索和开发的程度。

更高的 kappa 值意味着更多的探索和更少的开发,反之亦然。 Exploration 将搜索推向未探索的区域,而 exploitation 则通过惩罚更高的方差值来关注当前最佳结果附近的结果。

在优化开始时以默认 kappa 值开始可能会有所帮助,然后如果您减少搜索 space,则降低值 space。

在scikit-optimize中,kappa仅在采集函数acq_func设置为“LCB”时使用,xiacq_func为“EI”时使用”或“PI”,其中 LCB 是置信下限,EI 是预期改进,PI 是改进概率。

与 BayesianOptimization 包类似:

 acq: {'ucb', 'ei', 'poi'}
            The acquisition method used.
                * 'ucb' stands for the Upper Confidence Bounds method
                * 'ei' is the Expected Improvement method
                * 'poi' is the Probability Of Improvement criterion.

Mathematical details on acquisition functions

请注意,BayesianOptimization package and scikit-optimize 使用不同的默认 kappa 值:分别为 2.576 和 1.96。

有个像样的exploration vs exploitation example in the scikit-optimize docs.

有一个类似的BayesianOptimization exploration vs exploitation example notebook.

FWIW 我已经使用了这两个包并得到了不错的结果。我发现 scikit-optimize plotting functions 在微调参数搜索时很有用 space.