lstm予測モデルにおけるエポック、バッチサイズ、精度、およびパフォーマンスの向上を理解する

ラトネシュ

私は機械学習とlstmに不慣れです。多変量入力を備えたエンコーダーデコーダーLSTMモデルの多段階予測についてはこのリンクLSTMを参照しています。

トレインとテストセットを再形成した後のデータセットの説明は次のとおりです。

print(dataset.shape)
print(train_x.shape, train_y.shape)
print((test.shape)

(2192, 15)
(1806, 14, 14) (1806, 7, 1)
(364, 15)

上記で私は持っていn_input=14, n_out=7ます。

これが私のlstmモデルの説明です:

def build_model(train, n_input):
    # prepare data
    train_x, train_y = to_supervised(train, n_input)
    # define parameters
    verbose, epochs, batch_size = 2, 100, 16
    n_timesteps, n_features, n_outputs = train_x.shape[1], train_x.shape[2], train_y.shape[1]
    # reshape output into [samples, timesteps, features]
    train_y = train_y.reshape((train_y.shape[0], train_y.shape[1], 1))
    # define model
    model = Sequential()
    model.add(LSTM(200, activation='relu', input_shape=(n_timesteps, n_features)))
    model.add(RepeatVector(n_outputs))
    model.add(LSTM(200, activation='relu', return_sequences=True))
    model.add(TimeDistributed(Dense(100, activation='relu')))
    model.add(TimeDistributed(Dense(1)))
    model.compile(loss='mse', optimizer='adam')
    # fit network
    model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size, verbose=verbose)
    return model

モデルを評価すると、次のような出力が得られます。

Epoch 98/100
 - 8s - loss: 64.6554
Epoch 99/100
 - 7s - loss: 64.4012
Epoch 100/100
 - 7s - loss: 63.9625

私の理解によると:(私が間違っている場合は私を訂正してください)

Here my model accuracy is 63.9625(最後のエポック100を見ることによって)。また、エポック99とエポック100の間にギャップがあるため、これは安定していません。

これが私の質問です:

  1. 上記で定義されたエポックとバッチサイズは、モデルの精度の向上にどのように関連していますか?そのインクリメントとデクリメントはモデルの精度にどのように影響しますか?

  2. 上記で定義したエポック、バッチ、n_inputはモデルに対して正しいですか?

  3. モデルの精度を上げるにはどうすればよいですか?上記のデータセットサイズはこのモデルに十分ですか?

私はこのすべてのパラメーターをリンクすることはできず、上記の要因によってより高い精度を達成する方法を理解するのに親切に助けてくれます。

手放す

エポックサイズが非常に大きいからといって、必ずしも精度が向上するとは限りません。エポックサイズは、特定の限界まで精度を上げることができ、それを超えるとモデルの過剰適合が始まります。非常に低いものを使用すると、適合性も低下します。これを参照してくださいしたがって、エポック99とエポック100の大きな違いを見ると、モデルに過剰適合していることがすでにわかります。経験則として、精度が向上しなくなったことに気付いたとき、それは通常1から10の間であるはずの理想的なエポック数です。100はすでに多すぎるようです。

バッチサイズは精度に影響しません。これは、GPUのメモリに基づいて速度またはパフォーマンスを制御するために使用されます。大量のメモリがある場合は、大量のバッチサイズを使用できるため、トレーニングが高速になります。

精度を上げるためにできることは次のとおりです。1。トレーニング用のデータセットを増やします。2.代わりに畳み込みネットワークを使用してみてください。このYouTubeチャンネルからまたは一言で言えば、畳み込みネットワークの詳細を見つけるには、CNNは、モデルのトレーニングで焦点を当てるべき機能を特定するのに役立ちます。3.他のアルゴリズムを試してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

反応ネイティブおよびクロームデバッガーでパフォーマンスを重視する機能を見つける

分類Dev

パンダデータフレームのインデックスをリセットすると、予測モデルのAUCが向上します

分類Dev

パフォーマンス:同じDisplayMemberPathおよびSelectedValuePathで複数のコンボボックスをバインドするパフォーマンスを向上させるための最良の方法は何ですか

分類Dev

Windows(ファイルエクスプローラー、ディスク管理およびディスクパーツ)とMiniToolおよびsdcard.orgのフォーマッターがメモリカードをフォーマットできませんか?カードを処分する必要がありますか?

分類Dev

xおよびy座標とタイムスタンプのパンダデータフレームのマルチインデックスを作成する

分類Dev

フォルダおよびサブフォルダ内のファイルへのパスを指定するバッチコード

分類Dev

SPARQLクエリでbirthYearおよびdeathYear基準による人のフィルタリングのパフォーマンスを向上させる

分類Dev

クラスを予測するためにMatlabからWekaにデータをインポートおよびエクスポートする方法は?

分類Dev

ドメインモデルのパフォーマンスにおけるICollection

分類Dev

マシンのCPU、メモリ、ディスク、およびネットワークI / Oパフォーマンスをベンチマークするために、どのJavaユーティリティが存在しますか?

分類Dev

列名およびマルチインデックスによるマルチインデックスデータフレームへの値の追加

分類Dev

ブートストラップおよびブートストラップマテリアルデザインのプレースホルダーフォントサイズを変更するにはどうすればよいですか?

分類Dev

生のトークンをSolrインデックスに保存およびエクスポートする

分類Dev

バイナリデータをリストにパックおよびアンパックする最速の方法

分類Dev

