Hyperopt 提供了什么样的设置来调整探索与利用之间的平衡?代码中有“bandit”和“bandit_algo”之类的东西,但没有解释。
有人可以提供任何代码示例。
非常感谢您的帮助!
Hyperopt 提供了什么样的设置来调整探索与利用之间的平衡?代码中有“bandit”和“bandit_algo”之类的东西,但没有解释。
有人可以提供任何代码示例。
非常感谢您的帮助!
我刚刚发现 hyperopt partial() 是优化器算法的神奇包装函数。它允许在不同的策略和 E/E 之间取得平衡:
部分返回随机选择的建议函数的结果。例如,有时使用随机搜索,有时使用退火,有时使用 tpe 进行搜索,请键入:
fmin(...,
algo=partial(mix.suggest,
p_suggest=[
(.1, rand.suggest),
(.2, anneal.suggest),
(.7, tpe.suggest),]),
)
参数“p_suggest”:(概率,建议)对列表。从其中一个建议功能中提出建议,与其相应的概率成比例。sum(probabilities) 必须 [接近] 1.0。
如果您想要更清晰地控制算法进程:您可以利用 hyperopt 优化器算法是无状态的这一事实,并返回可以作为输入提供给新 fmin 的试验对象以继续该过程。然后您可以使用 max_evals 为 1 调用 fmin 并在循环中处理该过程,因此您可以在每次迭代之间修改“试验”和“建议算法”。