在TensorFlow中,LSTM的输入数据维度是[批次大小, 序列长度, 输入维度]。
- 序列长度和输入维度分别代表什么意思?
- 如果我的输入数据形式为:[[[1.23] [2.24] [5.68] [9.54] [6.90] [7.74] [3.26]]],如何为它们分配值?
回答:
LSTM是递归神经网络的一个子类。递归神经网络默认应用于序列数据,这意味着数据样本随时间轴变化。数据样本的完整历史可以通过有限时间窗口内的样本值来描述,即如果你的数据处于N维空间并随t个时间步变化,你的输入表示必须是形状为(num_samples, t, N)的形式。
你的数据不符合上述描述。然而,我假设这种表示意味着你有一个标量值x,它在7个时间实例上变化,例如x[0] = 1.23,x[1] = 2.24,等等。
如果是这样,你需要重新调整你的输入,使其不是由7个元素组成的列表,而是形状为(7,1)的数组。然后,你的完整数据可以用形状为(num_samples, 7, 1)的三阶张量来描述,这可以被LSTM接受。