機械学習とデータサイエンスを少しでも勉強したことがあるなら、クラス分布の不均衡に遭遇したことがあるはずです。この状況は、あるカテゴリに属する観測値の数が他のカテゴリに属する観測値の数よりも大幅に少ない状況を指します。 この問題は、電力盗難、銀行での不正取引、希少疾患の特定など、異常検出が重要なシナリオで顕著になります。この場合、従来の機械学習アルゴリズムを使用して開発された予測モデルは偏りがあり不正確になる可能性があります。 これは、機械学習アルゴリズムが通常、エラーを減らすことで精度を向上させるように設計されているためです。したがって、クラスの配分/割合やクラスのバランスは考慮されません。
このガイドでは、さまざまなサンプリング手法を使用してこのクラスの不均衡の問題に対処するためのさまざまなアプローチについて説明します。この記事では、各テクノロジーの長所と短所も比較します。最後に、著者らはバランスの取れたクラス分布を作成する方法を示し、この目的のために特別に設計されたアンサンブル学習手法を適用できるようにします。 目次 1. 不均衡なデータセットの課題 2. 不均衡なデータセットを扱う方法 3. 例 4. 結論 1. 不均衡なデータセットの課題 現在、電力業界が直面している大きな課題の 1 つは、電力盗難です。電力盗難は、世界で3番目に多い盗難形態です。電力会社は、窃盗につながる消費パターンを特定するために、高度なデータ分析技術と機械学習アルゴリズムを利用するケースが増えています。 しかし、最大の障害の 1 つは、膨大な量のデータとその配布です。不正な取引の数は、正常で健全な取引の数よりもはるかに少なく、つまり、全体の観測値の約 1 ~ 2% を占めるだけです。ここでの問題は、全体的な精度を高めることではなく、希少な少数派クラスを識別する精度を向上させることです。 不均衡なデータセットに直面すると、機械学習アルゴリズムは満足のいく分類子を生成しない傾向があります。不均衡なデータセットの場合、予測されるイベントが少数クラスに属し、イベントの割合が 5% 未満である場合、通常、そのイベントはまれなイベントと呼ばれます。 1. 不均衡なクラスの例 例を参考にして、不均衡なクラスについて理解しましょう。 例: 公共料金詐欺検出データセットには、次のデータがあります。
このケースのデータ分析で直面する主な問題は、本質的に確率が低いこれらの異常なイベントについて、適切な数のサンプルを取得してバランスの取れたデータセットを取得するにはどうすればよいかということです。 2. 標準的な機械学習技術を使用する際の課題 不均衡なデータセットに直面すると、機械学習モデルの従来の評価方法ではモデルのパフォーマンスを正確に測定できません。 決定木やロジスティック回帰などの標準的な分類アルゴリズムは、最も数の多いクラスに偏っています。データの大部分を占めるクラスのみを予測する傾向があります。少数派のクラスの特徴はノイズと見なされ、通常は無視されます。したがって、少数派クラスでは多数派クラスに比べて誤分類率が高くなります。 分類アルゴリズムのパフォーマンスは、実際のクラスと予測クラスに関する情報を含む混同行列を使用して評価されます。 上記の表に示すように、モデルの精度 = (TP+TN) / (TP+FN+FP+TP) ただし、精度は、不均衡なドメインでのモデルのパフォーマンスを測定するのに適した指標ではありません。たとえば、まれなイベントが 2% 含まれる分類器は、多数派カテゴリに属するすべてのインスタンスを正しく分類すると 98% の精度を達成できますが、少数派の 2% の観測値はノイズと見なされ、除去されます。 3. 不均衡なクラスの例 まとめると、不均衡なデータセットでビジネス固有の課題を解決しようとする場合、標準的な機械学習アルゴリズムによって生成された分類子では正確な結果が得られない可能性があります。不正な取引のほかに、不均衡なデータセットに伴う一般的なビジネス上の問題には次のようなものがあります。
4. 使用されたデータセット この記事では、非常に不均衡なデータセットでパフォーマンスの高いモデルをトレーニングするためのさまざまな手法を紹介します。まれなイベントを正確に予測するには、次の不正検出データセットを使用します。
2. 不均衡なデータセットを扱う方法 1. データレベルの方法:再サンプリング手法 不均衡なデータセットを処理するには、データを機械学習アルゴリズムに入力する前に、分類アルゴリズムを改善したり、トレーニング データのクラスをバランス調整する (データ前処理) などの戦略を開発する必要があります。後者は、用途が広いため、より一般的に使用されています。 バランスのとれた分類の主な目的は、少数派クラスの頻度を増やすか、多数派クラスの頻度を減らすことです。これは、両方のクラスのインスタンス数をほぼ同じにするために行われます。いくつかの再サンプリング手法を見てみましょう。 (1)ランダムアンダーサンプリング ランダム アンダーサンプリングの目的は、多数派クラスからサンプルをランダムに排除することでクラス分布のバランスをとることです。この目的は、多数派クラスと少数派クラスのインスタンスがバランスがとれるまで達成されます。
この場合、重複のない不正なインスタンスから 10% のサンプルを抽出し、不正なインスタンスと組み合わせます。 ランダムアンダーサンプリング後の不正でない観察 = 980 x 10% = 98 不正な観察と不正でない観察を合わせた合計観察数 = 20 + 98 = 118 アンダーサンプリング後の新しいデータセットのイベント率 = 20/118 = 17% アドバンテージ
欠点
(2)ランダムオーバーサンプリング オーバーサンプリングでは、少数派クラスをランダムに複製してその中のインスタンス数を増やすことで、サンプル内の少数派クラスの表現を増やします。
この場合、20 回の不正な観察を 20 回複製します。
アドバンテージ
欠点
(3)クラスターベースのオーバーサンプリング この場合、少数クラスインスタンスと多数クラスインスタンスに対して K-means クラスタリング アルゴリズムが個別に使用されます。これはデータセット内のクラスターを識別するためです。その後、各クラスターはオーバーサンプリングされ、同じクラスのすべてのクラスターのインスタンスの数が同じになり、すべてのクラスのサイズが同じになります。
多数派クラスタリング
少数派クラスのクラスタリング
各クラスターをオーバーサンプリングした後、同じクラスのすべてのクラスターには同じ数の観測値が含まれます。 多数派クラスタリング
少数派クラスのクラスタリング
クラスターベースのオーバーサンプリング後のイベント率 = 500/ (1020+500) = 33 % アドバンテージ
欠点
(4)情報的オーバーサンプリング:合成少数派オーバーサンプリング技術(SMOTE) この手法は、少数クラスのインスタンスを単純にコピーしてメイン データセットに追加するときに、過剰適合を回避するために使用できます。データのサブセットが少数クラスからインスタンスとして取得され、同様の新しい合成インスタンスが作成されます。これらの合成インスタンスは元のデータセットに追加されます。新しいデータセットは、分類モデルをトレーニングするためのサンプルとして使用されます。
少数クラスから 15 個のインスタンスをサンプルとして取り出し、同様の合成インスタンスを 20 回生成します。 合成インスタンスを生成したら、次のデータセットを作成します。
アドバンテージ
欠点
図1: 合成少数派オーバーサンプリングアルゴリズム、Nは属性の数 図2: SMOTEによる合成インスタンス生成 (5)改良合成少数クラスオーバーサンプリング技術(MSMOTE) これは、少数派クラスの根本的な分布とデータセット内の潜在的なノイズを考慮しない SMOTE の改良版です。そこで、SMOTEの効果を高めるために、MSMOTEが誕生しました。 アルゴリズムは、少数クラスのサンプルを、安全なサンプル、境界サンプル、潜在的なノイズ サンプルの 3 つのグループに分割します。分類は、少数クラスのサンプルとトレーニング データのサンプル間の距離を計算することによって行われます。安全なサンプルとは、分類器のパフォーマンスを向上できるデータ ポイントです。一方、ノイズは分類器のパフォーマンスを低下させる可能性のあるデータ ポイントです。その間にあるデータ ポイントは境界サンプルとして分類されます。 MSOMTE の基本的なプロセスは SMOTE と同じですが、MSMOTE では近傍を選択する戦略が SMOTE とは異なります。アルゴリズムは、セキュリティ サンプルから k 近傍データ ポイントをランダムに選択し、境界サンプルから最も近い近傍を選択し、潜在的なノイズ サンプルに対しては操作を実行しません。 2. アルゴリズムアンサンブル技術 上記のセクションでは、元のデータを再サンプリングしてバランスの取れたクラスを提供することで、不均衡なデータを処理する方法について説明しました。このセクションでは、既存の分類アルゴリズムを変更して不均衡なデータセットに適用できるようにするという代替アプローチについて説明します。 アンサンブル法の主な目的は、単一の分類器のパフォーマンスを向上させることです。この方法では、生データから複数の 2 レベル分類器を構築し、それらの予測を統合します。 図3: アンサンブルベースのアプローチ (1)バギングベースの方法 Bagging は Bootstrap Aggregating の略です。従来のバギング アルゴリズムでは、置換によって「n」個の異なるブートストラップ トレーニング サンプルを生成し、予測を集約する前に各ブートストラップ アルゴリズムでアルゴリズムを個別にトレーニングします。 バギングは、過剰適合を減らして学習を改善し、正確な予測を生成するためによく使用されます。ブースティングとは異なり、バギング法ではブートストラップされたサンプルの置換が可能です。 図4: バギング法
母集団から 10 個のブートストラップ サンプルが復元選択されました。各サンプルには 200 個の観測値が含まれます。各サンプルは元のデータセットとは異なりますが、分布と変動の点では元のデータセットに似ています。機械学習アルゴリズム (ロジスティック回帰、ニューラル ネットワーク、決定木など) は、200 個の観測値のブートストラップ サンプルに適合され、分類器 c1、c2、... c10 が集約されて複合分類器が生成されます。このアンサンブル アプローチでは、個々の分類器の結果を組み合わせるため、より強力な複合分類器が生成されます。 アドバンテージ
欠点
(2)ブースティングベースの方法 ブースティングは、弱い学習者を組み合わせて、正確な予測を行うことができる強い学習者を作成するアンサンブル手法です。ブースティングは、トレーニング データ上に準備された基本分類器/弱分類器から始まります。 基本学習器/分類器は弱い学習器です。つまり、その予測精度は平均よりわずかに優れているだけです。弱いとは、データに小さな変更があっても、分類モデルに大きな変更が生じることを意味します。 次の反復では、新しい分類器は、前のラウンドで誤分類されたケースに焦点を当てます。 図5: ブースティング法 a. アダプティブブースティング——Ada Boost Ada Boost は、多くの弱く不正確なルールを組み合わせることで、非常に正確な予測を作成できる最も初期のブースティング手法です。各トレーナーは、前のラウンドで正しく分類されなかったインスタンスを各ラウンドで正しく分類することを目的として、連続的にトレーニングされます。 学習した分類器が強力な予測を行うには、次の 3 つの条件を満たす必要があります。
それぞれの弱い仮説の精度はランダムな推測よりもわずかに優れています。つまり、誤差項 €(t) は ½-β よりわずかに大きくなります (β>0)。これはブースティング アルゴリズムの基本的な仮定であり、わずかな誤差のみで最終仮説を生成します。 各ラウンドの後に、分類がより難しいインスタンスにさらに注意を払います。この注目の度合いは重みによって測ることができます。最初はすべてのインスタンスの重みは同じですが、反復ごとに誤分類されたインスタンスの重みが増加し、正しく分類されたインスタンスの重みは減少します。 図6: 適応ブースティング法 たとえば、1000 個の観測値を含むデータセットがあり、そのうち 20 個が不正とマークされているとします。最初は、すべての観測値に同じ重み W1 が割り当てられ、基本分類器はそのうち 400 個を正しく分類しました。 次に、誤分類された 600 個の観測値の重みが W2 に増加され、正しく分類された 400 個のインスタンスの重みが W3 に減少されます。 各反復で、これらの更新された重み付けされた観測値が弱分類器に送られ、そのパフォーマンスが向上します。このプロセスは、誤分類率が大幅に減少し、強力な分類器が得られるまで継続されます。 アドバンテージ 実装が非常に簡単 一般化が容易 - あらゆるタイプの分類問題に適しており、過剰適合しにくい 欠点
b. 勾配木ブースティング 勾配ブースティングでは、多くのモデルが順番にトレーニングされます。これは、各モデルが勾配降下法を使用して損失関数 y = ax+b+e を最小化する数値最適化アルゴリズムです。 勾配ブースティングでは、決定木が弱学習器として使用されます。 Ada ブースティングと勾配ブースティングはどちらも弱い学習者/分類器に作用し、それらを強い学習者にしようとしますが、2 つのアプローチにはいくつかの重要な違いがあります。 Ada Boost では、実際のトレーニング プロセスの前に、ユーザーが弱学習器のセットを指定するか、弱学習器をランダムに生成する必要があります。各学習者の重みは、各ステップで分類を正しく実行したかどうかに基づいて調整されます。一方、勾配ブースティングでは、サンプルを予測するためにトレーニング データセット上に最初の学習器を構築し、損失 (つまり、真の値と最初の学習器の出力の差) を計算し、この損失を使用して第 2 段階で改善された学習器を構築します。 各ステップで、損失関数の残差は勾配降下法を使用して計算され、新しい残差が後続の反復のターゲット変数になります。 勾配ブースティングは、SAS Miner と GBM パッケージの勾配ブースティング ノードを使用して R に実装できます。 図7: 勾配ブースティング法 たとえば、1,000 個の観測値を含むトレーニング データセットがあり、そのうち 20 個が不正とラベル付けされており、初期の基本分類器があるとします。ターゲット変数は Fraud です。トランザクションが不正な場合、Fraud = 1 になります。トランザクションが不正でない場合は、Fraud = 0 になります。 たとえば、決定木は、5 つの観測値のみを不正であると正しく分類するケースに適合します。次に、そのステップの実際の出力と予測出力の差に基づいて、微分可能な損失関数が計算されます。この損失関数の残差は、次の反復のターゲット変数 F1 になります。 同様に、アルゴリズムは内部的に損失関数を計算し、各段階で目的を更新し、初期分類器に基づいて改善された分類器を提案します。 欠点
c. XGBoost XGBoost (Extreme Gradient Boosting) は、Gradient Boosting アルゴリズムのより高度で効率的な実装です。 他のブースティング技術と比較した利点:
XGBoost は、R および Python の XGBoost パッケージを使用して実装できます。 3. 実際の事例 1. データの説明 この例では、47,241 件の顧客レコードを含む通信会社のデータ セットを使用します。各レコードには、27 個の主要な予測変数に関する情報が含まれています。 稀少事象データセットのデータ構造は、欠損値の削除、外れ値の処理、次元削減である。 データセットをここからダウンロードしてください: https://static.analyticsvidhya.com/wp-content/uploads/2017/03/17063705/SampleData_IMC.csv 2. 方法の説明 合成少数オーバーサンプリング手法 (SMOTE) を使用して不均衡なデータセットのバランスをとる – この手法では、合成例を作成することでデータセットのバランスをとろうとします。次の R コードは、勾配ブースティング アルゴリズムを使用してバランスの取れたデータ セットをトレーニングする方法を示す例として使用されます。
結果 バランスの取れたデータセットで SMOTE を使用し、勾配ブースティング アルゴリズムをトレーニングするこのアプローチにより、予測モデルの精度が大幅に向上します。一般的な分析モデリング手法 (ロジスティック回帰や決定木など) と比較すると、この方法ではリフトが 20% 増加し、精度が 3 ~ 4 倍になります。 IV. 結論 不均衡なデータセットに直面した場合、予測モデルの精度を向上させるためのワンストップソリューションは存在しません。データセットに最適なサンプリング手法を見つけるには、複数のアプローチを試す必要がある場合があります。ほとんどの場合、SMOTE や MSMOTE などの合成技術は、従来のオーバーサンプリングやアンダーサンプリングの方法よりも優れたパフォーマンスを発揮します。 より良い結果を得るには、Gradeint ブースティングや XGBoost とともに、SMOTE や MSMOTE などの合成サンプリング手法を使用できます。 不均衡なデータセットの問題を解決するためによく使用される高度なバギング手法の 1 つが SMOTE バギングです。このアプローチでは、各 Bag/Bootstrap を作成するために、従来のバギング手法とはまったく異なるアプローチを採用しています。各反復で SMOTE 再サンプリング レートを設定することにより、SMOTE アルゴリズムを介して正の例を生成できます。各反復で、負の例セットがブートストラップされます。 最も効果的な手法は、不均衡なデータセットの特性によって異なります。モデルを比較する際には、関連する評価パラメータを考慮する必要があります。 上記の技術を総合的に組み合わせて構築された複数の予測モデルを比較する場合、Lift と ROC 曲線の下の領域が最適なモデルを決定する役割を果たします。 この記事の著者は、KPMG のデータ分析コンサルタントである Upasana Mukherjee です。 元記事のアドレス: https://www.analyticsvidhya.com/blog/2017/03/imbalanced-classification-problem/ [この記事は、51CTOコラムニストのMachine Heart、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
<<: 音声認識、マッチングアルゴリズム、モデルに関する簡単な説明
>>: 平昌オリンピックに向けたパイロットプロジェクトとして5Gバスとドローンがデビュー
「時期尚早な最適化は諸悪の根源である。」 —ドナルド・アーヴィン・クヌース、コンピュータ科学者、数...
今日、機械学習モデルはビジネス上の意思決定の主な原動力となっています。他のビジネス戦略と同様に、これ...
[51CTO.comより引用] 近年、人工知能が大流行し、多くの大企業、中堅企業、中小企業が動き始め...
複雑な AI モデルを学習するには膨大な量のデータが必要であり、ヘルスケア データは全データのほぼ ...
転載は歓迎しますが、署名し、「劉鵬の未来を見つめる」公開アカウントからの転載であることを明記し、この...
「サイバーセキュリティ」という用語は、ネットワークシステムにおけるハードウェア、ソフトウェア、データ...
世界中で人工知能の大規模な構築と応用の発展が加速する中、近年、人工知能ガバナンスの問題が社会の関心を...
9月23日夜、杭州アジア競技大会の開会式でメイントーチに火が灯されると、数億人のオンラインデジタル聖...
誰かが本当にあなたの顔を真似して、顔認識システムを回避できるのです! 最近、スタンフォード大学の研究...
ChatGPTの登場以来、金融業界はたちまち不安に陥っています。テクノロジーを信頼するこの業界は、...