Keras中LSTM的多变量输出的输出序列

时间:2018-11-10 23:25:08

标签: keras output lstm

请帮助了解如何在Keras中形成LSTM网络的输出序列。 例如我有数据

[[1]
 [2]
 [3]
 [4]
 [5]]

我可以按照[样本,时间步长,特征]张量输入序列 -假设3个输入序列和2个输出。所以

Input seq      Output seq
[[[1,2,3]]] -> [[4, 5]] 

但是多变量输入和输出呢?!
神经网络可能是几个神经元-每个特征一个神经元 示例(两个要素数据,两个要素输入和两个要素输出):

数据:

[[1, 10]
 [2, 20]
 [3, 30]
 [4, 40]
 [5, 50]]

输入张量(样本,时间步长-3,特征-2)

[[[1, 2, 3], [10, 20, 30]]]

但是Y的输出矩阵

[[4, 5, 30, 40]] 
  • 但是这并不意味着我们完全陷入混乱 不同的功能!!!

我是否可以得出结论,对于Keras,我们只能形成输出序列 一项功能?

谢谢

1 个答案:

答案 0 :(得分:0)

对于多变量,如果数据具有您在问题中提到的2个特征,也将是类似的:

[[1, 10]
 [2, 20]
 [3, 30]
 [4, 40]
 [5, 50]]

您想使用Input tensor (samples, timesteps - 3, features - 2)进行准备,即3个时间步长,每个记录都有2个变量,则如下所示:

 x=[
      [[1,10],[2,20],[3,30]],
      [[2,20],[3,30],[4,40]],
      [[3,30],[4,40],[5,50]]       
  ]
y=[[4, 5],[5,6],[6,7]] 

我只是假设您的值分别为6和7,否则根据给定的数据,您在x中只能有一个(1)记录,即(1个样本,3个时间步长,2个专长)

 x=[
          [[1,10],[2,20],[3,30]]
   ]

只有y个记录

y=[[4, 5]]