ホームページ > バックエンド開発 > Python チュートリアル > タイム ステップと機能は Keras LSTM のパフォーマンスにどのような影響を与えますか?

タイム ステップと機能は Keras LSTM のパフォーマンスにどのような影響を与えますか?

Susan Sarandon
リリース: 2024-11-27 06:55:39
オリジナル
285 人が閲覧しました

How Do Time Steps and Features Affect Keras LSTM Performance?

Keras LSTM のタイム ステップと機能を理解する

質問に答えるために、関連するタイム ステップと機能の概念をさらに深く掘り下げてみましょうKeras に実装された LSTM へ。

タイム ステップと機能

提供されている Keras の例では、trainX データは次の形状に再形成されます:

(trainX.shape[0], look_back, 1)
ログイン後にコピー
  • 時間ステップ: look_back 値は各シーケンスのタイム ステップ数を表します。ここでは 3 に設定されており、trainX の各行に前の 3 つのデータ ポイントが含まれていることを意味します。
  • 特徴: シーケンス内の特徴の数は、データ テンソルの最後の次元に対応します。この場合、それは 1 であり、シーケンスに含まれる特徴が 1 つだけ (株価など) であることを示します。

Karpathy のブログからリンクした画像に関しては、各「ピンク」の四角形は 1 つの特徴を表し、 「緑色」の長方形は時間ステップを示します。したがって、画像内の図は、3 つのタイム ステップと 2 つの特徴を持つ時系列に対応します。

ステートフル LSTM

ステートフル LSTM は、それらを可能にする内部状態を維持します。特定のシーケンスの処理中に学んだことを思い出すためです。 Keras で使用する場合は、ステートフル パラメーターを True に設定します。

この例では、batch_size を 1 に設定し、shuffle=False でトレーニングに model.fit() を使用します。これは、各バッチに 1 つのシーケンスが含まれており、LSTM はトレーニング データに出現するのと同じ順序でシーケンスを処理していることを意味します。その結果、LSTM の状態がバッチ間で保持され、シーケンス全体から学習できるようになります。

トレーニング エポック間で LSTM の状態をリセットすることで、各エポックの学習プロセスを効果的に「やり直す」ことができます。 。ただし、LSTM はエポック全体で学習した全体的なパターンを記憶しています。

重要な注意事項

  • 複数の独立したシーケンスがある場合 (例: 2 つの株をモデル化する場合)価格を同時に計算)、各シーケンスには独自の LSTM 層が必要です。
  • 時間ステップの数を決定する必要があります。
  • ステートフル LSTM は、長いシーケンスにわたる依存関係を学習したい場合に役立ちますが、過剰適合を引き起こす可能性があるため、注意して使用する必要があります。

以上がタイム ステップと機能は Keras LSTM のパフォーマンスにどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート