ホームページ >テクノロジー周辺機器 >AI >データ分割手法と落とし穴 - トレーニング セット、検証セット、テスト セットの使用方法

データ分割手法と落とし穴 - トレーニング セット、検証セット、テスト セットの使用方法

王林
王林転載
2024-01-22 14:45:28777ブラウズ

データ分割手法と落とし穴 - トレーニング セット、検証セット、テスト セットの使用方法

信頼性の高い機械学習モデルを構築するには、データセットの分割が不可欠です。分割プロセスには、データ セットをトレーニング セット、検証セット、およびテスト セットに分割することが含まれます。この記事では、これら 3 つのコレクションの概念、データ分割手法、および発生しやすい落とし穴について詳しく紹介することを目的としています。

トレーニング セット、検証セット、テスト セット

トレーニング セット

トレーニング セットは次のとおりです。 used トレーニングに使用され、モデルがデータ内の隠れた特徴/パターンを学習できるようにするために使用されるデータセット。

各エポックでは、同じトレーニング データが繰り返しニューラル ネットワーク アーキテクチャに入力され、モデルはデータの特性を学習し続けます。

モデルがすべてのシナリオでトレーニングされ、将来のデータ サンプルを予測できるように、トレーニング セットには多様な入力セットが含まれている必要があります。

検証セット

検証セットは、トレーニング セットとは別のデータのセットで、トレーニング中にモデルのパフォーマンスを検証するために使用されます。

この検証プロセスでは、モデルのハイパーパラメーターと構成の調整に役立つ情報が提供されます。モデルはトレーニング セットでトレーニングされ、モデルは各エポック後に検証セットで評価されます。

データ セットを検証セットに分割する主な目的は、モデルの過学習を防ぐことです。つまり、モデルはトレーニング セット内のサンプルを分類するのには非常に優れていますが、分類することはできません。目に見えないサンプルを分類する データは一般化され、正確に分類されます。

テスト セット

テスト セットは、トレーニングの完了後にモデルをテストするために使用される別のデータ セットです。精度、精度などの観点から公平な最終モデルのパフォーマンス指標を提供します。簡単に言えば、テスト セットはモデルのパフォーマンスを反映します。

データセットを分割する方法

データセット内にさまざまなサンプルと分割を作成すると、実際のモデルのパフォーマンスを判断するのに役立ちます。データセットの分割率は、データセット内に存在するサンプルとモデルの数によって異なります。

データセット分割に関する一般的な推論

調整する必要があるハイパーパラメータが複数ある場合、機械学習モデルにはより大きな検証セットが必要ですモデルのパフォーマンスを最適化します。同様に、モデルにハイパーパラメータがほとんどないか、まったくない場合は、小規模なデータセットを使用して簡単に検証できます。

モデルのユースケースがモデルのパフォーマンスに重大な影響を与える誤った予測につながる場合は、各エポックの後にモデルを検証して、モデルにさまざまなシナリオを学習させることが最善です。

データの次元/特徴が増加するにつれて、ニューラル ネットワーク関数のハイパーパラメーターも増加し、モデルがより複雑になります。このような場合、大量のデータを検証セットとともにトレーニング セットに保持する必要があります。

データ分割テクノロジー

1. ランダム サンプリング

ランダム サンプリングは最も古く、データセットを分割する最も一般的な方法。名前が示すように、データセットがシャッフルされ、サンプルがランダムに選択され、ユーザーが指定したパーセンテージに基づいてトレーニング、検証、またはテスト セットに配置されます。

ただし、このアプローチには明らかな欠点があります。ランダム サンプリングは、クラスバランスの取れたデータセット、つまり各データセット クラスのサンプル数がほぼ同じであるデータセットで最も効果的に機能します。クラス不均衡なデータセットの場合、このデータ分割方法によりバイアスが生じる可能性があります。

2. 層化サンプリング

層化サンプリングは、不均衡なクラス分布を持つデータ セットにおけるランダム サンプリングの問題を軽減します。各トレーニング、検証、およびテスト セットのクラス分布を保存できます。層化サンプリングは、データを分割するより公平な方法です。

3. 相互検証

相互検証または K 分割相互検証は、より強力なデータ分割手法です。サンプルはモデルを「K」回トレーニングして評価します。

K 分割相互検証を使用して、機械学習モデルをさまざまなデータ分布に公開します。トレーニング セットと検証セットでデータを選択するときに発生する可能性のあるバイアスは、ある程度軽減されます。 K フォールド相互検証スキームを使用する場合、平均値と標準偏差値を報告するのが一般的です。

したがって、K-Fold 相互検証にもランダム サンプリングと同じ問題があり、データ分布が偏る可能性があります。層化を使用すると、データの "K" 個のサブセットまたは部分を生成しながら、データの類似性を維持できます。

#データ分割における一般的な落とし穴

1. 低品質のトレーニング データの使用

Please機械学習アルゴリズムはトレーニング データに敏感であり、トレーニング セットの小さな変更やエラーでもモデルのパフォーマンスに重大なエラーを引き起こす可能性があります。したがって、トレーニング データの品質はモデルのパフォーマンスを向上させるために非常に重要です。

2. 過学習

過学習は、機械学習モデルが未知のデータを分類できないときに発生します。トレーニングデータ内のノイズや変動は特徴として扱われ、モデルによって学習されます。その結果、モデルはトレーニング セットでは良好なパフォーマンスを示しますが、検証セットとテスト セットではパフォーマンスが低下します。

3. 検証とテスト セットのメトリックの強調

検証セット メトリックは、モデルのトレーニング パスを決定するメトリックです。各エポックの後、機械学習モデルは検証セットで評価されます。検証セットのインジケーターに基づいて、対応する損失項を計算し、ハイパーパラメーターを変更します。メトリクスは、モデルのパフォーマンスの全体的な軌跡にプラスの影響を与えるように選択する必要があります。

以上がデータ分割手法と落とし穴 - トレーニング セット、検証セット、テスト セットの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は163.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。