オーバーフィットが悪いのはなぜですか?


27

私はこの多くを研究しましたが、機械学習でのアクションの過剰適合は悪いと言いますが、ニューロンは非常に強くなり、私たちが通り抜けたり回避したりする最高のアクション/感覚を見つけ、さらに悪いからデクリメント/インクリメントすることができます/ goodまたはbadトリガーによって、アクションが平準化され、最高の(右)、非常に強い自信のあるアクションになります。これはどのように失敗しますか?これは、正と負のセンストリガーを使用して、44posからのアクションをデ/再インクリメントします。22negに。


4
この質問は、機械学習、ニューラルネットワークなどの場合よりもはるかに広範なものです。これは、多項式の近似と同じくらい簡単な例に当てはまります。
gerrit


7
@ FriendlyPerson44質問を読み直した後、タイトルと実際の質問の間には大きな隔たりがあると思います。AIの欠陥について質問しているようです(あいまいにしか説明されていません)-人々は「なぜオーバーフィットが悪いのですか?答えています
-DoubleDouble

3
@DoubleDouble同意します。さらに、機械学習とニューロンの関係は疑わしいです。機械学習は、「脳のように振る舞う」、ニューロンをシミュレートする、または知能をシミュレートすることとは関係ありません。この時点でOPを助けるかもしれない多くの異なる答えがあるようです。
Shaz

2
質問とタイトルを明確にする必要があります。多分、「なぜ人間の脳は過剰適合に対する対策なしでうまく機能するのに、仮想脳を過剰適合から守らなければならないのか?」
ファルコ

回答:


44

私が聞いた最高の説明はこれです:

機械学習を行っているときは、確率的分布に従うデータから学習しようとしていると仮定します。

これは、任意のデータセットで、ランダム性のためにノイズが発生することを意味します。データはランダムに変化します。

オーバーフィットすると、ノイズから学習し、それをモデルに含めることになります。

次に、他のデータから予測を行うときが来ると、精度が低下します。ノイズがモデルに侵入しますが、トレーニングデータに固有であるため、モデルの精度が低下します。あなたのモデルは一般化されていません。たまたま訓練するために選んだデータセットにあまりにも特有です。


1
「ノイズから学ぶ」というのはあいまいに聞こえます。正確にはどうなりますか?例を挙げていただけますか?
ラファエル

データが非常にきれいで、外れ値(自然と非自然の両方の外れ値)から外れている場合でも、「過剰適合」は悪い習慣であり、モデルから削除する必要があります。モデルが「オーバーフィット」している場合、つまり、モデルはデータに隠された知識を一般化せず、他のデータポイントを予測することはできません。モデルをオーバーフィットするときは、トレイン/テストデータセットにのみフィットします。
-Aboelnour

2
@Raphaelシステムは、トレーニングセットのノイズを特徴として認識し始めます。その後、特定のノイズが欠落している実際のデータでネットを実行すると、フィーチャ(=含まれたノイズ)が欠落しているため、最終的に確率が低くなります。
drake7707

2
@Raphaelたとえば、交通カメラの画像のコレクションがあります。車が存在するかどうかを検出するネットを訓練しましょう。いくつかのトレーニングの後、車のあるセットと車のないセットがあります。新しいセットにネットを適用して、人がいない通りが空かどうかを検出します。なぜ、空の街を高い確率で検出しないのでしょうか。サンプルセットを振り返ると、すべての写真に、車がなかったときに画像の背景に人がいたことがわかります。ネットの過剰適合により、存在する人々に重点が置かれました
-drake7707

1
コインフリップによってノイズが追加されるシステムを考えます。頭では、値に1を追加し、尾では0を追加します。結果を明確にするために、2つのポイント(2、5)と(2.1、8)からなる非常に小さなデータセットを選択します。コインフリップは、最初のポイントに向かって着陸し、2番目のポイントに尾を引いてノイズを発生させ、データセット(3、5)、(2.1、8)を作成します。現在、ニューラルネットは、ほとんどすべてがノイズであるにもかかわらず、x値とy値の間に有意な相関があるように見えるデータセットから学習しています。あなたはその後、実際のデータでは、この「ネットアウトを送信する場合、そのは、間違った結果の多くを生成しようとして
Cortのアモン-復活モニカ

