機械学習におけるデータ不均衡の問題を解決する方法

機械学習におけるデータ不均衡の問題を解決する方法

[[186778]]

近年、機械学習やデータマイニングは非常に人気があり、徐々に世界に実用的な価値をもたらしています。同時に、ますます多くの機械学習アルゴリズムが学界から産業界へと移行しており、このプロセスには多くの困難があります。データの不均衡の問題は最も難しい問題ではありませんが、間違いなく最も重要な問題の 1 つです。

1. データの不均衡

学術研究や教育において、多くのアルゴリズムは、データの分布が均一であるという基本的な仮定に基づいています。これらのアルゴリズムを実際のデータに直接適用すると、ほとんどの場合、理想的な結果が得られません。実際のデータは不均等に分布していることが多いため、「ロングテール現象」、いわゆる「80/20 の原則」が発生します。次の図は、Sina Weibo でのインタラクションの分布を示しています。

ほとんどのWeibo投稿のインタラクション数(リポスト数、コメント数、いいね数)は0〜5の間であり、インタラクション数が多い(100以上)Weibo投稿は非常に少ないことがわかります。 Weibo 投稿のインタラクション数の順位を予測する場合、予測子は Weibo のすべての投稿を第 1 層 (0 ~ 5) にあると予測するだけで非常に高い精度を達成できますが、そのような予測子には価値がありません。では、機械学習におけるデータの不均衡の問題をどのように解決すればよいのでしょうか。これがこの記事の主な内容です。

厳密に言えば、どのデータセットにもデータの不均衡は存在しますが、これは多くの場合、問題自体によって決まりますが、ここでは分布の差が比較的大きいものにのみ焦点を当てます。また、多くのデータセットには複数のカテゴリが含まれていますが、ここではバイナリ分類に焦点を当てています。バイナリ分類でデータの不均衡の問題を解決した後、それを一般化してマルチ分類のソリューションを得ることができるためです。要約すると、この記事では主に、陽性サンプルと陰性サンプルの差が 2 桁以上ある場合に、バイナリ分類におけるデータ不均衡の問題を解決する方法について説明します。

不均衡の度合いが同じ 2 つの問題 (つまり、陽性サンプルと陰性サンプルの比率が似ている問題) は、問題の難易度が異なる場合があります。これは、問題の難易度がデータの量によっても異なるためです。例えば、Weiboインタラクション数を予測する問題では、データが不均衡であるにもかかわらず、各レベルのデータ量は非常に大きく、最小のカテゴリには数万のサンプルがあります。このような問題は通常、解決しやすいです。癌診断のシナリオでは、癌に罹患している人が非常に少ないため、データが不均衡であるだけでなく、サンプル数も非常に少ないため、このような問題は非常にトリッキーです。要約すると、問題を小さいものから大きいものの順に難易度順にランク付けすることができます: ビッグ データ + バランスのとれた分布 < ビッグ データ + 不均衡な分布 < スモール データ + バランスのとれたデータ < スモール データ + 不均衡なデータ。解決すべき問題に対して、データを取得した後、まず利用可能なトレーニング データの量を数え、次にデータの分布を観察します。経験上、トレーニング データ内の各カテゴリに 5,000 を超えるサンプルがある場合、データ量は十分であり、陽性サンプルと陰性サンプルの差は 1 桁以内で許容されるため、データの不均衡の問題を考慮する必要はありません (これは純粋に経験的であり、理論的根拠はなく、参考用です)。

2. 解決方法

この問題を解決するための基本的な考え方は、サンプリングや重み付けの方法などを使用して、トレーニング プロセスで正のサンプルと負のサンプルに同等の発言権を与えることです。便宜上、データセット内のサンプル数が多いクラスを「メインクラス」、サンプル数が少ないクラスを「ニッチクラス」と呼びます。

1. サンプリング

サンプリング方法は、トレーニング セットを処理して、不均衡なデータ セットを均衡のとれたデータ セットに変換します。これにより、ほとんどの場合、最終結果が向上します。

サンプリングはアップサンプリング(オーバーサンプリング)とダウンサンプリング(アンダーサンプリング)に分けられます。アップサンプリングは小さなカテゴリを複数コピーすることであり、ダウンサンプリングは多数派カテゴリから一部のサンプルを削除したり、多数派カテゴリから一部のサンプルのみを選択したりすることです。

