我试图使用LSTM对时间序列的数据,以产生未来的序列,看上去像原来的序列在数值和进展方向。我的方法是:
通过使用LSTM单元,我发现模型无法生成看起来像原始数据的序列。它只预测下一个值,然后开始收敛到“平衡”或静态值,无论输入序列是什么,它都是相同的。
我在想,Stateful是否会帮助我们更好地从过去的价值观中学习,并试图预测一些接近它已经拥有的东西呢?我的目标是生成看起来像模型已经看到的序列。
请告诉我,如果我遗漏了什么,或者您是否有类似的情况,并且您找到了生成时序序列的最佳方法,这看起来就像模型在过去学到的一样。
发布于 2018-06-04 07:45:03
关于有状态的LSTM及其理解,请参阅这里。这里引用了一个答案:
“给我一个大序列(例如时间序列),我把它分解成较小的序列来构造我的输入矩阵X。LSTM是否可能在序列之间找到依赖关系?”
不,除非你选择有状态的LSTM,否则是不可能的。大多数问题都可以用无状态LSTM解决,所以如果您采用有状态模式,请确保您确实需要它。在无状态模式下,长期内存并不意味着LSTM将记住前几批的内容。“
因此,如果您希望保存神经元的状态以供下一次训练,而不是重新设置,有状态是有用的。
“我的目标是生成看上去像模型已经看到的东西的序列。”
那么也许sequence2sequence (seq2seq) LSTM编解码器正是你所需要的.
发布于 2018-04-05 06:26:45
你应该在一个移动的X上训练你的Y。然后通过新的weights.h5和预测,如图所示。
https://datascience.stackexchange.com/questions/26663
复制相似问题