在學習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