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”:(概率,建议)对的列表。根据建议功能之一,根据其相应的概率提出建议。总和(概率)必须为[接近] 1.0。

如果您希望对算法的执行过程进行更严格的控制:您可以使用以下事实:hyperopt优化程序算法是无状态的,并返回可以作为新fmin的输入提供的试验对象,以继续该过程。然后,您可以调用max_evals为1的fmin并循环处理该过程,因此您可以在每次迭代之间修改“试验”和“建议算法”。

07-24 09:53