MS LUIS.ai | モデルのパフォーマンスの問題| 予測精度を上げる方法

分類Dev

バッチファイル内の文字列のリストにforおよびifコマンドを使用する

分類Dev

デスクトップおよびモバイルのポートレートとランドスケープで機能するレスポンシブな方法でグラフを表示するにはどうすればよいですか?

分類Dev

Kerasの多変量マルチステップLSTM実装で標準化(および予測を反転)する方法

分類Dev

クラスに対する関数ラッパーのパフォーマンスベンチマークと、コンストラクター呼び出し呼び出しおよびHaveSameMapのみのパフォーマンスベンチマーク

分類Dev

Windowsバッチファイル-CertUtilの出力とファイル名およびサイズを1行でフォーマットします

分類Dev

今日のモバイルおよびデスクトップブラウザでの「SVGTiny1.2」のパフォーマンス上の利点は?

分類Dev

Flutter-プロバイダー、ブロックのライフサイクル、およびストリームをいつ破棄するかを理解する

分類Dev

トレーニング済みのBERTモデルチェックポイントを予測に使用するにはどうすればよいですか?

分類Dev

ローカルおよびグローバルにインストールされたnodejsモジュールの両方をフェッチする

分類Dev

Doc2vecモデルのセマンティックおよび構文パフォーマンス

分類Dev

チャートのパフォーマンスを向上させるために、サンプリング/補間によって大きなデータセットのサイズを縮小します

分類Dev

asp.netのサーバーフォルダーからMicrosoftAccessデータベースをアップロードおよびフェッチする方法

分類Dev

Foundation 5サイトのモバイルおよびタブレットサイズでモバイルメニュー(ハンバーガー)を使用する

分類Dev

パンダ:データフレームの連結、列データのフォワードフィルおよびマルチインデックス

Related 関連記事

  1. 1

    反応ネイティブおよびクロームデバッガーでパフォーマンスを重視する機能を見つける

  2. 2

    パンダデータフレームのインデックスをリセットすると、予測モデルのAUCが向上します

  3. 3

    パフォーマンス:同じDisplayMemberPathおよびSelectedValuePathで複数のコンボボックスをバインドするパフォーマンスを向上させるための最良の方法は何ですか

  4. 4

    Windows(ファイルエクスプローラー、ディスク管理およびディスクパーツ)とMiniToolおよびsdcard.orgのフォーマッターがメモリカードをフォーマットできませんか?カードを処分する必要がありますか?

  5. 5

    xおよびy座標とタイムスタンプのパンダデータフレームのマルチインデックスを作成する

  6. 6

    フォルダおよびサブフォルダ内のファイルへのパスを指定するバッチコード

  7. 7

    SPARQLクエリでbirthYearおよびdeathYear基準による人のフィルタリングのパフォーマンスを向上させる

  8. 8

    クラスを予測するためにMatlabからWekaにデータをインポートおよびエクスポートする方法は?

  9. 9

    ドメインモデルのパフォーマンスにおけるICollection

  10. 10

    マシンのCPU、メモリ、ディスク、およびネットワークI / Oパフォーマンスをベンチマークするために、どのJavaユーティリティが存在しますか?

  11. 11

    列名およびマルチインデックスによるマルチインデックスデータフレームへの値の追加

  12. 12

    ブートストラップおよびブートストラップマテリアルデザインのプレースホルダーフォントサイズを変更するにはどうすればよいですか?

  13. 13

    生のトークンをSolrインデックスに保存およびエクスポートする

  14. 14

    バイナリデータをリストにパックおよびアンパックする最速の方法

  15. 15

    MS LUIS.ai | モデルのパフォーマンスの問題| 予測精度を上げる方法

  16. 16

    バッチファイル内の文字列のリストにforおよびifコマンドを使用する

  17. 17

    デスクトップおよびモバイルのポートレートとランドスケープで機能するレスポンシブな方法でグラフを表示するにはどうすればよいですか?

  18. 18

    Kerasの多変量マルチステップLSTM実装で標準化(および予測を反転)する方法

  19. 19

    クラスに対する関数ラッパーのパフォーマンスベンチマークと、コンストラクター呼び出し呼び出しおよびHaveSameMapのみのパフォーマンスベンチマーク

  20. 20

    Windowsバッチファイル-CertUtilの出力とファイル名およびサイズを1行でフォーマットします

  21. 21

    今日のモバイルおよびデスクトップブラウザでの「SVGTiny1.2」のパフォーマンス上の利点は?

  22. 22

    Flutter-プロバイダー、ブロックのライフサイクル、およびストリームをいつ破棄するかを理解する

  23. 23

    トレーニング済みのBERTモデルチェックポイントを予測に使用するにはどうすればよいですか?

  24. 24

    ローカルおよびグローバルにインストールされたnodejsモジュールの両方をフェッチする

  25. 25

    Doc2vecモデルのセマンティックおよび構文パフォーマンス

  26. 26

    チャートのパフォーマンスを向上させるために、サンプリング/補間によって大きなデータセットのサイズを縮小します

  27. 27

    asp.netのサーバーフォルダーからMicrosoftAccessデータベースをアップロードおよびフェッチする方法

  28. 28

    Foundation 5サイトのモバイルおよびタブレットサイズでモバイルメニュー(ハンバーガー)を使用する

  29. 29

    パンダ:データフレームの連結、列データのフォワードフィルおよびマルチインデックス

ホットタグ

アーカイブ