skopt BayesSearchCV 中的 n_points 是如何工作的?

Posted

技术标签:

【中文标题】skopt BayesSearchCV 中的 n_points 是如何工作的?【英文标题】:How does n_points in skopt BayesSearchCV work? 【发布时间】:2021-09-10 10:39:36 【问题描述】:

我对 n_points 在 skopt BayesSearchCV 中的工作方式感到困惑。据我了解,贝叶斯搜索是顺序的。但是在 skopt BayesSearchCV 中,我们可以设置 n_point 参数,该参数指定要并行采样的参数设置的数量。这种并行性如何工作?它是做 n_points 个独立的贝叶斯搜索还是执行批量贝叶斯优化?

【问题讨论】:

【参考方案1】:

基于source code,BayesSearchCV 在优化的每个步骤中生成并尝试一批大小为n_points 的参数集。 (见BayesSearchCV._stepoptimzer.ask

因此,批处理中的参数集是使用相同数量的参数空间“知识”生成的。这权衡了更快地搜索参数空间(假设n_jobs > 1)与尝试不良参数集的风险增加。

请注意,批量大小将从n_iter 计数中减去,因此尝试的参数集数量和贝叶斯优化的迭代次数之间存在区别。比如n_iter=100n_points=5,那么会有20轮优化。

【讨论】:

以上是关于skopt BayesSearchCV 中的 n_points 是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

使用 skopt 优化超参数 hidden_​​layer_size MLPClassifier

从 Skopt 中的检查点恢复 gp_minimize 进程

从skopt中的检查点恢复高斯过程

skopt学习之路1-函数介绍:dummy_minimize

BayesSearchCV 在 SGDClassifier 参数调整期间不起作用

可以限制 skopt.Lhs.generate 的结果吗?