機械学習の基礎の相互検証

相互検証の定義

特定のデータ セットを使用してモデルをトレーニングする場合、モデルの実際のトレーニング状況はデータ セットによって直接影響を受け、実際のトレーニング結果を判断するのは難しく、過小適合や過適合が発生する可能性が非常に高くなります。一般に、アンダーフィッティングとは、モデルのデータ セットに対するトレーニングが不十分であるため、トレーニング データ セットとテスト データ セットの両方でパフォーマンスが低いことを意味します。オーバーフィッティングとは、モデルがトレーニング データ セットに関する情報を取得する際のパフォーマンスが単に優れているだけで、アプリケーションおよびテスト データセットではパフォーマンスが低下します。モデルがアンダーフィッティングを示しているかどうかは、トレーニング データ セットでのモデルのパフォーマンスから直接確認できます。オーバーフィッティングがあるかどうかは、モデルを検証するためにテスト データ セットを使用する必要があるため、通常、特定のデータ セットを使用するときはデータ セットのトレーニング後に確認されます。 , このモデルは、同じデータ構造を持つ別のデータ セットに適用する必要があります。新しいデータ セットに対するこのモデルの適用効果が優れている場合、このモデルのトレーニングは成功したとみなされます。
実際の研究プロセスでは、データ構造は同じだが特定のデータ情報が異なる 2 つのデータセットを使用して関連する実験を行うと実験の複雑さが増すため、通常、テストが必要なデータセットはグループ化され、一部に分割されます。このセットはモデルをトレーニングするためのトレーニング データ セットとして使用され、データ セットの残りの部分はトレーニングされたモデルを検証するためのテスト データ セットとして使用されます。この検証手法は相互検証(Cross Validation、略してCV)と呼ばれ、主に実際のデータ予測やデータ分類において学習済みモデルの精度を推定し、モデルの一般性を判断するために使用されます。変身能力は優秀。相互検証では、トレーニング済みモデルのパフォーマンスを評価して、このデータ セットで最もパフォーマンスの高いモデルを決定できます。また、データに対するモデルの過学習や過小学習をある程度まで減らすこともできます。データからの情報。
現在一般的に使用されている主な交差検証方法は 4 つあり、ランダム サブサンプリング検証 (ホールドアウト法)、K 分割交差検証 (K 分割交差検証)、リーブ ワンアウト相互検証 (リーブ) です。 -one-out 相互検証) ) およびセルフサービス サンプリング検証 (ブートストラップ)。

1. ランダムサブサンプリング検証

ランダム サブサンプリング検証は、他の相互検証手法よりも早く提案されました。厳密に言うと、ランダム サブサンプリング検証はデータ セットを相互利用するものではありません。元のデータ セットをランダムに 2 つのグループに分割するだけです。1 つのグループは、トレーニング データ セットはモデルのトレーニングに使用され、1 つのセットはモデルの検証プロセスのテスト データ セットとして使用されます。この方法は操作が比較的簡単で、データ セットをランダムにグループ化するだけですが、この方法を使用してデータ セットをグループ化すると、トレーニング データ セットと元のデータ セット、またはテスト データ セットとトレーニング データの間のデータの分布が変化します。大きな差が生じるため、トレーニング済みモデルがトレーニング データ セット上でのみ良好なパフォーマンスを発揮するのに、テスト データ セット、つまり最終テスト データの検証結果上ではパフォーマンスが悪くなることが容易に発生します。セットはデータセットのランダムなグループ化とは大きく異なり、大きな関係があります。上記の問題が存在するため、この方法で得られる検証結果は納得できない場合があります。
ここに画像の説明を挿入

2. K 分割交差検証

K 分割クロス検証は、ランダム サブサンプリング検証をベースに改良された手法であり、ランダム サブサンプリング検証とは異なり、サンプリングを繰り返すことなく、元のデータセットをランダムかつ均等に K 個のグループに分割し、K 個のサブデータを取得します。をセットし、モデルのトレーニングとテストのプロセスを K 回実行します。各トレーニングおよびテスト プロセスでは、K 個のサブデータ セットのうち 1 つがモデルのテスト データ セットとして選択され、残りの K-1 個のサブデータ セットがモデルのトレーニング データ セットとして使用され、関連付けられます。検証データセットの結果に対する検証評価を得るために実験が実行されます。最後に、K個のテストデータセットに対する検証評価結果を平均して、最終的な検証評価結果を得る。
K 分割相互検証を使用してモデルのパフォーマンスを検証する場合、元のデータセット内の各サンプル データがトレーニング データ セットとテスト データ セットの両方として使用されるため、検証結果の過学習を回避できます。ランダムなサブサンプリング検証よりも説得力があります。ただし、K 値を決定する統一的な方法がないという欠点があり、一般にデータ量が少ない場合にのみ K 値を 2 とし、データ量が少ない場合は 3 以上の正の値が選択されます。それ以外の場合は整数。
ここに画像の説明を挿入

3. リーブワンアウト相互検証

リーブワンアウト相互検証法の中心的な考え方は、K 分割相互検証法の中心的な考え方と同じであり、データセット内の各サンプル データをトレーニング データとテスト データの両方として使用できます。 。違いは、K 分割相互検証では各テスト データがデータ セットとして使用されるのに対し、リーブ ワンアウト相互検証方法では単一のサンプル データが使用されることです。
元のデータ セットに N 個のサンプル データがあると仮定すると、モデルは N 回トレーニングおよびテストされます。各トレーニングおよびテスト プロセス中に、元のデータ セット内の各サンプル データが、テスト データとして順番に選択されます。残りの N-1 個のサンプルデータは学習処理の学習データセットとして使用され、最後に N 個の検証評価結果の平均計算が行われ、最終的な検証評価結果が得られます。
この方法の最大の利点は、相互検証プロセス中にすべてのサンプルがモデルのトレーニングに使用されるため、トレーニング データセットのサンプルの分布特性が元のサンプル データセットに最も近くなり、これに基づいて得られる評価結果が次のようになります。より信頼性が高くなります。ただし、各サンプルデータを順番にテストデータとして使用するため、元のデータセットの合計サンプルサイズ N が大きい値である場合、結果として得られるモデルの計算量とモデルの学習時間が比較的大きくなり、計算コストが比較的高くなります。大きい、高い。
ここに画像の説明を挿入

4. セルフサービスのサンプリング検証

ブートストラップ サンプリング検証は、使用量が少ない特別な相互検証方法であり、通常は少量のデータを含むデータ セットに適用されます。この手法の最大の特徴は、元のデータセットから置換を含むランダムサンプリングによってトレーニングデータセットを選択し、選択されなかったデータをテストデータセットとして使用することです。トレーニング データのセットとテスト データセット。
元のデータ セットに N 個のサンプル データがあると仮定すると、元のデータ セットは置換によりランダムに N 回抽出され、抽出された N 個のサンプル データがトレーニング データ セットとして使用され、抽出されていないサンプル データがトレーニング データ セットとして使用されます。サンプル データはテスト データ セットとして使用されます。一般に、N の値が無限大に近づくと、サンプル データの約 36.8% がテスト データ セットとして使用されます。
この方法を使用すると、最終的なトレーニング データ セットは元のデータ セットとまったく同じサイズになり、テスト データ セットはトレーニング データ セットの約 1/3 を占めるため、トレーニング データ セットとテスト データの分割比はset の方が合理的ですが、データが大きすぎると、学習データセットのデータ分布が元のデータセットと大きく乖離し、モデルの検証結果に比較的大きな影響を与えます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_42051846/article/details/129441378