モデルが過剰適合し始めたことを知る方法は?


12

次の抜粋が私の質問がどうなるかについての洞察を提供してくれることを願っています。これらはhttp://neuralnetworksanddeeplearning.com/chap3.htmlからのものです

その後、学習は徐々に遅くなります。最後に、エポック280前後で、分類精度はほとんど改善しなくなります。後のエポックでは、エポック280での精度の値に近い小さな確率的変動が見られるだけです。これを、トレーニングデータに関連するコストがスムーズに低下し続ける以前のグラフと比較してください。そのコストだけを見ると、モデルはまだ「良くなっている」ように見えます。しかし、テスト精度の結果は、改善が幻想であることを示しています。フェルミが嫌ったモデルのように、エポック280の後で私たちのネットワークが学習するものは、もはやテストデータに一般化されません。そして、それは有用な学習ではありません。私たちは、ネットワークがエポック280を超えて過剰適合または過剰訓練していると言います。

ニューラルネットワークをトレーニングしていて、(トレーニングデータの)コストはエポック400まで下がりますが、エポック280の後で分類精度は静的になり(いくつかの確率的変動がない場合)、モデルがエポック280以降のトレーニングデータに適合していると結論付けます。

テストデータのコストはエポック15前後まで改善することがわかりますが、トレーニングデータのコストは引き続き改善されていますが、その後は実際に悪化し始めています。これは、モデルが過剰適合であることを示すもう1つの兆候です。しかし、それはパズルを提起します。これは、過適合が学習を支配するようになる時点として、エポック15とエポック280のどちらを考慮すべきかということです。実用的な観点から見ると、テストデータのコストは分類精度の代用に過ぎず、テストデータの分類精度を向上させることが重要です。そして、エポック280は、それを超えて、ニューラルネットワークで学習を支配し過ぎるポイントと見なすのが最も理にかなっています。

以前のトレーニングコストと比較したテストデータの分類精度とは対照的に、現在はトレーニングコストに対するテストデータのコストを課しています。

次に、この本は、280がオーバーフィッティングが始まった正しい時代である理由を説明しています。それが私の問題です。私はこれに頭を包むことができません。

コストを最小限に抑えるようモデルに求めているため、コストは、正確に分類するための独自の強度の尺度として使用するメトリックです。280をオーバーフィッティングが始まった正しいエポックと考える場合、特定のテストデータではより優れた分類子であるにもかかわらず、低い信頼度で意思決定を行っているため、逸脱しやすいバイアスモデルを作成していませんか?テストデータに示された結果から?


モデルはテストセットを認識していません。目に見えないデータのプロキシとして機能します。したがって、それが代表的なディストリビューションからのものである場合は、それを使用してオーバーフィッティングがいつ発生するかを判別できます。必要に応じて、さらに別のホールドアウトセットを作成し、この仮定が成り立つかどうかを確認できます。
Emre

「自信のない意思決定」とはどういう意味ですか?
Grasshopper

@Grasshopperで、モデルが4つのクラス{A、B、C、D}の1つを予測しようとしているとしましょう。テストデータラベルは(A、B、C、D)です。ここで、1つのインスタンスで、モデルは((0.28、0.24、0.24、0.24)(A)、(0.24,0.28,0.24,0.24)(B)、(0.24,0.24、 0.28,0.24)(C)、(0.24,0.24,0.24,0.28)(D))および別のモデルでは((1,0,0,0)(A)、(0,1,0,0)がスローされます) (B)、(0.24、0.26、0.25、0.25)(B)、(0、0、0、1)(D))。信頼度が低いということは、最初の例です。最初のインスタンスでは分類精度が100%である
にもかかわらず

@Grasshopper一言で言えば。モデルの最初のインスタンスは280エポック(質問を参照)後に作成され、モデルの2番目のインスタンスは15エポック後に作成されます。今度は、本は過適合が始まったものとしてエポック280を提案し続けます。私はそれを飲み込むのが難しいと思っています。あなたが提供できるどんな助けや考えも大いに感謝されます。
Nitin Siwach

回答:


6

履歴書に基づいて学生が面接を受けるかどうかを予測するとします。

ここで、10,000件の履歴書とその結果のデータセットからモデルをトレーニングするとします。

次に、元のデータセットでモデルを試し、99%の精度で結果を予測します。

しかし今、悪い知らせが来ています。

履歴書の新しい(「目に見えない」)データセットでモデルを実行すると、50%の精度しか得られません…ええと、ああ!

私たちのモデルは、トレーニングデータから目に見えないデータに一般化されていません。

これはオーバーフィッティングと呼ばれ、機械学習とデータサイエンスの一般的な問題です。

オーバーフィットV / sアンダーフィット

反対の問題であるアンダーフィッティングを見ると、オーバーフィッティングをよりよく理解できます。