ランダムサンプリングの最大の利点はその単純さですが、欠点も明らかです。アップサンプリングされたデータ セットには一部のサンプルが繰り返し出現し、トレーニングされたモデルにはある程度のオーバーフィッティングが発生します。ダウンサンプリングの欠点は明らかで、最終的なトレーニング セットではデータが失われ、モデルは全体的なパターンの一部のみを学習します。

アップサンプリングでは少数サンプルが複数回コピーされ、高次元空間にポイントが繰り返し出現します。これにより問題が発生します。つまり、運が良ければ多くのポイントを正しく分類できますが、そうでない場合は多くのポイントが誤分類されます。この問題に対処するには、新しいデータ ポイントを生成するたびにわずかなランダムな摂動を加えることができます。これは非常に効果的であることが証明されています。

ダウンサンプリングによって情報損失が発生するので、情報損失をどのように減らすことができるでしょうか。最初の方法は EasyEnsemble と呼ばれ、モデル融合法 (Ensemble) を使用します。複数のダウンサンプリング (生成されたトレーニング セットが互いに独立するようにサンプルを置き換える) によって複数の異なるトレーニング セットが生成され、複数の異なる分類器がトレーニングされ、複数の分類器の結果を組み合わせて最終結果が取得されます。 2 番目の方法は BalanceCascade と呼ばれ、増分トレーニング (ブースティング) の考え方を使用します。まず、ダウンサンプリングによってトレーニング セットが生成され、分類器がトレーニングされます。正しく分類された公開サンプルは置き換えられず、次にこの小さな公開サンプルがダウンサンプリングされてトレーニング セットが生成され、2 番目の分類器がトレーニングされます。これを繰り返し、最終的にすべての分類器の結果が結合されて最終結果が得られます。 3 番目の方法は、KNN を使用して最も代表的な質量サンプルを選択することです (NearMiss と呼ばれます)。このタイプの方法は計算集約的です。興味のある方は、レビュー「不均衡なデータからの学習」のセクション 3.2.1 を参照してください。

2. データの統合

データ合成法では、既存のサンプルを使用してより多くのサンプルを生成します。このタイプの方法は、医療画像分析などの小規模なデータ シナリオで多くの成功例があります。

最も一般的な方法の 1 つは SMOTE と呼ばれ、特徴空間内のニッチ サンプルの類似性を使用して新しいサンプルを生成します。少量サンプルの場合

ニッチクラスに属するK個の最近傍点からランダムにサンプル点を選択する

新しいニッチサンプルを生成する

乱数です。

上の図はSMOTE法を示している。

最近傍の下の概略図。黒い四角は生成された新しいサンプルです。

SMOTE は、各ニッチ サンプルに対して同じ数の新しいサンプルを合成しますが、これにはいくつかの潜在的な問題が伴います。一方では、クラス間の重複の可能性が高まり、他方では、有用な情報を提供しないサンプルがいくつか生成されます。この問題を解決するために、Borderline-SMOTE と ADASYN という 2 つの方法が登場しました。

Borderline-SMOTE のソリューションは、新しいサンプルを合成する必要があるニッチなサンプルを見つけることです。つまり、各ニッチ サンプルに対して K 近傍が計算され、K 近傍が多数派サンプルの半分以上を占めるニッチ サンプルに対してのみ新しいサンプルが生成されます。直感的に言えば、主流のサンプルに囲まれているニッチなサンプルは境界サンプルになる傾向があるため、新しいサンプルはそれらのサンプルに対してのみ生成されます。新しいサンプルを生成するニッチ サンプルを決定した後、SMOTE を使用して新しいサンプルを生成します。

ADASYN のソリューションは、データ分布に基づいて、さまざまなニッチ サンプルに対して異なる数の新しいサンプルを生成することです。まず、最終的なバランス レベルに応じて、生成される新しいニッチ サンプルの総数が設定されます。

数を決定した後、SMOTE を使用して新しいサンプルを生成します。

3. 重み付け

サンプリングや新しいデータの生成などの方法に加えて、重み付けによってデータの不均衡の問題を解決することもできます。つまり、次の図に示すように、異なるカテゴリを誤分類するコストが異なります。

横方向が実際の分類状況、縦方向が予測分類状況です。C(i,j)は実際のカテゴリjのサンプルがiであると予測された場合の損失です。実際の状況に応じて値を設定する必要があります。

この方法の難しさは、適切な重みを設定することです。実際のアプリケーションでは、カテゴリ間の加重損失値は一般にほぼ等しくなります。もちろん、これは普遍的なルールではなく、特定の問題は個別に分析する必要があります。

4. 分類

