序列长度在LSTM中的作用

时间:2017-10-27 16:55:09

标签: machine-learning tensorflow neural-network lstm

我有更多关于LSTM的抽象问题。

所以我有时间序列数据,一长串让我们说30.000个数据点。

对于Tensorflow中的LSTM,输入形状为[batch_size,time_steps,features]。我的批量大小等于1,因为我只有一个时间序列。

现在我的问题是关于序列长度的作用。

我可以使用timestep = 1将整个时间序列传递到张量流LSTM,在这种情况下,整个时间序列将逐个插入到LSTM中。或者我可以使用一些> 1个时间步长并使其成为序列到序列模型。

这样,我可以一次插入7个数据点(=一周的数据)并预测7个输出(=未来一周)。

问题是,我们知道LSTM的隐藏状态最终将记住整个数据集(如果我们做足够的训练时期)。那么

之间有什么区别呢

a)时间步长= 1,我预测前一段时间,并将预测重新插入神经网络7次,

b)时间步长= 7,我预测序列为7(=一周)。

1 个答案:

答案 0 :(得分:0)

实际上,seq2seq(即你的第二个例子)训练起来要困难得多。在拟人化的术语中,你的lstm将面临相当大的压力,要将所有输入编码为单个向量,这个过程会丢弃相当多的信息,并以某种方式将单个向量解码为正确的7个输出顺序。