問題タブ [overfitting-underfitting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - 検証精度が異なる場合の早期停止の効果
私は、2 つの BILSTM レイヤーとそれに続く密なレイヤーで構成される将来予測用の時系列モデルを構築しています。値を予測するために合計 120 個の製品があります。そして、私は比較的小さなデータセットを持っています (2 年間の月次データ => 最大 24 回のステップ)。その結果、全体的な検証精度を調べると、次のようになりました。
すべてのエポックで、モデルの重みをメモリに保存して、将来いつでもモデルをロードできるようにしました。
さまざまな製品の検証精度を調べたところ、次の結果が得られました (これは大まかにいくつかの製品の場合です)。
この製品について、エポック ~90 で保存されたモデルを使用して、このモデルの予測を行うことはできますか?
次の製品では、エポック ~40 で保存されたモデルを予測に使用できますか?
私は不正行為をしていますか?製品は非常に多様であり、それらの購買行動はそれぞれ異なることに注意してください。私にとって、この戦略に従うことは、120 個のモデル (120 個の製品が与えられた場合) をトレーニングすることと同等ですが、同時に、モデルごとにより多くのデータをボーナスとして供給し、製品ごとの改善を期待しています。私は公正な仮定をしていますか?
どんな助けでも大歓迎です!
python - オーバーフィッティングを判断するために、常に検証の精度と損失をチェックしていますか?
オーバーフィッティングとその解決方法について説明している記事はたくさんあります。一般的な定義は
オーバーフィッティングは、精度や損失などの検証メトリクスをチェックすることで識別できます。検証メトリクスは、通常、モデルがオーバーフィッティングの影響を受けると、停滞するか低下し始めるポイントまで増加します。上昇傾向の間、モデルは良好な適合を求めます。これが達成されると、傾向が低下または停滞し始めます。
質問: オーバーフィッティングを判断するために、検証の精度と損失のみを考慮すべきですか?
私の場合、IEMOCAP データセットを使用しています。最終的なメトリックは次のようになります。
混同メトリクスはこのようなものです
この混同メトリクスは、他の実験結果と比較すると良いように思えます。しかし、私の精度と損失のグラフは明らかにオーバーフィッティングを示しています。
では、オーバーフィッティングをどのように判断するのでしょうか? 考慮すべき他のパラメータは何ですか?
python - 単純な RNN レイヤーでモデルをフィッティングすると、毎回正確に 37.62% の val_accuracy の上限に達しています。なぜこうなった?
keras simpleRNN レイヤーを使用して、この壁にぶつかっています。他に 2 つのモデルがあります。1 つは完全に接続された Dense レイヤーのみで、もう 1 つは期待どおりに動作する LSTM を使用しているため、問題はデータ処理ではないと思います。
コンテキストとして、トークン化された tf.keras reuters データセットを使用しています。出力データは、分類した 46 個の可能なタグで構成されています。
以下はモデルコードです。
そして、私は次のパラメータを使用してフィッティングしています
このモデルに当てはめると、一貫して val_accuracy が 0.3762、val_loss が ~3.4 になります。この「天井」は、グラフではっきりと見ることができます。
私が試したこと:スーパーパラメーターの変更、入力データ形状の変更、さまざまなオプティマイザーの試行。
どんなヒントでも大歓迎です、ありがとう。そして、私の投稿をよりわかりやすく編集するのを手伝ってくれた人々に感謝します:)
同じデータで動作する他の 2 つのモデルのグラフ:
高密度レイヤーのみ
LSTM
tensorflow - バリデーションロスが減らない(テンソルフロー)
まず第一に、私の英語で申し訳ありませんが、
私は tensorflow を使用して自分のプロジェクトで問題に直面しています。辞書 (英語 -> ドイツ語) をコーディングする必要があります。問題がどこにあるのかを理解するのは簡単ではないことを知っています:/それは私を殺しています。質問。ありがとう
入力:
- En_input:
(16, 14, 128) の形をしています:
-batch -単語数 (1<words<13) で、各シーケンスの長さが 13 になるように、埋め込みの各英語シーケンスをシーケンスの前にいくつかの異なるパディング値でパディングするデータセットをマッピングする関数を使用します。
128
- 入力_ドイツ語
先頭と末尾に " < start> " と " < end> " トークンを持つ shape (16,14)
検証損失の問題:
ここでモンコード:
keras - レイヤーを減らしたり、ドロップアウトを増やしたり、学習率を上げたりしても、CNN モデルのオーバーフィットを防ぐことはできません
CNNを使って画像分類器を作りたいです。データセットには、男性と女性の 2 種類の画像があります。合計で 2300 枚の画像があり、そのうちの 20% を検証に使用しました。問題は、オーバーフィッティングのためにモデルがまったく良くないことです(それが問題だと思います)が、なぜ私のモデルがひどくオーバーフィットするのかわかりません(下のグラフのリンクを開いてください.yの最大値は3.5です)これは、バイカテゴリ予測を行うために使用した keras モデルです