正のサンプルと負のサンプルが極端に不均衡なシナリオの場合、問題をまったく異なる視点から見ることができます。つまり、1 クラス学習または異常検出の問題として考えます。このタイプの方法の焦点は、クラス間の違いを捉えることではなく、クラスの 1 つをモデル化することです。古典的な研究には、One-class SVM があります。

3. 選び方

データの不均衡の問題を解決する方法はたくさんあります。上記は、最も一般的に使用される方法の一部にすぎません。最も一般的に使用される方法はたくさんあります。実際の問題に応じて適切な方法を選択するにはどうすればよいでしょうか。次に、私の経験についていくつかお話しします。

陽性サンプルと陰性サンプルが非常に少ない場合は、データ合成を使用する必要があります。陰性サンプルは十分にあり、陽性サンプルは非常に少なく、その比率が非常に大きい場合は、分類方法を検討する必要があります。陽性サンプルと陰性サンプルが十分にあり、比率が特に変わらない場合は、サンプリング方法または加重方法を検討する必要があります。

サンプリングと重み付けは数学的には同等ですが、実際のアプリケーションでは効果が異なります。特に、ランダム フォレストなどの分類方法をサンプリングする場合、トレーニング セットはトレーニング プロセス中にランダムにサンプリングされます。この場合、計算リソースが許せば、アップサンプリングの方が重み付けよりも優れていることがよくあります。

さらに、アップサンプリングとダウンサンプリングはどちらもデータ セットのバランスをとることができ、十分なデータがある場合は同等ですが、両者の間には違いがあります。実際のアプリケーションでは、私の経験では、コンピューティング リソースが十分で、ニッチ クラスのサンプルが十分にある場合はアップサンプリングを使用する必要がありますが、そうでない場合はダウンサンプリングを使用する必要があります。これは、アップサンプリングによってトレーニング セットのサイズが大きくなり、トレーニング時間が長くなり、トレーニング セットが小さいと過剰適合が発生しやすくなるためです。ダウンサンプリングの場合、比較的多くの計算リソースと優れた並列環境がある場合は、Ensemble 方式を選択する必要があります。

<<:  チャットボットについては長い間話されてきましたが、良いチャットボットとはどのように定義されるのでしょうか?

>>:  ロボットによるカスタマーサービスが本物か偽物かを見分けるのは難しいですか? !

ブログ    
ブログ    

推薦する

新しいディープラーニングモデルがエッジデバイスに画像セグメンテーションをもたらす方法

[51CTO.com クイック翻訳]画像セグメンテーションは、画像内のオブジェクトの境界と領域を決定...

AIとプライバシーの未来: コンピュータービジョンソリューションとプライバシー

データ保護とセキュリティは、何十年もの間、企業にとって最大の懸念事項でした。現在、75% 以上の企業...

AI対応データセンターは急速に成長すると予想

企業の人工知能に対する飽くなき需要により、計算集約型の AI アプリケーションを処理するために設計さ...

2021年、AIの想像力を再構築する

2020年という章が静かに変わり、多くの人々が安堵のため息をつくことができました。しかし、この一年は...

順序保存回帰: リソース利用を最大化するアルゴリズム

[[205069]] 1. 数学的な定義順序保存回帰は回帰アルゴリズムの一種です。基本的な考え方は、...

IoT/AIプロジェクトへの投資家を見つけるのに最適な方法

問題を解決するには、説明するのではなく検証する[[284237]]多くの IoT プロジェクトの提示...

過去1年間、世界は人工知能の倫理について次のような考えを抱いてきた。

1月下旬に終了したCES 2019で、LGの社長兼最高技術責任者であるIP Park氏が、AIがど...

NvidiaとGenentechがAIを活用して新薬発見を加速させる提携

Nvidia はバイオテクノロジー大手の Genentech と提携し、生成 AI を含む最先端の人...

AIモデリングはもはや困難ではない:Jiuzhang Yunji DataCanvasが2つのオープンソース成果をリリース

[51CTO.comより] 「ソフトウェアインフラは大幅なアップグレードを受け、AIの実装はソフトウ...

...

テレンス・タオ:初心者はAIツールを使って専門家レベルのタスクを実行すべきではないし、GPTは専門家にとってあまり役に立たない

著名な数学者テレンス・タオ氏はここ数か月、ChatGPTなどの大規模モデルAIツールを使用して数学の...

...

再サンプリングからデータ合成まで: 機械学習における不均衡な分類問題にどのように対処するか?

機械学習とデータサイエンスを少しでも勉強したことがあるなら、クラス分布の不均衡に遭遇したことがあるは...