機械学習のタスクでは、データの不均衡という問題に頻繁に遭遇します。 データの不均衡の問題は、主に教師あり機械学習タスクに存在します。不均衡なデータに遭遇すると、全体的な分類精度を学習目標として使用する従来の分類アルゴリズムでは、多数派クラスに過度に注意が払われ、少数派クラスのサンプルの分類パフォーマンスが低下します。最も一般的な機械学習アルゴリズムは、不均衡なデータセットではうまく機能しません。 この記事では、データの不均衡がある場合に教師ありアルゴリズムを効果的にトレーニングするためのいくつかの効果的な方法を紹介します。 1. トレーニングセットを再サンプリングする さまざまなデータセットを使用できます。不均衡なデータセットからバランスの取れたデータセットを作成する方法は、アンダーサンプリングとオーバーサンプリングの 2 つがあります。 1.1. アンダーサンプリング アンダーサンプリングは、豊富なクラスのサイズを縮小することでデータセットのバランスをとる方法であり、データの量が十分な場合に使用する必要があります。すべての希少クラスのサンプルを保存し、豊富なクラスから希少クラスのサンプルまで同数のサンプルをランダムに選択することで、バランスの取れた新しいデータセットを取得して、さらにモデリングすることができます。 1.2. オーバーサンプリング 対照的に、オーバーサンプリングはデータ量が不十分な場合に使用する必要があります。これは、豊富なクラスから例の数を削除するのではなく、まれな例の数を増やすことでデータセットのバランスを取ろうとします。新しい希少サンプルは、繰り返し、ブートストラップ、合成少数オーバーサンプリング (SMOTE) などの方法を使用して生成されます。 アンダーサンプリングもオーバーサンプリングも、他の方法に比べて絶対的な利点がないことに注意してください。これら 2 つの方法の適用は、適用可能なユースケースとデータセット自体によって異なります。さらに、オーバーサンプリングとアンダーサンプリングの組み合わせも成功しました。 2. K分割交差検証を使用する 不均衡の問題に対処するためにオーバーサンプリング法を使用する場合は、クロス検証を適切に適用する必要があることに注意してください。これは、オーバーサンプリングではまれなサンプルが観測され、ブートストラップを適用すると分布関数に従って新しいランダム データが生成されるためです。オーバーサンプリング後にクロス検証を適用すると、特定の人工的なブートストラップ結果にモデルを過剰適合するだけになります。このため、特徴選択を実装する場合と同様に、データをオーバーサンプリングする前に必ずクロス検証を実行する必要があります。データを繰り返しサンプリングすることによってのみ、データセットにランダム性を導入し、過剰適合の問題が発生しないようにすることができます。 K 分割交差検証は、元のデータをランダムに K 個の部分に分割し、そのうちの 1 個をテスト データとして選択し、残りの K-1 個の部分をトレーニング データとして選択します。クロスバリデーションのプロセスは、実際には実験を K 回繰り返すことです。毎回、K 個の部分から異なる部分がテスト データとして選択され、残りのデータは実験のトレーニング データとして使用されます。最後に、K 個の実験結果が平均化されます。 3. 分類問題に変換する バイナリ分類問題の場合、正のサンプルと負のサンプルの分布比率が極端に不均衡な場合は、問題をまったく異なる観点から見ることができます。つまり、1 クラス学習または異常検出の問題として見なすことができます。このタイプの方法の焦点は、クラス間の違いを捉えることではなく、クラスの 1 つをモデル化することです。古典的な研究には、次の図に示すように、1 クラス SVM があります。 1 クラス SVM とは、トレーニング データに 1 種類の正 (または負) サンプルのみが含まれ、他の種類は含まれないことを意味します。この時点で、実際に学習する必要があるのは、トレーニング データの境界です。現時点では、2 種類のデータがないため、最大化ソフト エッジは使用できません。 そこで、この論文「高次元分布のサポートの推定」では、Schölkopf は、最大のエッジが特徴空間内の原点から遠く離れていると仮定しています。左側は元の空間の境界です。多くの境界が要件を満たしていることがわかりますが、より狭い境界 (赤) を見つける方が信頼性が高いことがわかります。これを特徴空間に変換する目的は、原点から遠く離れた境界 (これも赤い直線) を見つけることです。もちろん、これらの制約は人為的に追加されたものであり、独自のニーズに応じて対応する制約を採用することができます。たとえば、データの中心を原点から最も遠い位置にします。 注: 極端に不均一な正のサンプルと負のサンプルの問題については、異常検出または分類問題を使用するのも 1 つのアイデアです。 4. 異なる再サンプリングされたデータセットを組み合わせる モデルをうまく一般化する最も簡単な方法は、より多くのデータを使用することです。問題は、ロジスティック回帰やランダムフォレストなどのすぐに使用できる分類器は、まれなクラスを削除してモデルを一般化する傾向があることです。シンプルなベストプラクティスは、希少クラスのすべてのサンプルと豊富クラスの n 個の異なるサンプルをそれぞれ使用する n 個のモデルを構築することです。 10 個のモデルをマージするとします。その場合、たとえば、希少クラスの 1,000 ケースを保持し、豊富クラスの 10,000 ケースをランダムにサンプリングすることになります。次に、10,000 件のケースを 10 個のチャンクに分割し、10 個の異なるモデルをトレーニングします。 このアプローチは、モデルを異なるクラスター ノードでトレーニングして実行できるため、大量のデータがある場合でもシンプルで水平方向にスケーラブルです。アンサンブル モデルは一般化される傾向があり、そのためアプローチが扱いやすくなります。 5. 異なる比率で再サンプリングする 方法 4 では、希少クラスと豊富なクラスの比率を非常にうまく微調整できますが、正確な比率は、使用されるデータとモデルに大きく依存します。ただし、すべてのモデルを同じスケールでアンサンブルでトレーニングするのではなく、異なるスケールを組み合わせてみる価値はあります。 10 個のモデルをトレーニングする場合、1 つのモデルを 1:1 の比率 (希少: 豊富) にし、別のモデルを 1:3 または 2:1 にするのが合理的です。クラスが受け取る重みは、使用されるモデルによって異なります。 6. マルチモデルバギング 方法 5 では、サンプル データの割合を最も高く選択できます。ただし、その堅牢性は保証されません。堅牢性はテスト セット サンプルの選択に依存します。 上記の方法の欠陥を解決し、モデルの堅牢性を高めるため。この目的のために、ランダムフォレストアルゴリズムのアイデアに触発されて、上記の方法に基づいて、異なるスケールでトレーニングされたモデルに対してマルチモデルバギング操作を実行するというアイデアを思いつきました。具体的な手順は次のとおりです。 1) トレーニング用とテスト用の 2 種類のサンプルに対して、異なる割合の N 個のデータ グループを選択し、モデル予測の精度を取得します。 P={π | i=1,2,…N} 2). 上記のモデルの精度を正規化して、新しい重み分布を取得します。 Ω={ωi | i=1,2,…N } で: 3). 最終的なトレーナーとして、重み分布Ωに従って複数のモデルを組み合わせます。 ● 分類タスクの場合: ● 回帰タスクの場合: 7. クラスターエンリッチメント Sergey Quora 氏は、洗練されたアプローチを提案しました。彼は、トレーニング サンプルの種類をカバーするためにランダム サンプルに頼るのではなく、豊富なカテゴリを r グループにクラスタリングすることを提案しました。ここで、r は r 内のサンプルの数です。各グループにはクラスターの中心 (medoid) のみが保持されます。次に、モデルは希少クラスと保持クラスのみでトレーニングされます。 7.1. 豊富なクラスのクラスタリング まず、サンプル数が多いリッチクラスをクラスタ化できます。使用する方法は K-Means クラスタリング アルゴリズムであると仮定します。この時点で、稀少クラスのデータサンプル数として K 値を選択し、クラスタリング後の中心点と対応するクラスタ中心を豊富クラスサンプルの代表例として取り、クラスラベルを豊富クラスラベルと一致させることができます。 7.2. クラスター化されたサンプルの教師あり学習 上記の手順でクラスタリング操作を行った後、豊富なクラスのトレーニング サンプルを選別しました。次に、サンプル数が等しい K 個の正のサンプルと負のサンプルに対して教師ありトレーニングを実行できます。次の図に示すように: 8. 不均衡なデータセットのモデル設計 これまでのアプローチはすべてデータに焦点を当て、モデルを固定コンポーネントとして保持します。しかし実際には、設計されたモデルが不均衡なデータに適している場合は、データを再サンプリングする必要はありません。有名な XGBoost はすでに良い出発点となっているため、不均衡なデータセットに適したモデルを設計することは理にかなっています。 豊富なクラスを誤分類するのではなく、希少クラスの誤分類にペナルティを課すコスト関数を設計することで、希少クラスに自然に一般化される多くのモデルを設計できます。たとえば、まれなクラスの誤分類にペナルティを課すように SVM を調整します。 |
<<: DeepXplore: 現実世界のディープラーニングシステムを体系的にテストするための初のホワイトボックスフレームワーク
>>: ビッグニュース!アリママが自社開発のCTR推定コアアルゴリズムMLRを初公開
暗号通貨は、その極端な変動性で知られています。市場の価格は非常に急速に変動するため、トレーダーが市場...
[[389356]]今日、人工知能技術は急速に発展しており、イノベーションのペースは加速しています。...
[[349500]]人工知能は半世紀以上前から存在していますが、人工知能の分野は過去 10 年間で...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
1. C言語プログラミング実験住所: http://www.shiyanlou.com/course...
ブロックチェーン市場のデータに基づいて機械学習モデルをトレーニングすることで、世界で最も影響力のある...
モノのインターネットは現代のビジネスと経済を急速に変革しています。この革新的なテクノロジーにより、膨...
本日、インテルとその開発者エコシステム パートナーは、「インテリジェント エッジに焦点を当て、開発者...
電子技術の発達により、私たちはいつでもどこでも「視聴覚の饗宴」を楽しめるようになり、人間の聴覚と視覚...
この記事では、一般的に使用されているいくつかの圧縮アルゴリズムのパフォーマンスを比較します。結果は、...
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...