在学习LSTM时,我对网络结构总是不太清楚,看了几篇博客,特来整理一下
LSTM的输入形式为三维向量:[samples, timesteps, features]
- samples 输入LSTM的样本的数量
- timesteps 窗口大小,即截取的样本长度(拿多长的样本进行预测)
- features 样本的维度
在构建LSTM网络时,我们常用到下面的句子
以下三个句子等价
#表述1
model.add(LSTM(input_dim=2, output_dim=8,input_length=3, return_sequences=True))
#表述2
model.add(LSTM(8, input_dim=2, input_length=3, return_sequences=True))
#表述3
model.add(LSTM(8, input_shape=(3, 2),return_sequences=True))
- input_dim 输入维度=2 (与输入形式的features一样)
- output_dim 输出维度=8
- input_length 输入长度/窗口大小=3(与输入形式的timesteps一样)
上面句子表示预测一个具有二维特征的时间序列,用3个连续序列预测后三个序列,输入数据为2维,输出数据为8维
如下图所示:
相当于输入为3*2, 输出为3 * 8
参考:
https://blog.csdn.net/luoganttcc/article/details/78981815
https://blog.csdn.net/qq_35649669/article/details/89575949
https://blog.csdn.net/jiangpeng59/article/details/77646186