optimization - Hyperopt 在执行期间设置超时并修改空间

标签 optimization machine-learning scikit-learn deep-learning

如果有人可以提供帮助:

  1. 如何为每个单独的测试设置超时?整个实验超时?
  2. 如何设置渐进策略,在实验的不同阶段消除/修剪搜索空间中最差得分分支的百分比(同时使用当前的优化算法)? IE。在最大总实验的 30% 时,它可以删除 50% 得分最差的分类器及其所有超参数分支,以将其从即将进行的测试中删除。然后,同样的过程在 60% 时...

非常感谢!

最佳答案

以下是我在 hyperopt 的 github 上的交流:

  1. 没有每次试验超时,但 hyperopt-sklearn 仅通过包装函数来实现自己的解决方案。请在 https://github.com/hyperopt/hyperopt-sklearn/ 查找“fn_with_timeout” .

  2. 来自问题 210:“优化器是无状态的,fmin 将实验的所有状态存储在试验对象中。因此,如果您从试验对象中删除一些实验,就好像它们从未发生过一样。使用 fmin 的” max_evals“参数可以根据您需要进行此类修改的频率来中断搜索。如果您想要真正细粒度的控制,那么使用重复调用应该没问题,例如 max_evals 每次增加 1。”

关于optimization - Hyperopt 在执行期间设置超时并修改空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24673739/

相关文章:

java - Java中大查找值的高效实现

python - 使用 Climin 在 Theano 中实现逻辑回归

python - 我应该使用什么来代替 Bootstrap?

javascript - 单位圆内的 10 个点 - 寻找 D3 力布局的最佳分布?

c++ - 无符号模数 : alternative approach?

apache-spark - Scala 到 Java 8 MLeap 翻译

python - eli5 permuter.feature_importances_ 返回全零

python - tfidfvectorizer 在保存的分类器中预测

python - 以最小误差求解非线性方程组

python - 如何处理 sklearn 中 GradientBoostingClassifier 中的大量缺失值