Keras では、時系列データは通常、ディメンション [サンプル、タイム ステップ、特徴]。この形式は、時間の経過とともにデータを順次処理する LSTM レイヤーに必要です。
たとえば、それぞれ 10 のタイム ステップと 1 つのタイム ステップを持つ 5 つのトレーニング シーケンスがあるとします。この機能を使用すると、データは (5, 10, 1) に再形成されます。
ステートフル LSTM を使用すると、モデルはバッチ間で内部状態を維持できます。これは、モデルがバッチの処理後に隠れた状態を記憶し、それを次のバッチの入力として使用することを意味します。これは、現在の出力が前の入力に依存するシーケンシャル データを扱う場合に特に便利です。
提供した Keras コードでは、stateful=True が True に設定されており、LSTM がステートフルであることを示しています。 Batch_size は 1 に設定されます。これは、モデルが一度に 1 つのシーケンスを処理することを意味します。モデルはトレーニング実行間でセル メモリ値を保持するため、データ内の長期的な依存関係を学習できます。
各時間ステップに複数の入力特徴 (株価など) がある多変量時系列を使用している場合)、特徴の数は 1 より大きくなります。
提供した Keras LSTM 実装4 つのユニットと True の戻りシーケンスを持つ単一の LSTM 層があります。これは、LSTM が入力タイム ステップごとに長さ 4 のシーケンスを出力することを意味します。
その後、モデルは平均二乗誤差損失関数と Adam オプティマイザーを使用してコンパイルされます。トレーニング ループは、バッチ サイズ 1 で 100 エポック繰り返します。
この LSTM モデルは、前のタイム ステップに基づいて次のタイム ステップを予測するように設計されていることに注意することが重要です。ただし、出力層や損失関数を変更することで、シーケンス分類や言語モデリングなどの他のタスク用にモデルを変更できます。
以上がKeras LSTM で使用するために時系列データを再形成するにはどうすればよいですか? また、ステートフル LSTM とパラメータ「タイム ステップ」および「特徴」の重要性は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。