我正在尝试解决时间序列预测问题。我尝试使用ANN和LSTM,使用各种参数进行了很多练习,但我能得到的只比持久性预测好8%。
所以我想知道:因为你可以在keras中保存模型;是否有任何预先训练的模型(LSTM,RNN或任何其他ANN)用于时间序列预测?如果是这样,我怎么得到它们?在Keras有吗?
我的意思是,如果有一个包含经过预先训练的模型的网站会非常有用,这样人们就不必花费太多时间训练它们。
同样,另一个问题是:
是否可以执行以下操作? 假设我现在有一个数据集,我用它来训练我的模型。假设在一个月内,我将访问另一个数据集(对应于相同的数据或类似数据,将来可能,但不是唯一的)。那么继续训练模型是否可能?与批量培训不同。当您分批进行时,您可以在一瞬间获得所有数据。 可能吗?怎么样?
答案 0 :(得分:7)
我先回答你的上一个问题。
那么可以继续训练模型吗?与批量培训不同。当您分批进行时,您可以在一瞬间获得所有数据。可能吗?怎么样?
是的,有可能。一般来说,它被称为transfer learning。但请记住,如果两个数据集代表非常不同的人口,网络将很快“忘记”它在第一次运行中学到的东西,并将优化到第二次。为此,您只需从loaded state开始训练而不是随机初始化,然后保存模型。还建议在第二次运行时使用较小的学习率,以便逐渐适应新数据。
是否有任何预先训练的模型(LSTM,RNN或任何其他ANN) 系列预测?如果是这样,我怎么得到它们?在Keras有吗?
我还没有找到一个预先训练好的模型,但快速搜索给了我几个活跃的GitHub项目,你可以运行并自己得到一个结果:Time Series Prediction with Machine Learning( LSTM,在tensorflow中的GRU实现),LSTM Neural Network for Time Series Prediction(keras和tensorflow),Time series predictions with Keras(keras和theano),Neural-Network-with-Financial-Time-Series-Data(keras和tensorflow)。另请参阅this post。
答案 1 :(得分:1)
现在您可以使用 BERT 或相关变体,在这里您可以找到所有预训练模型:https://huggingface.co/transformers/pretrained_models.html
并且可以对RNN进行预训练和微调,可以参考这篇论文:TimeNet: Pre-trained deep recurrent neural network for time series classification。