相互検証は、新しいデータに対してモデルがどの程度うまく機能するかを評価するために使用される重要な手法です。主な目標は、過剰適合 (モデルがトレーニング データから学習しすぎるため、目に見えないデータでのパフォーマンスが低下する) や過小適合 (モデルが単純すぎてパターンを捕捉できない) などの問題を最小限に抑える方法でモデルのパフォーマンスを評価することです。データ)。
この概念には、*利用可能なデータを複数のサブセットに分割**することが含まれます。通常は、トレーニング セットと検証セット (テスト セットとも呼ばれる) の 2 つの主要な部分です。
一般的な手法は、k 分割交差検証です。
-
データセットは、ほぼ同じサイズの「k」個のサブセット (またはフォールド) に分割されます。
-
モデルは、毎回異なるフォールドを検証セットとして使用し、残りのフォールドをトレーニング セットとして使用して、「k」回トレーニングされます。
-
たとえば、5 分割交差検証では、データは 5 つのサブセットに分割されます。モデルは 5 回トレーニングされ、毎回、5 つのサブセットのうちの異なる 1 つを検証セットとして使用し、他の 4 つをトレーニング セットとして使用します。
-
パフォーマンス メトリクス (精度、精度、再現率など) は、これらの「k」回の反復にわたって平均されて、最終的なパフォーマンス推定値が得られます。
その他の一般的なテクニックとしては、
リーブワンアウト相互検証 (LOOCV)
-
各データ ポイントは検証セットとして機能し、モデルは残りのデータでトレーニングされます。
-
この方法は、大規模なデータセットでは計算コストが高くなりますが、トレーニングにほぼすべてのデータを使用するため、非常に正確になります。
階層化された相互検証
- 各フォールドがデータセット全体を代表していることを確認します。各フォールド内のクラス分布が維持されるため、不均衡なデータセットに役立ちます。
相互検証は、単一のトレーニングとテストの分割に比べて、目に見えないデータに対するモデルのパフォーマンスのより信頼性の高い推定値を提供するため、非常に重要です。モデルが新しいデータにどのように一般化されるかについてより確実な推定を提供することで、過学習 や 過学習 などの問題を特定するのに役立ちます。
相互検証を使用することで、機械学習の専門家は、モデルの選択、ハイパーパラメーターの調整、および目に見えないデータに対するモデルの汎化パフォーマンスの評価について、より適切な意思決定を行うことができます。