過小適合とは、データ・モデルがインプット変数とアウトプット変数の関係を正確に把握できず、トレーニングようデータ・セットと未知のデータの両方で高いエラー率を生成する、データサイエンスにおける一シナリオです。
過小適合は、モデルが単純すぎる場合に発生します。これは、モデルに必要なトレーニング時間の増加、インプット機能の増加、または正規化の低下が原因である可能性があります。
過剰適合と同様に、モデルの適合が不十分な場合、データ内の主要な傾向を確立できず、トレーニング・エラーが発生し、モデルのパフォーマンスが低下します。モデルが新しいデータにうまく一般化できない場合は、分類や予測のタスクに活用することはできません。新しいデータに対してモデルを一般化することで、最終的に機械学習アルゴリズムを毎日使用して予測を行い、データを分類することが可能となります。
バイアスが高く、分散が低いことは、過小適合が起きていることを示しています。この動作はトレーニング用データ・セットの使用中に確認できるため、通常、過剰適合モデルよりも適合不足モデルの方が特定が容易です。
端的に言えば、過剰適合は過小適合の反対で、モデルが過剰にトレーニングされた場合、または複雑性が高すぎる場合に発生し、テスト用データで高いエラー率が発生します。モデルの過剰適合は過小適合よりも一般的であり、過小適合は通常、「早期停止」と呼ばれるプロセスを通じて過剰適合を回避するために発生します。
トレーニング不足または複雑性の欠如により過小適合が発生する場合、論理的な防止策としては、トレーニングの期間を延長するか、より関連性の高いインプットを追加することが考えられます。ただし、モデルを過度にトレーニングしたり、モデルに多くの機能を追加したりすると、モデルが過剰適合し、バイアスは低くなりますが、分散は高くなります(つまり、バイアスと分散の間にトレードオフが存在します)。このシナリオでは、統計モデルがトレーニング用データ・セットに近すぎるため、新しいデータ・ポイントに適切に一般化できなくなります。決定木やKNNなど、一部の種類のモデルは他のモデルよりも過剰適合が発生しやすいことに注意することが重要です。
過剰適合は、過小適合を特定するよりも難しくなる場合があります。これは、過小適合とは異なり、過剰適合モデルではトレーニング用データ・セットが高い精度で実行されるためです。アルゴリズムの精度を評価するには、通常、k分割クロス検証と呼ばれる手法が使用されます。
K分割交差検証では、データをK個の同じサイズのサブセットに分割します。これは「フォールド」とも呼ばれます。分割したK個のフォールドの1つはホールドアウト・セットまたは検証セットとも呼ばれるテスト・セットとして機能し、残りのフォールドはモデルをトレーニングします。このプロセスを各フォールドがホールドアウト・フォールドとして機能するまで繰り返します。 各評価の後、スコアが保持され、すべての反復が完了すると、スコアが平均化されてモデル全体のパフォーマンスが評価されます。
モデルを適合する際の理想的なシナリオは、過剰適合と過小適合の間のバランスを見つけることです。2つの間の「均衡」を特定することで、機械学習モデルは正確な予測を行うことができます。
トレーニング用データ・セットに基づいて過小適合を検出できるため、インプット変数とアウトプット変数間の優勢な関係を最初から確立するのに役立ちます。適切なモデルの複雑さを維持することで、過小適合を回避し、より正確な予測を行うことができます。以下に、過小適合を回避できるいくつかのテクニックを紹介します。
正則化は通常、係数が大きいインプット・パラメーターにペナルティーを適用することで、モデルの分散を減らすために使用されます。L1正則化、Lasso正則化、ドロップアウトなど、モデル内のノイズや外れ値を削減するのに役立つさまざまな方法があります。ただし、データの特徴が均一になりすぎると、モデルは主要な傾向を識別できなくなり、適合不足につながります。正規化の量を減らすと、モデルにさらに複雑さとバリエーションが導入され、モデルのトレーニングが成功します。
前述のように、トレーニングを早期に停止すると、モデルの過小適合が発生する可能性があります。したがって、トレーニング期間を延長することで、これを回避できます。一方、過剰にトレーニングすることで、過剰適合を発生させないように注意することが重要です。2つのシナリオのバランスを見つけなければなりません。
どのモデルでも、特定の機能を使用して特定の結果が決定されます。十分な予測機能が存在しない場合には、より多くの機能またはより重要度の高い機能を導入する必要があります。例えば、ニューラル・ネットワークでは、隠しニューロンを追加したり、ランダム・フォレストでは、ツリーを追加したりすることがあります。このプロセスにより、モデルにさらなる複雑さが注入され、より優れたトレーニング結果が得られます。