Updated question: 这是一个很好的资源:http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/

请参阅“批次中的LSTM状态”部分 .

如果我正确地解释了这一点,作者不需要将数据重新整形为x,y,z(正如他在前面的例子中所做的那样);他只是增加了批量大小 . 因此,LSTM单元隐藏状态(从一个时间步骤传递到下一个步骤的状态)从第0行开始,并且一直持续更新,直到批处理中的所有行都完成为止?是对的吗?

如果这是正确的,为什么一个人需要时间步长大于1?我可以不按顺序堆叠所有时间序列行,并将它们作为单个批次提供吗?

Original question: 我'm getting myself into an absolute muddle trying to understand the correct way to shape my data for tensorflow, particularly around time_steps. Reading around has only confused me further, so I thought I' d塌陷并问 .

我正在尝试建模时间序列数据,其中时间t的数据宽度为5列(5个特征,1个标签) .

那么t-1还将有另外5个特征,1个标签这是一个有2行的例子 . x = [1,1,1,1,1] y = [5] x = [2,2,2,2,2] y = [15]

我有一个RNN模型可以通过将1x1x5矩阵输入到我的x变量中来实现 . 这意味着我的'时间步长'的维度为1.但是与上面的例子一样,我输入的第二行与第一行相关(15 = 5(2 2 2 2 20,如果你没有发现它)

我正在进入它的方式是正确的吗?时间戳维度如何工作?

或者我应该把它当作批量大小,行,列在脑海中?

无论哪种方式都可以有人告诉我,我应该将输入数据重塑为什么尺寸?为了论证,假设我已经将数据拆分为1000个批次 . 因此,在这1000行中,我想要对每一行进行预测,但是RNN应该在我的批次中查看它上面的行以找出答案 .

x1 = [1,1,1,1,1] y = [5] x2 = [2,2,2,2,2] y = [15] ......等