不十分な適合は、モデルが単純すぎる場合(機能が少なすぎるか、正規化が多すぎる場合)に発生し、データセットからの学習に柔軟性がなくなります。

単純な学習者は、予測の分散が少ない傾向がありますが、誤った結果に偏っています(参照:バイアスと分散のトレードオフ)。

一方、複雑な学習者は、予測にばらつきがある傾向があります。

バイアスと分散はどちらも、機械学習における予測誤差の形式です。

通常、バイアスからの誤差を減らすことができますが、結果として分散からの誤差が増える可能性があります。逆も同様です。

単純すぎる(バイアスが高い)と複雑すぎる(分散が大きい)の間のこのトレードオフは、統計と機械学習の主要な概念であり、すべての教師あり学習アルゴリズムに影響を与えます。


2

私が難しい方法で学んだことの1つは、学習曲線をプロットすることです。それは、機械学習コード自体を書くほど楽しいものではありませんが、何が起こっているのかを視覚的に理解することが基本です。

経験則では、検証の精度が向上しなくなった(または悪化し始めた)一方で列車の精度が向上し続けると、過剰適合が発生します。

過剰適合を回避する最も簡単な解決策は、早期停止(物事がうまくいかないとすぐにトレーニングを停止する)です。もちろん、最も簡単な解決策は代償を伴います。これは最良の解決策ではありません。正則化とドロップアウトはフィッティングを克服するための優れたツールですが、それは別の問題です:)

それが役に立てば幸い


2

引用している出典として、「テストデータのコストは分類の正確さの代用に過ぎない」とあります。なぜプロキシを使用する必要があるのか​​、精度を直接使用しないのはなぜでしょうか?その答えは、重みとバイアスに関してコスト関数を最小化する必要があるということです。したがって、それは重みとバイアスの微分可能な関数でなければなりません。精度は微分可能な関数ではないため、直接使用することはできません。しかし、最終的には精度を重視するため、上記で説明したように(...最初は分類精度が100%ですが、コストが高いことに注意してください...)、テストの精度に基づいてオーバーフィッティングを決定します。セットする。


0

オーバーフィッティングの意味とそれがモデルの精度にどのように影響するかを理解するには、バイアスと分散のトレードオフを理解する必要があります。

アンダーフィッティングとオーバーフィッティングは、偏った分散問題に直接関連する2つの異なる問題です。3つの異なる要因間の関係と、これらの要因がバイアス分散(過剰適合-過適合)問題にどのように関連付けられるかを理解することは常に重要です。

1-モデルのサイズ。パラメータの数

2-トレーニングに使用できるデータの量。トレーニングサンプルの数。

3-反復回数。トレーニングの反復。

これらの要素のいずれかを他の要素を見ずに、過剰適合-過小問題に直接接続すると、常に間違った結論につながります。

これらの要因を理解し、数学の方程式を使用してテーマを関連付けて、過剰適合および過適合問題を回避することは困難な作業であり、タスクに依存するだけでなく、人々は単純な方法を使用して過剰適合を発見および回避します。簡単な方法は、トレーニング、検証、テストの3つの部分にデータを分割することです。テストには触れないでください。トレーニングセットを使用してネットワークをトレーニングし、検証セットを使用して、各反復または複数の反復後にネットワークをテストします。理論的には、検証セットのエラーは最初のN回の反復で徐々に減少し、その後非常に少数の反復で安定し、その後増加し始めることがわかります。エラーが増加し始めると、ネットワークはトレーニングデータに過剰適合し始め、トレーニングプロセスを停止する必要があります。

注:値Nは、上記の3つの要素に非常に関連しています。デモトレーニングセットを用意し、さまざまなモデルとトレーニングデータでテストすることは常に良い習慣です。モデルが大きいほど、トレーニングデータが少ないほど、Nは小さくなります。モデルが小さいほど、トレーニングデータが多いほど、Nは大きくなります。注:適合不足の問題がある小さなモデルを使用する場合は注意してください。


「理論的には、検証セットのエラーは最初のN回の反復で徐々に減少し、その後非常に少数の反復で安定し、その後増加し始めることがわかります。」ここでエラーとはどういう意味ですか。それはまさに私が質問で提起した問題です。答えは、エラーの測定値としてコストを取る場合は15、エラーの測定値として分類精度を取る場合は280です
Nitin Siwach

上記のコメントの修正に注意してください:過適合が始まったときの答えは、エラーの測定としてコストをとる場合はエポック15、エラーの測定として分類精度をとる場合はエポック280です
Nitin Siwach

検証セットのエラー
Bashar Haddad 2017年

そしてそのエラーの測定は?(100-分類精度)またはコスト。分類精度に関連する検証セットの平均のエラーを理解しています。しかし、それはまさに私が求めていることです。なぜコストではないのですか?元の質問について、Grasshopperに対する私のコメントを参照してください
Nitin Siwach
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.