首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用GridSearchCV优化Keras模型中的历元

用GridSearchCV优化Keras模型中的历元
EN

Stack Overflow用户
提问于 2019-08-03 21:37:07
回答 2查看 940关注 0票数 0

我看到了各种帖子/指南,以及一个Udemy课程,它建议通过GridSearchCV优化用于训练Keras模型的历次是个好主意。

  1. 当你训练一个400年代的模型时,你也训练了200次。
  2. 当你训练一个400年代的模型时,最好的时期可以是400年代中的任何一个。

也就是说,如果您使用GridSearchCV来训练一个模型,这种方法没有考虑到这一点,它只是在比较不同的模型时考虑到最后一个时代。当你做了200个和400个GridSearchCV的时候,它训练了一个200个历元的模型,然后,从零开始,训练400个历元的模型。

因此,在我看来,使用GridSearchCV来优化您所处的时代数:

  1. 训练“重复”、“无用”时代。
  2. 虽然信息是可用的,但实际上找不到最佳的年代数。

我的问题是:

  • 一个意识到正在运行的时代的方法难道不是更有意义吗?是否有任何理由在实践中使用上述方法?
  • 如果描述的方法是一种糟糕的方法,并且我想以一种更优化的方式进行这种搜索,那么有什么“标准”的方法吗?也许早停?如果我们正在优化多个超参数呢?早停+ GridSearchCV?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-03 22:08:07

查看EarlyStopping Keras回调。当参数化的度量没有随着时间的推移而改善时,早期停止回调就停止训练,并且总是返回使所选度量最大化的模型。此外,根据您的用例耐心,kwarg应该是有用的。

查看这里的文档:https://keras.io/callbacks/

要找到最佳的超参数,请检查Keras调谐器:https://github.com/keras-team/keras-tuner

票数 1
EN

Stack Overflow用户

发布于 2020-01-31 16:01:34

您甚至可以使用Keras调谐器和早期停止回调的组合,这样就可以同时优化多个超参数。

在定义调谐器搜索函数时,可以添加回调:

代码语言:javascript
复制
import tensorflow as tf

tuner.search(
  train_data,
  validation_data=validation_data,
  epochs=number_of_epochs,
  callbacks=[tf.keras.callbacks.EarlyStopping(patience=1)]
)

对于Keras,您有不同的选项来选择调谐器。

库文档有示例,或者您也可以看到这个教程,说明如何使用Keras调谐器进行超参数调优

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57342269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档