オーバーサンプリングとは

オーバーサンプリング(Oversampling)とは、主に機械学習において、分類問題のデータセットが不均衡(特定のクラスのデータ数が極端に少ない「少数派クラス」が存在する)である場合に、少数派クラスのデータ数を人工的に増加させ、クラス間のバランスを改善するデータ前処理手法を指します。

これにより、モデルが少数派クラスのパターンをより適切に学習できるようになり、分類性能の向上を目指します。

オーバーサンプリングの基本的な概念

現実世界で収集されるデータセットは、必ずしも理想的なバランスで構成されているわけではありません。例えば、詐欺検知では正常な取引データが圧倒的に多く、不正な取引データは少数です。このような不均衡なデータセットをそのままモデルに学習させると、多数派クラスに偏った予測をしてしまい、少数派クラスの識別性能が著しく低下する問題が生じます。オーバーサンプリングは、この問題を解決するための重要なアプローチの一つです。

主な概念は以下の通りです。

  1. データ不均衡(Imbalanced Data): 分類問題において、あるクラスのサンプル数と別のクラスのサンプル数の間に大きな差がある状態を指します。
  2. 少数派クラス(Minority Class): サンプル数が少ない方のクラス。通常、関心のある事象(例:詐欺、疾病など)がこのクラスに該当することが多いです。
  3. 多数派クラス(Majority Class): サンプル数が多い方のクラス。
  4. クラスバランスの改善: オーバーサンプリングの目的は、少数派クラスのデータを増やすことで、多数派クラスとの比率を是正し、モデルが両方のクラスを公平に学習できるようにすることです。

オーバーサンプリングの主な手法

オーバーサンプリングにはいくつかの手法があり、それぞれデータの増加方法が異なります。

  1. ランダムオーバーサンプリング(Random Oversampling):
    • 動作原理: 少数派クラスのサンプルを無作為に複製し、データセットに追加します。最もシンプルで直接的な手法です。
    • 利点: 実装が容易です。
    • 課題: 同じサンプルを複製するため、モデルが過学習しやすくなる可能性があります。また、新しい情報が追加されるわけではないため、多様性は増しません。
  2. SMOTE(Synthetic Minority Oversampling Technique):
    • 動作原理: ランダムオーバーサンプリングの課題を解決するために考案された手法です。少数派クラスの既存のサンプル(オリジナルサンプル)と、その近傍にある他の少数派クラスのサンプルとを組み合わせて、新しい合成サンプルを生成します。具体的には、オリジナルサンプルとそのk-近傍(最も近いk個のサンプル)の間の線分上に新しいサンプルを生成します。
    • 利点: 単なる複製ではないため、過学習のリスクを軽減し、より多様な少数派クラスのサンプルを提供できます。
    • 課題:
      • 外れ値に近い場所に新しいサンプルを生成してしまう可能性がある。
      • 多数派クラスと少数派クラスが重なり合っている領域(オーバーラップ領域)にノイズを生成してしまう可能性がある。

 \text{新しい合成サンプル} = \text{オリジナルサンプル} + \text{ランダムな値} \times (\text{近傍サンプル} - \text{オリジナルサンプル})

ここで「ランダムな値」は通常、0から1の間の乱数です。

  1. Borderline-SMOTE:
    • 動作原理: SMOTEの派生形であり、少数派クラスのサンプルの中でも、特に決定境界に近い(つまり、多数派クラスとの境界に位置する)「危険な」サンプルに焦点を当てて合成サンプルを生成します。これにより、オーバーラップ領域でのノイズ生成を抑制し、より効果的に決定境界を明確化しようとします。
  2. ADASYN(Adaptive Synthetic Sampling):
    • 動作原理: SMOTEと同様に合成サンプルを生成しますが、より学習が困難な少数派クラスのサンプル(つまり、多数派クラスに囲まれているサンプル)に対して、より多くの合成サンプルを生成するように適応的に調整します。これにより、モデルが学習しにくい領域を重点的に補強します。

オーバーサンプリングのメリットとデメリット

メリット

  • 少数派クラスの識別性能向上: モデルが少数派クラスのパターンをより多く学習できるため、適合率(Precision)や再現率(Recall)、F1スコアといった評価指標が改善される可能性があります。
  • シンプルな実装: ランダムオーバーサンプリングは特に実装が容易です。
  • 情報損失がない: 多数派クラスのデータを削除するアンダーサンプリングとは異なり、既存の情報を失うことがありません。

デメリット

  • 過学習のリスク: 特にランダムオーバーサンプリングでは、同じデータを複製するため、モデルが少数派クラスの特定のパターンに過剰に適合(過学習)しやすくなります。
  • 多様性の限界: 新しい情報が追加されるわけではないため、少数派クラス本来の多様性を増やすわけではありません。SMOTEなどの合成サンプル生成手法でも、既存のデータ分布の範囲内でしかサンプルを生成できません。
  • ノイズの増幅: 少数派クラスに外れ値やノイズが含まれている場合、それを複製したり、その周囲に合成サンプルを生成したりすることで、ノイズの影響を増幅させてしまう可能性があります。
  • 計算コスト: 大規模なデータセットの場合、少数派クラスのサンプルを大幅に増やすことで、データセット全体のサイズが肥大化し、モデルの学習時間が長くなる可能性があります。

オーバーサンプリングの適用における注意点

オーバーサンプリングを適用する際には、いくつかの重要な注意点があります。

  1. 交差検証(Cross-Validation)との併用: オーバーサンプリングは、必ずデータセットをトレーニングセットとテストセットに分割したに、トレーニングセットに対してのみ適用する必要があります。テストセットにオーバーサンプリングを適用してしまうと、情報漏洩(Data Leakage)が発生し、モデルの性能評価が過度に楽観的になってしまいます。
  2. 適切な評価指標の選択: データが不均衡な場合、単純な正解率(Accuracy)は適切な評価指標ではありません。適合率、再現率、F1スコア、ROC曲線、PR曲線などの指標を用いて、モデルの性能を多角的に評価することが重要です。
  3. 他の手法との組み合わせ: オーバーサンプリング単独ではなく、アンダーサンプリング(多数派クラスを削減)、コストセンシティブ学習(誤分類のコストを重み付け)、アンサンブル学習(複数のモデルを組み合わせる)など、他の手法と組み合わせて使用することで、より良い結果が得られることがあります。

オーバーサンプリングは、不均衡なデータセットにおいて、少数派クラスのデータ数を人工的に増加させ、クラス間のバランスを改善するデータ前処理手法です。ランダムオーバーサンプリング、SMOTE、Borderline-SMOTE、ADASYNなどが主な手法として挙げられます。

これにより、モデルが少数派クラスのパターンをより適切に学習できるようになり、分類性能の向上が期待されます。しかし、過学習のリスクや多様性の限界、ノイズの増幅といったデメリットも存在するため、交差検証との適切な併用や、適切な評価指標の選択、他の不均衡データ対策手法との組み合わせなど、慎重な適用が求められます。

関連用語

過学習 | 今更聞けないIT用語集
アンサンブル学習 | 今更聞けないIT用語集
AIソリューション

お問い合わせ

システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。

APPSWINGBYの

ソリューション

APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。

システム開発

既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。

iOS/Androidアプリ開発

既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。


リファクタリング

他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。