我的时间序列模型即将完成,数据也收集得差不多了,现在卡在了超参数优化上。
经过大量的搜索,我发现了一个新的且不错的库叫做ultraopt,但问题是,我应该从我的总数据量(约150 GB)中取多少数据来进行超参数调整呢?我想尝试很多算法和组合,有没有更快更简单的办法?
或者
是否有相关的数学方法,比如,我的总数据量为100%,
用5%的数据量进行超参数优化,
然后用剩下的95%的数据量对优化后的超参数进行某种操作或验证,#类似这样的方法
以达到与使用全部数据进行优化时相似的结果。有什么快捷方式吗?
我使用的是Python 3.7,CPU:AMD Ryzen 5 3400G,GPU:AMD Vega 11,内存:16 GB
回答:
超参数调整通常在训练-验证-测试数据集的验证集上进行,每个部分的划分大致为整个数据集的70%、10%和20%。作为基准,随机搜索可以使用,而基于高斯过程的贝叶斯优化已被证明在计算效率上更高。scikit-optimize是一个不错的工具包,可以用于此目的。