AIの基礎
オーバーフィッティングとは何か?
オーバーフィッティングとは何か?
ニューラルネットワークをトレーニングするとき、オーバーフィッティングを避ける必要があります。 オーバーフィッティング は、機械学習と統計学における問題であり、モデルがトレーニングデータセットのパターンをあまりにも良く学習し、トレーニングデータセットを完全に説明するものの、他のデータセットへの予測力を一般化できないものです。
別の言い方をすると、オーバーフィッティングモデルは、トレーニングデータセットでは非常に高い精度を示すものの、将来的にモデルを実行するデータセットでは低い精度を示すことがあります。 これはオーバーフィッティングの簡単な定義ですが、詳しく見てみましょう。 オーバーフィッティングが発生するしくみと、どのようにしてそれを避けることができるかを見てみましょう。
「フィット」とアンダーフィッティングの理解
オーバーフィッティングについて議論するときには、「フィット」 の概念とアンダーフィッティングを理解することが役立ちます。 モデルをトレーニングするとき、私たちは、アイテムの特徴に基づいて、アイテムの性質またはクラスを予測できるフレームワークを開発しようとしています。 モデルは、トレーニングセット内のパターンを説明し、将来的に得られるデータポイントのクラスを予測することができるはずです。 モデルがトレーニングセットの特徴間の関係を説明するほど、「フィット」は良くなります。

青い線は、アンダーフィッティングしているモデルの予測を表し、緑の線はより良いフィットのモデルを表します。 画像:Pep Roca via Wikimedia Commons、CC BY SA 3.0、(https://commons.wikimedia.org/wiki/File:Reg_ls_curvil%C3%ADnia.svg)
トレーニングデータの関係を悪く説明し、将来的に得られるデータの例を正確に分類できないモデルは、アンダーフィッティングしています。 アンダーフィッティングモデルの予測と実際の特徴とラベルの交差点をグラフ化すると、予測は目標から外れています。 トレーニングセットの実際の値をグラフ化した場合、アンダーフィッティングモデルの予測はデータポイントから大きく外れています。 フィットの良いモデルは、データポイントの中央を通るパスを描き、個々のデータポイントは予測値からわずかに外れています。
アンダーフィッティングは、正確なモデルを作成するのに十分なデータがない場合や、非線形データに対して線形モデルを設計しようとする場合に発生することがあります。 多くのトレーニングデータや多くの特徴を持つことで、アンダーフィッティングを軽減することができます。
なぜ、トレーニングデータセットのすべてのポイントを完全に説明するモデルを作成しないのでしょうか? 完全な精度は望ましいのではないでしょうか? トレーニングデータセットのパターンをあまりにも良く学習することで、オーバーフィッティングが発生します。 トレーニングデータセットと将来的に実行するデータセットは、正確には同じではありません。 多くの点で似ているかもしれませんが、重要な点で異なります。 したがって、トレーニングデータセットを完全に説明するモデルを設計することで、他のデータセットに一般化できない特徴間の関係についての理論が得られます。
オーバーフィッティングの理解
オーバーフィッティングは、モデルがトレーニングデータセットの詳細をあまりにも良く学習し、外部データに対する予測でモデルが苦労するときに発生します。 これは、モデルがデータセットの特徴だけでなく、データセット内のランダムな変動や ノイズ を学習し、これらのランダム/重要でない発生に重要性を付ける場合に発生することがあります。
非線形モデルを使用するときにオーバーフィッティングが発生する可能性は高くなります。非線形モデルは、データの特徴を学習するときに柔軟性が高いためです。 ノンパラメトリック機械学習アルゴリズムには、モデルのデータへの感度を制限し、オーバーフィッティングを軽減するために適用できるさまざまなパラメータとテクニックがあります。 たとえば、決定木モデル はオーバーフィッティングに対して非常に敏感ですが、ランダムに詳細の一部を削除するプルーニングというテクニックを使用してオーバーフィッティングを軽減することができます。
もしも、モデルの予測をX軸とY軸でグラフ化すると、予測の線はジグザグに曲がり、モデルがデータセット内のすべてのポイントを説明しようとしていることを反映しています。
オーバーフィッティングの制御
モデルをトレーニングするとき、理想的にはモデルがエラーを生じないようにしたいと思います。 モデルのパフォーマンスがトレーニングデータセット内のすべてのデータポイントを正確に予測するように収束するにつれて、フィットは良くなります。 良いフィットを持つモデルは、オーバーフィッティングせずにトレーニングデータセットをほぼ完全に説明することができます。
モデルをトレーニングするにつれて、パフォーマンスは時間の経過とともに改善されます。 モデルのエラー率はトレーニング時間の経過とともに低下しますが、ある程度まで低下します。 モデルのパフォーマンスがテストセットで再び低下し始めるポイントは、通常、オーバーフィッティングが発生しているポイントです。 モデルの最適なフィットを得るには、トレーニングセットでの損失が最も低いポイントでトレーニングを停止したいと思います。 ただし、この方法でオーバーフィッティングを制御するリスクの 1 つは、テストパフォーマンスに基づいてトレーニングの終了ポイントを指定することです。 これにより、テストデータがトレーニングプロセスの一部として含まれることになり、純粋に「未使用」のデータとしての地位を失います。
オーバーフィッティングに対処する方法は複数あります。 オーバーフィッティングを軽減する 1 つの方法は、モデルの精度を推定するためにリサンプリング戦略を使用することです。 テストセットに加えて バリデーションデータセット を使用し、テストデータセットではなくバリデーションセットに対するトレーニング精度をプロットすることもできます。 これにより、テストデータセットは見えていないまま保持されます。人気のリサンプリング方法の 1 つは K フォールド交差検証です。 このテクニックを使用すると、モデルをトレーニングするデータをサブセットに分割し、モデルが外部データでどのように実行されるかを推定するためにサブセットのパフォーマンスを分析できます。
クロスバリデーションを使用することは、モデルの未知のデータに対する精度を推定するための最も優れた方法の 1 つであり、バリデーションデータセットと組み合わせて使用することで、オーバーフィッティングを最小限に抑えることができます。












