ADASYNとは

ADASYNは、機械学習における不均衡データセットのクラス不均衡を解消するためのオーバーサンプリング手法の一つであり、少数クラスのサンプルの中でも、学習が難しい、すなわち周囲に多数クラスのサンプルが多い識別境界付近のサンプルに対して、より多くの合成データを生成するための適応的なアルゴリズムのことです。

ADASYNの概要と課題解決へのアプローチ

ADASYN(Adaptive Synthetic Sampling Approach for Imbalanced Learning、不均衡学習のための適応的合成サンプリング手法)は、標準的なSMOTE(Synthetic Minority Over-sampling Technique)を改良した手法であり、2008年に提案されました。

不均衡データセットでは、少数クラスのサンプルが持つ情報量が不十分であるため、機械学習モデルの予測性能、特に少数クラスに対する識別精度が低下します。SMOTEが全ての少数クラスのサンプルを平等に扱って合成データを生成するのに対し、ADASYNは少数クラスのサンプルがどれだけ学習を困難にしているか(難易度)に応じて、その生成量を適応的に調整する点が特徴です。

主な目的は、データセットのバランスを改善するだけでなく、少数クラスと多数クラスの識別境界を明確にするための合成サンプルを重点的に生成することで、モデルの汎化性能を最大化することです。

ADASYNの技術的仕組みと適応的な生成プロセス

ADASYNは、少数クラスのサンプルを分類の難易度に基づいて重み付けし、その重みに比例して合成サンプルの数を決定します。

1. 分類難易度の決定(重み付け)

まず、全ての少数クラスのサンプル $x_i$ について、その周囲の近傍 $k$ 個を探索し、その中に含まれる多数クラスのサンプルの個数 $r_i$をカウントします。

次に、この $r_i$ の値に基づき、分類の難易度(重み) $\beta_i$ を計算します。

\beta_i = \frac{r_i}{k}

  • $r_i$ が大きい($\beta_i$ が大きい)ほど、その少数クラスのサンプルは多数クラスの領域に近く、分類が難しいと判断されます。
  • $r_i$ が小さい($\beta_i$ が小さい)ほど、周囲が少数クラスで囲まれており、分類が容易であると判断されます。

2. 合成総数の計算と分配

ユーザーが指定した望ましい不均衡率(バランス)を達成するために必要な合成サンプルの総数 $G$を計算します。

次に、この総数 $G$ を、前述の難易度の重み $\beta_i$ に比例して、各少数クラスのサンプル $x_i$ に分配します。

G_i = \beta_i \times G

  • $G_i$: サンプル $x_i$ から合成すべきサンプルの個数。

このステップにより、分類が難しい(識別境界に近い)少数クラスのサンプルほど、より多くの合成サンプルが生成されることが保証されます。

3. 合成サンプルの生成

合成サンプルの生成自体はSMOTEと同様に、線形補間によって行われます。

  • サンプル $x_i$ とその近傍の少数クラスのサンプル $\hat{x}_i$ をランダムに選び、その間の線分上に新しい合成サンプル $x_{new}$ を生成します。

x_{new} = x_i + (\hat{x}_i - x_i) \cdot \delta

このプロセスを各サンプル $x_i$ に割り当てられた個数 $G_i$ の分だけ繰り返します。

ADASYNの優位性

  • 適応的な生成: 困難な領域に焦点を当てることで、識別境界をより正確に定義する合成サンプルを効率的に提供し、モデルの学習を最適化します。
  • バイアスの軽減: 単なる複製ではなく、難易度に応じて生成数を変えるため、元のデータセットの分布構造を維持しつつ、学習バイアスを効果的に軽減します。

ADASYNは、特に複雑で重なり合った識別境界を持つデータセットにおいて、標準的なオーバーサンプリング手法よりも高い分類精度と安定性を示すことが報告されています。

関連用語

クラス不均衡 | 今更聞けないIT用語集
アルゴリズム | 今更聞けないIT用語集
AIソリューション

お問い合わせ

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

APPSWINGBYの

ソリューション

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

システム開発

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

iOS/Androidアプリ開発

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


リファクタリング

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