不均衡データとは
不均衡データとは、分類問題においてクラスが均等に表されない状況を指します。例えば、バイナリ分類問題において、クラス'A'と'B'があり、'A'のサンプル数が'B'よりも著しく多い場合、データセットは不均衡と見なされます。
不均衡データの例として、銀行の詐欺検知では詐欺取引が実際の取引に比べて稀であり、医療診断では特定の疾患の発生率が非発生率よりも低い、メールのスパム検出などがあります。
不均衡データの主な課題は、多くの機械学習アルゴリズムが多数派クラスに偏りがちであり、少数派クラスの予測性能が低下することです。
データアプローチによる不均衡データの対処
不均衡データセットにおけるデータアプローチとは、クラス間の不均衡を緩和するためにデータセットそのものを操作する手法を指します。目的は、クラスの分布をより均衡にすることで、分類器の少数派クラスに対する性能を向上させることです。
オーバーサンプリング
オーバーサンプリングは、データセットの少数派クラスのインスタンス数を増やすための手法です。少数派クラスのインスタンスを単純に複製する方法や、合成インスタンスを生成する方法など、さまざまなオーバーサンプリングの方法があります。
Synthetic Minority Over-sampling Technique(SMOTE)
SMOTEはもっとも人気のあるオーバーサンプリングのアルゴリズムの一つです。SMOTEは、単純にインスタンスを複製するよりも賢明な方法で合成サンプルを生成することを目指します。このアルゴリズムは、特徴空間上で近い位置にあるインスタンスを選択し、そのインスタンス間に直線を引き、その直線上にある新しいインスタンスを生成することで機能します。
具体的には、少数派クラスの各インスタンスに対して、SMOTEはk個の最近傍の隣接インスタンスを選択し、その中からランダムに1つを選び、2つのインスタンスの間のランダムな位置に合成インスタンスを作成します。
SMOTEを使用することで、合成されたインスタンスが外挿の一種であるため、より一般的なモデルが作成されます。これにより、分類器はトレーニングデータに過剰適合するのではなく、より一般化された決定境界を作成するようになります。
オーバーサンプリングの利点と欠点
利点
- 少数派クラスの分類器のパフォーマンスを向上させることができる
- 合成インスタンスを作成することで、情報量が保持される
- データセットが小さい場合には、アンダーサンプリングと比較して一般に有用
欠点
- 特に複製を伴うオーバーサンプリングは、モデルが特定のインスタンスに対して過敏になりすぎてしまい、過学習のリスクを高める可能性がある
- データセットのサイズが大きい場合、特に計算コストが高くなるため、計算負荷が増加する
アンダーサンプリング
オーバーサンプリングとは対照的に、アンダーサンプリングは多数派クラスのインスタンス数を減らす手法です。アイデアは、多数派クラスのサイズを減らして少数派クラスのサイズに近づけることです。
アンダーサンプリングは、多数派クラスからインスタンスをランダムに削除するだけの単純な方法として行われることもあります。ただし、インスタンスを削除することで、分類器にとって有益な情報が失われる可能性があるため、このアプローチは注意して使用する必要があります。
アンダーサンプリングの利点と欠点
利点
- データセットのサイズを減らすことで計算コストが低下する
- 多数派クラスが過剰に表現されている場合、過学習のリスクを低減する
欠点
- 有用なデータの損失
- 十分な注意を払わない場合、モデルが適切に学習されない可能性がある
アルゴリズムアプローチによる不均衡データの対処
データアプローチがデータセットそのものを操作するのに対し、アルゴリズムアプローチはアルゴリズムやモデル自体を変更して少数派クラスに対してより感度が高くなるようにします。
クラスウェイト
クラスウェイトは、機械学習アルゴリズムのトレーニングフェーズで使用される係数のセットです。クラスに異なる重みを割り当てることで、モデルを少数派クラスに対してより感度が高いものにすることができます。要するに、アルゴリズムに少数派クラスに「もっと注意を払うように」指示していると言えます。通常は、少数派クラスにはより高い重みを割り当て、多数派クラスにはより低い重みを割り当てます。
例えば、重度に不均衡データセットを持つバイナリ分類問題では、多数派クラスの各インスタンスに対して、少数派クラスに対して10の重みを割り当てることがあります。
クラスウェイトの実装
scikit-learn、TensorFlow、XGBoostなどの多くの機械学習ライブラリやフレームワークでは、モデルのトレーニング時にクラスウェイトを簡単に設定できるようになっています。これは、モデルを初期化する際に設定できるclass_weight
などのパラメータを介して行われることが一般的です。
クラスウェイトの利点と欠点
利点
- 多くの機械学習ライブラリで簡単に実装できる
- データセットそのものを変更せず、全ての情報を保持する
- 少数派クラスのパフォーマンスを改善するのに効果的
欠点
- 少数派クラスに対する誤検知率が高くなる可能性がある
- クラスウェイトの選択はやや任意的であり、調整が必要な場合がある
ワンクラス分類
ワンクラス分類(One-Class Classification、OCC)は、モデルが少数派クラス(または関心のあるクラス)のデータのみを使用してトレーニングされるアルゴリズム的なアプローチです。ワンクラス分類器の目標は、特定のクラス(少数派クラス)に属するインスタンスを認識し、他の全てのインスタンスと区別することです。
ワンクラス分類の実装
ワンクラスSVMやIsolation Forestなど、ワンクラス分類のための人気のあるアルゴリズムが存在します。これらのアルゴリズムは、少数派クラスの特性を学習し、それらの特性に合致しない新しいインスタンスを検出することができます。
ワンクラス分類の利点と欠点
利点
- 少数派クラスが主な関心事である場合に効果的
- 少数派クラスのインスタンスが非常に希少な非常に不均衡データセットを扱うことができる
- 多数派クラスの変化に強い
欠点
- 少数派クラスの特性を効果的に学習するために、十分な数の少数派クラスのインスタンスが必要
- 両方のクラスの誤分類コストが同等で重要な場合には適していない
ハイブリッドアプローチ
ハイブリッドアプローチでは、データレベルとアルゴリズムレベルの戦略の要素を組み合わせます。ハイブリッドアプローチは、両方の方法論の長所を最大限に活用することを目指します。
データアプローチとアルゴリズムアプローチはそれぞれ単独で効果的な場合がありますが、特定のシナリオでは望ましいパフォーマンスを達成するのに十分ではないことがあります。例えば、オーバーサンプリングは過学習を引き起こす可能性があり、クラスウェイトの調整のみでは多数派クラスへのバイアスを十分に解消することができない場合があります。これらのアプローチを組み合わせることで、多数派クラスと少数派クラスの両方で優れたパフォーマンスを達成するより堅牢なモデルを作ることができることがあります。
一般的なハイブリッド戦略
クラスウェイトとSMOTEの組み合わせ
よく使われるハイブリッドアプローチの一つは、SMOTEをクラスウェイトと組み合わせる方法です。SMOTEは少数派クラスの合成サンプルを生成することで助け、クラスウェイトはこれらの合成サンプルに対してアルゴリズムをより感度が高いものにします。この組み合わせにより、合成データだけに頼らずに少数派クラスに焦点を当てることができます。
データサンプリングとアンサンブル法の組み合わせ
ランダムフォレストや勾配ブースティングなどのアンサンブル法は、データサンプリングのテクニックと組み合わせることができます。例えば、各ツリーが異なるデータサブセットでトレーニングされるアンサンブルを作成し、そのサブセットをオーバーサンプリングとアンダーサンプリングの技法を使用して作成することがあります。これにより、より優れたパフォーマンスが得られることがあります。
ハイブリッドアプローチの実装
ハイブリッドアプローチを実装するためには、データとアルゴリズムの戦略の異なる組み合わせを試してみる必要があります。これには、データの前処理段階でのオーバーサンプリングの統合や、モデルのトレーニング時のクラスウェイトの設定などが含まれます。さらに、imbalanced-learn(imblearn)などのライブラリを活用することもできます。imblearnはさまざまなリサンプリング手法を組み合わせるための簡単なパイプラインを提供しています。
ハイブリッドアプローチの評価
ハイブリッドアプローチでトレーニングされたモデルのパフォーマンスを慎重に評価することが重要です。複数の手法が組み合わさるため、過学習や意図しないバイアスの導入のリスクが高まります。クロスバリデーションやその他の厳格な評価戦略が重要です。
ハイブリッドアプローチの利点と欠点
利点
- データアプローチとアルゴリズムアプローチの長所を活用できる
- 多数派クラスと少数派クラスの両方でバランスの取れたパフォーマンスが得られることがよくある
- 試行する組み合わせの幅広い範囲があり、実験が可能
欠点
- 計算コストが高くなる場合がある
- モデルの複雑さが増し、解釈や微調整が困難になる場合がある
- 適切に検証と調整が行われないと、過学習や適合不足のリスクがある
参考