Matlab documents two ways to use LSTM networks进行回归:
lstmLayer(N, 'OutputMode', 'sequence'
。lstmLayer(N, 'OutputMode', 'last'
。在时间序列预测方面,两者之间有什么区别?什么时候应该使用另一个?
注释:An example for time-series prediction使用序列到序列的体系结构。如果您只需要预测下一个步骤,为什么要输出整个序列?我没有看到序列对一回归的任何示例。
答案 0 :(得分:0)
如果您要在给定序列之后预测i
事件,则可以使用seq-to-seq(大小为i
的第二个序列)以及何时要预测下一步输入序列,您可以使用seq-to-one
来预测输入序列的下一步。
答案 1 :(得分:0)
序列到序列:输出是LSTM单元在输入序列中每个时间步的隐藏状态。我们需要LSTM的状态,因为它消耗了序列中的每个点并考虑了其先前的状态。例如,当您要区分时间序列时,您想要序列中每个点的“梯度”:
x4 x3 x2 x1
[LSTM]
(h1)
x4 x3 x2 x1
[LSTM]
(h2) (h1)
x4 x3 x2 x1
[LSTM]
(h3) (h2) (h1)
LSTM基本上是将输入序列翻译为输出序列。输出为(h4) (h3) (h2) (h1)
。
一对一的顺序:在这种情况下,假设我们想要的只是消耗整个序列后LSTM的状态。例如,当您整合时间序列时,您希望在整合整个序列后获得最终结果:
x4 x3 x2 x1
[LSTM]
(h4) (h3) (h2) (h1)
因此输出将仅为(h4)
。