kerasのLSTMを使った予測モデルを構築をしたいと考えており、手始めにネットのExampleを触りながら理解しようとしております。
ただ、根本的にLSTMの構造自体を理解できていないため、以下の点に関して理解ができずに困っている状況です。
どなたかご教示いただけないでしょうか?
Example:大気汚染物質量?の予測
https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/
特徴量、予測したいもの、データ数、参照する過去の区間
特徴量:pollution, dew, temp, press, wnd_spd, snow, rain
予測したい値:1つ先のpollution
データ数:43800
参照する過去のデータ区間:3
記述されているアーキテクチャー
train_X.shape ---> (43800,3,8) 72 model=Sequential() 73 model.add(LSTM(50,input_shape=(train_X.shape[1],train_X.shape[2])) 74 model.add(Dense(1)) 75 model.compile(loss="mae",optimizer="adam")
質問
用意すべきinput_shapeのテンソルの形は以下のように理解しております。
input_shape(samples, timesteps, features)
=>input_shape(データ数, 時系列(参照する過去のデータ区間), 特徴ベクトル数)
73行目の記述により、LSTMのブロックを50個用意して、そこにInputShape=(train_X.shape[1],train_X.shape[2])=(3,8)が絡むのだろう、と想像するのですが、LSTMのブロック数50とInputShape=(3,8)がどのように関わるのか、絵として理解できません。
LSTMに詳しい方からご教示いただけると助かります。
お手数ですが、よろしくお願いします。
あなたの回答
tips
プレビュー