銀行が新規顧客が債務不履行になるかどうかを判断する際、債務不履行にならない顧客と債務不履行になる顧客の比率は通常 99:1 です。実際、債務不履行になる人の数は非常に少ないです。このような分類状況では、モデルが何もせず、すべての人を債務不履行にならない人とみなしても、精度は 99% になる可能性があります。これでは、モデルの評価指標は意味をなさず、「債務不履行になる人を特定する」というモデリングの目的を達成できません。 このようなサンプルの不均衡の例は、生活のあらゆる場所で見られます。これは通常、異常検出、顧客離れ、まれな時間分析、スパム識別、クレジットカードの信用問題、不正取引検出、工場での不良品検出などの低頻度イベントなどのシナリオで発生します。 このようなサンプルの不均衡なタスクに対処する場合、従来の方法では実際のビジネス要件を満たすことができず、できるだけ多くの少数クラスのサンプルを正確に取得することができません。サンプルの不均衡により、分類モデルに重大な偏りが生じるためです。 この記事では、機械学習におけるサンプルの不均衡を処理するための戦略、一般的な方法、ツールを紹介します。 不均衡な分類データ セット内の各カテゴリのサンプル数は非常に不均衡であり、データ サイズに基づいて次のカテゴリに分類できます。
不均衡なサンプル分布は、異なるカテゴリ間のサンプル比率の違いに起因しており、サンプルからパターンを抽出することが困難になっています。一般的に10倍を超えると注意が必要となり、20倍になると対処が必要になります。 不均衡処理戦略の例データセットの拡張サンプルが不均衡な場合は、一定の割合で小規模クラスのサンプル データを追加してデータ セットを拡張できます。多くの場合、データが多いほど、アルゴリズムが優れています。機械学習では既存のデータを使用してデータ全体の分布を推定するため、多くの場合、データが多いほど分布情報が多くなり、分布の推定精度が向上します。 ただし、小さなカテゴリのサンプルデータを増やすと、大きなカテゴリのデータも増えることがあり、サンプルの不均衡の問題を大幅に解決することはできません。現時点では、大規模カテゴリのサンプル データをアンダーサンプリングし、一部の大規模カテゴリ データを破棄することで問題を解決できます。 評価指標を再選択精度が、バランスのとれたカテゴリによる分類タスクにおける分類モデルを効果的に評価できないため、モデルが失敗し、ビジネスを誤解させ、大きな損失につながる可能性があります。 最も一般的な評価指標は混同行列です。混同行列とは、分類器によって予測されたカテゴリのサンプルと、その実際のカテゴリ (TP、FN、FP、TN) をカウントする表です。精度 Precision、再現率 Recall、F1 スコア F1-Score などを含みます。 データセットを再サンプリングするサンプリング戦略を使用すると、データの不均衡を軽減できます。主な方法は2つあります
多くの場合、サンプリング アルゴリズムは実装が簡単で、実行が速く、パフォーマンスも良好です。サンプリング戦略を使用する場合は、次の点を考慮してください。
人工データサンプルを生成する簡単な方法は、このクラスのすべてのサンプルの各属性機能の値空間から値をランダムに選択して新しいサンプルを形成すること、つまり、属性値のランダム サンプリングを行うことです。新しい人工サンプルは、経験に基づいて属性値をランダムにサンプリングするか、各属性が互いに独立してサンプリングされていると仮定して、ナイーブベイズに似た方法を使用することで構築できます。これにより、より多くのデータが生成されますが、属性間の線形関係(存在する場合)は保証されません。 SMOTE (Synthetic Minority Over-sampling Technique) と呼ばれる人工データ サンプルを構築する体系的な方法があります。 SMOTE は、小さなクラス内の既存のサンプルのコピーを生成するのではなく、新しい小さなクラスのサンプルを構築するオーバーサンプリング アルゴリズムです。つまり、アルゴリズムによって構築されるデータは、元のデータ セットには存在しない新しいサンプルです。 この方法では、距離メトリックに基づいて小さなカテゴリ内の 2 つ以上の類似サンプルを選択し、サンプルの 1 つを選択し、選択したサンプルの属性にノイズを追加するために、一度に 1 つの属性を処理するために、一定数の隣接サンプルをランダムに選択します。これにより、さらに新しいデータが構築されます。 さまざまな分類アルゴリズムを試すあらゆる機械学習タスクに、お気に入りの使い慣れたアルゴリズムを使用しているという事実に、多くの人が共感すると思います。ただし、特に不均衡なサンプルなどの分類タスクの場合、タスク自体の特性に応じて、タスクごとに異なるアルゴリズムを選択する必要があります。異なるタスクやデータには異なるアルゴリズムが使用されるため、それらを比較するには異なるアルゴリズムを使用する必要があります。 決定木は、クラスのバランスが崩れたデータに対しては、良好なパフォーマンスを発揮する傾向があります。クラス変数に基づく分割ルールを使用して分類ツリーを作成し、異なるカテゴリのサンプルを強制的に分離します。 モデルにペナルティを課す同じ分類アルゴリズムを、異なる角度から使用することもできます。たとえば、分類タスクが小さなカテゴリを識別することである場合、分類器の小さなカテゴリのサンプル データの重みを増やし、大きなカテゴリのサンプルの重みを減らすことで、分類器が小さなカテゴリのサンプルに重点を置くようにすることができます。 具体的なアプローチとしては、分類器をトレーニングするときに、分類器が小さなクラスのサンプルを誤分類した場合、分類器が小さなクラスのサンプルを誤分類するための追加コストが追加されます。この追加コストにより、分類器は小さなクラスのサンプルについてより「懸念」するようになる可能性があります。ペナルティ付き SVM アルゴリズムやペナルティ付き LDA アルゴリズムなど。 問題を理解するために新たな視点を試みるデータの不均衡の問題は、分類とは異なる観点から解決できます。小さなクラスのサンプルを外れ値として扱うことができるため、問題は異常検出と変化検出に変換されます。 外れ値検出とは、そのようなまれなイベントを識別することです。たとえば、機械の故障は機械部品の振動によって識別でき、悪意のあるプログラムはシステムコールシーケンスによって識別できます。これらのイベントは通常の状況に比べてまれです。 トレンド検出は、異常なトレンドを検出する点を除いて、外れ値検出と似ています。たとえば、ユーザーのパターンや銀行取引を観察することで、ユーザーの行動の異常な変化を検出します。 小規模クラスのサンプルを外れ値として扱うという考え方への転換は、サンプルを分離または分類するための新しい方法を検討するのに役立ちます。これら 2 つの方法は、異なる視点から考え、問題を解決する新しい方法を試すことができます。 イノベーションに挑戦問題を慎重に分析して調査し、より簡単に解決できる複数の小さな問題に分割できるかどうかを確認します。 サンプルの不均衡に対処する方法サンプリングによりオーバーサンプリングオーバーサンプリングとも呼ばれ、分類における少数クラスのサンプル数を増やすことでサンプルの不均衡を実現します。より一般的なアルゴリズムは 合成少数オーバーサンプリング技術 (SMOTE) アルゴリズム。 SMOTE: 少数クラス サンプル a に対して、最も近い隣接サンプル b をランダムに選択し、次に a と b を結ぶ線から点 c を新しい少数クラス サンプルとしてランダムに選択します。 文法:imblearn . オーバーサンプリング.SMOTE ( 例:コレクションからカウンターをインポート 元のデータセットの形状カウンター ({1: 900, 0: 100}) スモート= SMOTE ( ランダム状態= 42 ) 再サンプリングされたデータセットの形状カウンタ ({0: 900, 1: 900}) SMOTE バリアント borderlineSMOTE、SVMSMOTE すべての少数クラス サンプルに焦点を当てる基本的な SMOTE アルゴリズムと比較すると、これらの状況は最適ではない決定関数につながる可能性があるため、SMOTE ではいくつかのバリエーションが作成されました。これらの方法では、最適な決定関数の境界上のいくつかの少数クラス サンプルに焦点を当て、最も近い隣接クラスの反対方向にサンプルを生成します。 どちらのタイプの SMOTE も、危険なサンプルを使用して新しいサンプル データを生成します。
少数派クラスのサンプルは、次の 3 つのカテゴリに分類されます。
文法:imblearn.over_sampling.BorderlineSMOTE ( サンプリング戦略= 'auto' , 適応合成 (ADASYN) 適応合成アップサンプリング ADASYN: K 最近傍分類器に基づいて誤分類された元のサンプルの近くに新しい少数クラス サンプルを生成することに重点を置いています。 文法:imblearn . オーバーサンプリング.ADASYN ( 例:コレクションからカウンターをインポート 元のデータセットの形状カウンター ({1: 900, 0: 100}) ada = ADASYN ( ランダム状態= 42 ) 再サンプリングされたデータセットの形状カウンタ ({0: 904, 1: 900}) RandomOverSamplerはランダムにサンプルをサンプリングし、新しいサンプルを追加します 例: 前の例と同様に、次の例は簡略化されています。 imblearn.over_sampling からRandomOverSampler をインポート 代表性の低いサンプルをランダムにサンプリングします。このアルゴリズムでは、異種データ (文字列を含むデータなど) のサンプリングが可能です。アップサンプリングは、元の少数サンプルを繰り返しサンプリングすることによって実行されます。 アンダーサンプリングアンダーサンプリングとも呼ばれ、分類における多数派クラスのサンプル数を減らすことでサンプルの不均衡を実現します。 RandomUnderSampler 直接ランダム選択削除法 RandomUnderSampler 関数は、データのサブセットをランダムに選択することで、カテゴリ間でデータのバランスをとる迅速かつ非常に簡単な方法です。 文法:imblearn.under_sampling からRandomUnderSample をインポート
NearMissはNNヒューリスティックアルゴリズムに基づいています NearMiss 関数は、サンプルを選択するためのヒューリスティック ルールをいくつか追加し、バージョン パラメーターを設定することで 3 つのヒューリスティック ルールを実装します。 imblearn . under_sampling からNearMiss をインポート
|
<<: オフライン認識率が最大99%のオープンソースPython顔認識システム〜
>>: インテリジェントなクラウドネイティブアプリケーションの台頭
チューリング賞受賞者のヤン・ルカン氏は、公開インタビューで、現在のAIモデルの学習効率は人間の赤ちゃ...
リアルタイムサービスの波が徐々に私たちの日常生活に浸透するにつれ、コンピューティングインフラストラク...
[51CTO.com オリジナル記事]序文: ちょっとした歴史10年前、私が学校で上司と一緒に画像認...
海外メディアの報道によると、人工知能企業Kneronは特製の3Dマスクを使い、AlipayやWeCh...
[[258473]]最近、セキュリティ分野に注力する国内の人工知能企業で大規模なデータ漏洩事件が発生...
[[426388]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
2020年は自動運転業界が徐々に安定する年だ。ウェイモなどの巨大企業が商業化の模索を開始し、テスラ...
アメリカのデジタルテクノロジー大手は、流行病の打撃を受けた後、軌道に戻った。数日前、Alphabet...
[[434381]]最初は1兆円、次に1.2兆円と、テスラの時価総額は新たな高値を更新し続けました...