BOHB - 贝叶斯优化与 Hyperband¶
-
class
hpbandster.optimizers.bohb.
BOHB
(configspace=None, eta=3, min_budget=0.01, max_budget=1, min_points_in_model=None, top_n_percent=15, num_samples=64, random_fraction=0.3333333333333333, bandwidth_factor=3, min_bandwidth=0.001, **kwargs)[source]¶ BOHB 通过将 Hyperband 搜索的速度与贝叶斯优化的指导和收敛保证相结合,在大规模场景下执行鲁棒高效的超参数优化。BOHB 不会随机采样新配置,而是使用核密度估计器来选择有前景的候选配置。
参考
@InProceedings{falkner-icml-18, title = {{BOHB}: Robust and Efficient Hyperparameter Optimization at Scale}, author = {Falkner, Stefan and Klein, Aaron and Hutter, Frank}, booktitle = {Proceedings of the 35th International Conference on Machine Learning}, pages = {1436--1445}, year = {2018}, }
参数 - configspace (ConfigSpace object) – 搜索空间的有效表示
- eta (float) – 在每次迭代中,都会执行完整的连续减半(sequential halving)。在此过程中,在对每种配置在相同的子集大小上进行评估后,只有其中 1/eta 的配置“晋级”到下一轮。必须大于或等于 2。
- min_budget (float) – 要考虑的最小预算。必须是正数!
- max_budget (float) – 要考虑的最大预算。必须大于 min_budget!预算将按几何分布 \(a^2 + b^2 = c^2 \sim \eta^k\) 分布,其中 \(k\in [0, 1, ... , num\_subsets - 1]\)。
- min_points_in_model (int) – 开始构建 KDE 所需的观测数量。默认值为 'None',表示 dim+1,这是最低限度。
- top_n_percent (int) – 被认为是好的观测值的百分比(介于 1 和 99 之间,默认值 15)。
- num_samples (int) – 优化 EI 的样本数量(默认值 64)
- random_fraction (float) – 在没有模型的情况下从先验中采样的纯随机配置的比例。
- bandwidth_factor (float) – 为了鼓励多样性,建议优化 EI 的点是从一个“加宽的”KDE 中采样的,其中带宽乘以该因子(默认值:3)。
- min_bandwidth (float) – 为了保持多样性,即使所有(好的)样本在某个参数上具有相同的值,也使用最小带宽(默认值:1e-3)而不是零。
- iteration_kwargs (dict) – 要添加到每次迭代实例化中的 kwargs 参数