如何在大数据中进行超参数优化?
Posted
技术标签:
【中文标题】如何在大数据中进行超参数优化?【英文标题】:how to do hyperparameter optimization in large data? 【发布时间】:2021-11-23 22:10:34 【问题描述】:我几乎完成了我的时间序列模型,收集了足够的数据,现在我陷入了超参数优化。
经过大量谷歌搜索后,我发现了一个名为 ultraopt 的新的优秀库,但问题是我应该从我的总数据 (~150 GB) 中使用多少数据片段来进行超参数调整。而且我想尝试很多算法和组合,有没有更快更简单的方法?
或者
是否涉及任何数学问题,例如, 我的数据 = 100% 大小
使用 5% 的 mydatasize 优化超参数,
优化的超参数 *or+ 或剩余 95% 的数据大小#something like this
一次获得与用于优化的完整数据相似的结果。这些有什么捷径吗?
我正在使用 Python 3.7, CPU:AMD锐龙5 3400g, 显卡:AMD Vega 11, 内存:16 GB
【问题讨论】:
【参考方案1】:超参数调整通常在训练-验证-测试拆分的验证集上完成,其中每个拆分将分别占整个数据集的 70%、10% 和 20%。作为基线,可以使用随机搜索,而 Bayesian optimization with Gaussian processes 已被证明具有更高的计算效率。 scikit-optimize 是一个很好的包。
【讨论】:
谢谢它帮了我很多,之后我用谷歌搜索它找到了这些网站,它提供了关于[优化]的很好信息(blog.floydhub.com/…)【参考方案2】:一个很好的超参数调优python库是keras tuner
。您可以在这个库中使用不同的调谐器,但对于大数据,正如您所提到的,Hyperband Optimization
可能是最先进的且合适的。
【讨论】:
感谢您回答 iam 使用 darts 库进行时间序列预测我无法使用 keras 调谐器,但我将实施超频带优化技术。 @UjwalS,当然可以,因为有多个调谐器,例如 scikit learn tuner。以上是关于如何在大数据中进行超参数优化?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用hyperopt进行Keras深度学习网络的超参数优化?
如何在 GridSearchCV 的 keras 模型的超参数优化中使用简单的验证集?