0

一般问题:使用 scikit-optimize 进行黑盒优化。在文档中找不到 model_queue_size 的作用。我正在做 ask-tell 因为我可以并行化 y 的计算,如示例中所述。因此,进行一些分析,看起来 opt.tell() 调用在 model_queue_size 设置较小时运行得更快。这就是 model_queue_size 所做的 - 限制 opt.tell() 调用中使用的样本数量?第二个问题,使用 Optimizier - ask-tell 方法时如何设置 kappa?

谢谢

4

1 回答 1

1

使用默认值时,model_queue_size=None所有代理模型都存储在优化器的models属性中。如果指定了数字,则只会model_queue_size记住模型。那是在文档中。
每次tell调用时都会添加一个新模型,一旦model_queue_size达到旧模型将被丢弃。因此,只会记住最新的模型。这可以通过查看代码看出。
不知道为什么这会影响您的情况下的运行时间。我想如果你运行多次迭代并且模型非常大,它可能是一个内存问题。

Kappa 可以通过使用构造函数的acq_func_kwargs参数来设置,如探索与利用示例中所示。Optimizer

于 2021-12-01T19:40:47.603 回答