機械学習におけるデータの不均衡の問題を解決するにはどうすればよいでしょうか?

機械学習におけるデータの不均衡の問題を解決するにはどうすればよいでしょうか?

[[194310]]

機械学習のタスクでは、データの不均衡という問題に頻繁に遭遇します。

データの不均衡の問題は、主に教師あり機械学習タスクに存在します。不均衡なデータに遭遇すると、全体的な分類精度を学習目標として使用する従来の分類アルゴリズムでは、多数派クラスに過度に注意が払われ、少数派クラスのサンプルの分類パフォーマンスが低下します。最も一般的な機械学習アルゴリズムは、不均衡なデータセットではうまく機能しません。

この記事では、データの不均衡がある場合に教師ありアルゴリズムを効果的にトレーニングするためのいくつかの効果的な方法を紹介します。

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を初公開

ブログ    
ブログ    
ブログ    

推薦する

LoRAShear: LLM プルーニングと知識回復に関する Microsoft の最新研究

LoRAShear は、言語モデリング (LLM) を最適化し、知識を保存するために Microso...

ニューラルネットワークの動作原理を1つの記事で理解する

この記事では、ディープ ニューラル ネットワークの一般的な概要を説明します。今日では、人工知能につい...

4分でノーベル賞の再現に成功! CMU は化学研究を覆す GPT-4 化学者、自律コーディング、ロボット制御を開発し、Nature に発表

ChatGPT モデルは今年人気となり、予想外に化学の分野全体を覆しました。まず、Google De...

ディープラーニングの背後にある数学的アイデアを分析する

ディープ ニューラル ネットワーク (DNN) は、基本的に複数の接続されたパーセプトロン (パーセ...

AI導入の最大の障壁:熟練した専門家の不足

VentureBeat によると、人工知能 (AI) が革命的なメリットをもたらしたという点について...

人工知能は将来の戦争を防ぐことができるのか?

ロヒット・タルワール[[430155]]米陸軍兵士が発射後、管制室から全長14フィートのシャドウ監視...

Nuscenes 最新 SOTA | DynamicBEV が PETRv2/BEVDepth を上回る!

1. 論文情報2. はじめにこの論文では、自動運転、ロボット工学、監視などのアプリケーションに不可...

...

機械学習ツールボックスには6つの重要なアルゴリズムが隠されています

1. 線形回帰フランスの数学者アドリアン・マリー・ルジャンドルは、彗星の将来の位置を予測することに常...

垂直型AIスタートアップと水平型AIスタートアップ: 異なる製品ルートの選択

AIスタートアップは主に2つのスタイルに分けられます。本日の記事では、その両方を分析して見ていきます...

...

Llama 2 の中国語版はオープンソースであり、言語モデルとマルチモーダルモデルの両方を備えているため、完全に商用利用可能です。

7月19日、Metaはついに無料の商用版Llama 2をリリースし、オープンソースの大規模モデルの...

TensorFlow2 を使用してアラビア語の手書き文字データセットを認識する方法を説明します

[[405478]]このチュートリアルでは、TensorFlow (Keras API) を使用して...

あなたたちは AI を大々的に宣伝していますが、AI はまだ 4 歳児ほど賢くありません。

研究によると、人工知能は強力に聞こえますが、現在の高度な人工知能は、人間の 4 歳児が簡単に解決でき...

畳み込みなしでTransformerのみをベースにした初のビデオ理解アーキテクチャがリリースされました

Facebook AI は、Transformer を完全にベースとし、畳み込みが不要で、トレーニン...