我对 n_points 在 skopt BayesSearchCV 中的工作方式感到困惑。据我了解,贝叶斯搜索是顺序的。但是在 skopt BayesSearchCV 中,我们可以设置 n_point 参数,该参数指定要并行采样的参数设置的数量。这种并行性如何工作?它是执行 n_points 数量的独立贝叶斯搜索还是执行批量贝叶斯优化?
问问题
112 次
1 回答
0
基于源代码,在优化的每一步BayesSearchCV
生成并尝试一批大小的参数集。n_points
(见BayesSearchCV._step
和optimzer.ask
)
因此批处理中的参数集是使用相同数量的参数空间“知识”生成的。这权衡了更快地搜索参数空间(假设n_jobs
> 1)与尝试不良参数集的风险增加。
请注意,批量大小将从n_iter
计数中减去,因此尝试的参数集数量和贝叶斯优化的迭代次数之间存在区别。比如 ifn_iter=100
和n_points=5
then 会有 20 轮优化。
于 2021-12-09T21:31:25.037 回答