gpt4 book ai didi

time-series - 使用 Keras 预测 future 时间序列值的 lstm

转载 作者:行者123 更新时间:2023-12-02 01:15:58 25 4
gpt4 key购买 nike

我想预测多变量时间序列的 future 值。我使用此代码作为模板,但将输出激活修改为线性

https://gist.github.com/karpathy/587454dc0146a6ae21fc

输入数据是一个 8 维 double 向量序列。输出是比输入序列早一个时间段的相同 8 维向量。这就是选择线性激活的原因。

model = Sequential()
model.add(LSTM(512, input_dim=len(chars),return_sequences=True)) #minesh witout specifying the input_length
model.add(LSTM(512, return_sequences=True)) #- original
model.add(Dropout(0.2))
model.add(TimeDistributed(Dense(len(chars))))
model.add(Activation('linear'))
model.compile(loss='mean_squared_error', optimizer='rmsprop')

我是 Keras 和 RNN 的新手。有人可以确认这个设计吗?

最佳答案

您在每个样本中有 8x2 个输入,对于这 8 个时间步长中的每一个,您都编码了 512 个您跟踪的特征。话又说回来,512个值……参数的数量一定很大吧?我希望你有足够的数据和模式的多样性来使用大量的参数,否则你会过拟合。

我还建议您像这样对 LSTM 使用 dropout:

model.add(LSTM(512, return_sequences=True, dropout_W = 0.2)) #- original

还有 dropout_U 功能,但我不会使用它。如您所知,LSTM 有多个门,每个门都是密集层,因此您可以选择要在哪个门上应用 dropout。最佳做法是将其应用于输入门 (dropout_W) 而不是循环门 (dropout_U)。

否则整体架构是有意义的。

关于time-series - 使用 Keras 预测 future 时间序列值的 lstm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com