更新了问题:这是一个很好的资源:http://machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/
请参阅"批次中的LSTM状态"。
如果我正确地解释了这一点,作者不需要将数据重新整形为x,y,z(正如他在前面的例子中所做的那样);他只是增加了批量大小。因此,LSTM单元隐藏状态(从一个时间步骤传递到下一个步骤的状态)从第0行开始,并且一直持续更新,直到批处理中的所有行都完成为止?是吗?
如果这是正确的,为什么一个人需要时间步长大于1?我可以不按顺序堆叠所有时间序列行,并将它们作为单个批次提供吗?
原始问题: 我试图理解为张量流量塑造数据的正确方法,尤其是在time_steps附近。四处阅读只会让我更加困惑,所以我想我会陷入其中并问。
我试图对时间序列数据进行建模,其中时间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]
我通过将1x1x5矩阵输入到我的x变量中来获得RNN模型。这意味着我的时间步骤'尺寸为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] ... 等