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._step
和optimzer.ask
)
因此,批处理中的参数集是使用相同数量的参数空间“知识”生成的。这权衡了更快地搜索参数空间(假设n_jobs
> 1)与尝试不良参数集的风险增加。
请注意,批量大小将从n_iter
计数中减去,因此尝试的参数集数量和贝叶斯优化的迭代次数之间存在区别。比如n_iter=100
和n_points=5
,那么会有20轮优化。
【讨论】:
以上是关于skopt BayesSearchCV 中的 n_points 是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章
使用 skopt 优化超参数 hidden_layer_size MLPClassifier
从 Skopt 中的检查点恢复 gp_minimize 进程
skopt学习之路1-函数介绍:dummy_minimize