39

ELI5バージョン

これは基本的に私が6歳の子供に説明した方法です。

メルという名前の女の子がいました(「Get it?ML?」「Dad、you're lame。」)。そして、毎日メルは別の友達と遊んでいて、毎日彼女はそれを晴れて素晴らしい一日でした。

メルは月曜日にヨルダン、火曜日にリリー、水曜日にミミ、木曜日にオリーブと演奏し、金曜日にブリアナと演奏し、雨が降った。それはひどい雷雨でした!

より多くの日、より多くの友人!メルは土曜日にクワンとプレイし、日曜日にグレイソンとプレイし、月曜日にアサとプレイし、火曜日にブルックとプレイして再び雨が降った。

今、メルの母親はすべてのプレイデートを作ったので、その夜の夕食の間に、彼女は彼女に並んだ新しいプレイデートのすべてをメルに伝え始めます。「水曜日はルイス、木曜日はライアン、金曜日はジェミニ、土曜日はビアンカ-」

メルは眉をひそめた。

メルのお母さんは、「どうしたんだ、メル、ビアンカが好きじゃない?」と尋ねました。

メルは、「ああ、確かに、彼女は素晴らしいが、名前がBで始まる友人と遊ぶたびに雨が降る!」と答えました。


メルの答えの何が問題になっていますか?

さて、土曜日は雨が降らないかもしれません。

まあ、私は知らない、つまり、ブリアナが来て雨が降った、ブルックが来て雨が降った...

ええ、私は知っていますが、雨はあなたの友人に依存していません。


10
そして、他の質問に、これは「ノイズから学ぶ」という意味です。
カイル・ヘイル

雨のコメントに-しかし、私たちはそうします、それから私たちはそのように働き続け、後で学ぶ。
フレンドリーな人44

13
@ FriendlyPerson44あなたは正しいです、人々は間違いを犯し、オーバーフィットのような悪いことをします。あなたの質問は、人々がそれをするかどうかではなく、なぜオーバーフィットが悪いのかを尋ねました。
カイル・ヘイル

1
この問題は、学習能力の低いロボットだけでなく、学習能力の低い人々にも当てはまります。
トマーシュザト-復帰モニカ

私はまったく従いません:雨はそもそも予測変数ではないはずです、それは過剰適合と何の関係がありますか?
ムカホ

14

過剰適合とは、学習者が一般化できないことを意味します。たとえば、ポイントを2つのクラスに分割しようとする標準的な教師あり学習シナリオを考えます。トレーニングポイントが与えられているとします。次数Nの多項式を近似し、最初のクラスのトレーニングポイントで1を出力し、2番目のクラスのトレーニングポイントで-1を出力できます。しかし、この多項式は新しい点を分類するのにおそらく役に立たないでしょう。これは過剰適合の例であり、なぜそれが悪いのかです。NN


しかし、その過剰装備のアクションは特定の感覚にリンクされており、同じ感覚が再び見られる場合にのみ、メモリとこれらのアクションへのリンクに一致する場合にのみ、他のものを見るときにそれらを行いません。一般化は2つのことです-これらのツリー画像はすべてツリーであり、過去からの知識を使用してこの新しいものを見つけ出します。私のAIがこれを解決するには、ツリーを見て「ツリー」を聞いて、それがメモリに一致し、それを前面に持ってきて、新しいツリーとその名前を見て、すべて最新のメモリの感覚にリンクします。音。knwldgeによる新しい小さな関連性のあるものを理解することは、新しい行動です
フレンドリーな人

2
@ FriendlyPerson44教師付き機械学習では、トレーニングの結果をさらに変更する必要はありません。これが、「過剰適合」の出番です。マシンが木を認識することを学習したかのように-最初に色、次に一般的な形状、次に特定の形状(停止する場所)によって、その後、あなただけで見つかった追加のランダムパターンによって木を区別し始めますトレーニングセット。樹木の新しいランダムな画像を見ると、それらは樹ではないと判断します。その時点で、最悪のケースはそれが使用中であり、誰もそれを監督していないということです!
-DoubleDouble

しかし、私のものは、ツリーのイメージとサウンド「ツリー」を保存し、2つの感覚をリンクすることでツリーを認識します。これらの画像と音は、最初に学んだものに似ています。しかし、木はそれがトリガーではなく、食物などは、色やパターンを見たときにアクションを保存しません。私は本当に行動を学びます。
フレンドリーな人

1
@ FriendlyPerson44それはオーバーフィッティングが悪い理由とどう関係しますか?
ダブルダブル

9

大まかに言えば、過剰適合は通常、比率が

ここに画像の説明を入力してください

高すぎます。

過剰適合は、モデルがテストデータに一般化できない大きな画像を学習するのではなく、モデルがトレーニングデータを暗記する状況と考えてください。これは、モデルがサイズに関して複雑すぎる場合に発生しますトレーニングデータ、つまり、トレーニングデータのサイズがモデルの複雑さに比べて小さすぎる場合。

例:

  • データが2次元である場合、トレーニングセットに10000ポイントがあり、モデルは線である場合、過小適合になる可能性があります。
  • データが2次元の場合、トレーニングセットに10個のポイントがあり、モデルは100次の多項式であるため、過剰適合する可能性があります。

ここに画像の説明を入力してください

理論的な観点からは、モデルを適切にトレーニングするために必要なデータ量は、機械学習において非常に重要ですが、まだ答えが出ていない質問です。この質問に答えるそのようなアプローチの1つはVC次元です。もう1つは、バイアスと分散のトレードオフです。

経験的な観点から、通常、人々はトレーニングエラーとテストエラーを同じプロットにプロットし、テストエラーを犠牲にしてトレーニングエラーを削減しないようにします。

ここに画像の説明を入力してください

私は見て助言するコーセラ」機械学習コースを、セクション『:機械学習を適用するためのアドバイス10』。


1
私は「心で学ぶ」というラインが好きです。なぜなら、人間はある程度これを行うことができるからです。質問と回答は決して変わらないが、間違っていると答えられたという非常に難しいクイズを想像してください。方程式(2 + 2)のふりをするのは難しい、方程式を認識して「4」と言う-しかし、(2 + 3)が来るが、追加することを学んでいない、あなたはちょうど「4」と言うことを学んだ「2 + 2」がある場合
DoubleDouble

良い説明
ニコスM.

4

次の2つの状況を考慮する必要があると思います。

有限トレーニング

モデルのトレーニングに使用するデータの量には限りがあります。その後、モデルを使用します。

この場合、オーバーフィットすると、データを生成した現象のモデルは作成されませんが、データセットのモデルは作成されます。あなたのデータセットが完璧でない場合-私は完璧なデータセットを想像するのに苦労しています-あなたのモデルはあなたが訓練に使用したデータの品質に応じて、多くの状況またはいくつかの状況でうまく機能しません。そのため、一般化によって現象の基礎をモデル化する場合、過剰適合はデータセットの特殊化につながります。

継続的な学習

モデルは常に新しいデータを受信し、学習を続けます。おそらく、許容可能な開始点を得るために、弾力性が増加した初期期間があります。

この2番目のケースは、人間の脳のトレーニング方法により似ています。人間が非常に若いとき、あなたが学びたいことの新しい例は、あなたが年上であるときよりも顕著な影響力を持っています。

この場合、オーバーフィットはわずかに異なるが同様の問題をもたらします。このケースに該当するシステムは、多くの場合、学習中に機能を実行することが期待されるシステムです。学習するために新しいデータが提示されている間に人間がどこかに座っているだけではないことを考えてください。人間は常に世界と交流し、生き延びています。

あなたはデータが来続けているので、最終結果はうまくいくと主張することができますが、この時間には学習されたものが使われる必要があります!オーバーフィッティングは、ケース1と同じ短時間の効果をもたらし、モデルのパフォーマンスを低下させます。しかし、機能するにはモデルのパフォーマンスに依存しています!

この方法を見てください。過剰摂取した場合、将来さらに多くの例の後にあなたを食べようとしている捕食者を認識するかもしれませんが、捕食者があなたを食べるとき、それは無意味です。


opが示唆する質問に対する良い答えは、「人間が自分で学習している間、機械が訓練されているため、脳が正常に機能しているように見えるとき、仮想脳での過剰適合を防ぐ必要があるのはなぜですか」です。
ファルコ

3

良い製品と悪い製品を判別するようにコンピューターに教え、学習するために次のデータセットを与えたいとします。 データセットを含む図。 0〜50は0です。52と74は0です。51〜100の残りの値は1です

0は製品に障害があることを意味し、1は問題がないことを意味します。ご覧のとおり、X軸とY軸の間には強い相関関係があります。測定値が50未満または50に等しい場合、製品に欠陥がある可能性が非常に高く(〜98%)、それ以上の場合は非常にリクリー(〜98%)で問題ありません。52と74は外れ値です(測定された誤った要因または測定されていない要因が役割を果たします。ノイズとも呼ばれます)。測定値は厚さ、温度、硬さなどであり、この例では単位は重要ではありません。したがって、一般的なアルゴリズムは

if(I<=50)
    return faulty;
else
    return OK;

2%の誤分類の可能性があります。

オーバーフィットアルゴリズムは次のようになります。

if(I<50)
    return faulty;
else if(I==52)
    return faulty;
else if(I==74)
    return faulty;
else
    return OK;

したがって、オーバーフィッティングアルゴリズムは、52または74を測定するすべての製品を不良として誤分類しますが、新しいデータセットが与えられた場合、または実稼働で使用された場合、それらは問題ない可能性が高くなります。誤分類の3,92%の可能性があります。外部の観察者にとって、この誤分類は奇妙ですが、オーバーフィットされた元のデータセットを知っていると説明できます。

元のデータセットの場合、オーバーフィットアルゴリズムが最適です。新しいデータセットの場合、一般的な(オーバーフィットのない)アルゴリズムが最適です。最後の文は、基本的に過適合の意味を説明しています。


2

私の大学のAIコースでは、インストラクターがKyle Haleに似た例を示しました。

少女と母親が一緒にジャングルの中を歩いていると、突然虎がブラシから飛び出し、母親をむさぼり食います。翌日、彼女は父親と一緒にジャングルの中を歩いていると、再び虎がブラシから飛び出します。彼女の父親は彼女に走ろうと大声で叫ぶが、彼女は「ああ、パパ、トラは母親しか食べない」と答える。

しかし、一方で:

少女と母親が一緒にジャングルの中を歩いていると、突然虎がブラシから飛び出し、母親をむさぼり食います。翌日、彼女の父親は彼女の部屋で彼女のむさぼりを見つけ、なぜ彼女が友達と遊んでいないのかと彼女に尋ねる。彼女は「いいえ!虎の外に出たら、間違いなく私を食べるでしょう!」と答えます。

オーバーフィッティングとアンダーフィッティングはどちらも悪い可能性がありますが、それはあなたがどちらを心配しているのかを解決しようとしている問題のコンテキストに依存すると言うでしょう。



2

私が実際に出会ったのはこのようなものです。まず、入力と出力の比がほぼ線形になると予想される場所で測定します。生データは次のとおりです。

Input   Expected Result
1.045   0.268333453
2.095   0.435332226
3.14    0.671001483
4.19    0.870664399
5.235   1.073669373
6.285   1.305996464
7.33    1.476337174
8.38    1.741328368
9.425   1.879004941
10.47   2.040661489

そして、それはグラフです:

ここに画像の説明を入力してください

間違いなく、線形データに対する私の期待に合っているようです。方程式を推測するのはかなり簡単ですよね?したがって、プログラムにこのデータを少し分析させ、最終的に、99.99%の精度でこれらすべてのデータポイントに当てはまる方程式が見つかったことを報告します。驚くばかり!そして、その方程式は... 9sin(x)+ x / 5です。次のようになります: ここに画像の説明を入力してください

方程式は、入力データをほぼ完璧な精度で確実に予測しますが、入力データに過度に適合しているため、他の操作にはほとんど役に立ちません。


オーバーフィッティングは、入力データを取得した後、あなたが間違って何をするかという問題の問題だと思います。ここでは何もできません。アンダーサンプリングがあるため、入力は不適切です。
エムレ

1
@Emre:アンダーサンプリングするつもりはなく、入力/出力を線形にするつもりでしたが、過剰適合は明らかに非線形な方程式を生成しました。明確にするために編集します。
ムーアヒル

1

この記事を見てください。オーバーフィッティングとアンダーフィッティングについてかなりよく説明しています。

http://scikit-learn.org/stable/auto_examples/model_selection/plot_underfitting_overfitting.html

この記事では、コサイン関数からの信号データの例を調べます。オーバーフィッティングモデルは、信号がやや複雑な関数であると予測します(コサイン関数にも基づいています)。ただし、オーバーフィットモデルは、一般化ではなく、信号データのノイズの記憶に基づいてこれを結論付けます。


4
そのリンクが壊れた場合、あなたの答えはほとんど価値がないでしょう。回答がそのリンクとは独立した価値を持つように、少なくとも要約(もちろん帰属を含む)を提供してください。
ラファエル

1

機械学習と審査の経験がない @ jmiteの答えと、彼が何を意味するかを視覚化できます。

デモ用のおおよその正しい形状のランダムグラフ

上記のグラフの個々のバーがデータであると仮定します。このデータについて、より大きなデータセットに適用する一般的な傾向を把握しようとしています。あなたの目標は、曲線を見つけることです。オーバーフィットした場合-示された曲線の代わりに、個々のバーの上部をつなぎ合わせ、それをデータセットに適用します-そして、ノイズ(予想からの変動)が誇張されると、不正確で不正確なスパイク応答を取得します実際のデータセットに。

私がいくらか助けてくれたことを願っています...


0

実生活での過剰適合:

白人は犯罪を犯している黒人のニュースを見る。白人は、黒人が犯罪を犯しているという別のニュースを見る。白人は、黒人が犯罪を犯しているという3番目のニュースを見る。白人は、赤いシャツを着た白人、裕福な両親、精神病の歴史が犯罪を犯したというニュース記事を見ます。白人は、すべての黒人が犯罪を犯し、赤シャツ、裕福な両親、精神疾患の歴史を身に着けている白人のみが犯罪を犯していると結論付けています。

この種の過剰適合が「悪い」理由を理解したい場合は、上記の「黒」を多かれ少なかれ一意に定義する属性に置き換えてください。


ステレオタイプは、素人がオーバーフィットと呼ぶものです。
エマー

3
それは過剰適合ではありません。過剰適合とは、犯罪者である唯一の人は、ニュースレポートの犯罪者の1人と同じ肌の色、シャツの色、親の収入、精神病の病歴を持つ人だけであると決定するシステムです。
デビッドリチャービー

8
@Emreいいえ、ステレオタイプはオーバーフィットの正反対です。ステレオタイプ化は、トレーニングデータのプロパティのほとんどを無視する結論に近づいています。オーバーフィッティングは、トレーニングデータのすべてのポイントが、認識しようとしているものの一部を完全に説明するデータのみであるという結論に達します。
デビッドリチャービー

モデレーター注:トピック外/文脈外コメントは削除されました。一般的な議論については、Computer Science Chatをご覧ください。特定のプログラムについて、過剰適合を有効に使用している場合と使用していない場合がある場合は、新しい質問をしてください。
ジル 'SO-悪である停止

2
@ArnabDatta Overfittingは、過度に複雑なモデルをトレーニングデータに非常に正確に一致させています。ステレオタイプ化は、過度に単純化されたモデルの使用です。
デビッドリチャービー16年

0

テストするデータには、学習させたいプロパティと、学習させたくない関連性のないプロパティがあります。

ジョンは11歳
ジャックは19歳
ケイトは31歳
ラナは39歳

適切なフィッティング:年齢はほぼ線形で、20歳まで通過し
ます。オーバーフィット:2人の人間を10年離すことはできません(データのノイズの特性)
アンダーフィット:すべての人間の1/4が19(ステレオタイプ)です。


ようこそ!すでに多くの非公式の例がありますので、これが多くを追加するかどうかわかりません。そして、この例をより形式的にするのは難しいようです。たとえば、あなたが言及する線形関数は何ですか?関数への入力は、数字ではない人の名前のようです。一方、「2人の人間を10年離すことはできません」および「1/4の人間は19歳」は、データから学習される機能の例ではありません。
デビッドリチャービー16年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.