# クラス不均衡 ## 定義 クラスの不均衡(class imbalance)とは、分類タスクにおいて訓練データの各クラスに含まれるサンプル数に大きな差がある問題である。連続的なラベルの回帰タスクでも、値域の一部(例: 医療費の95パーセンタイル付近の高額請求)の予測精度を重視すべき場合に同種の問題として現れる。クラスの不均衡は現実世界のアプリケーションに付き物であり、不正取引検知(2018年時点でクレジットカード支出100ドルあたりの不正取引額は6.8セント)、チャーン予測、病気のスクリーニング、履歴書のスクリーニング(求職者の98%が最初のスクリーニングで排除)、物体検出(大半のバウンディングボックスに検出対象が含まれない)などが典型例である。サンプリング時のバイアス(スパムがフィルタリング後のデータベースに残りにくい等)やラベル付けのエラーがクラスの不均衡を生む原因になることもある。(Source: [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 4 訓練データ]] §4.3, §4.3.1) クラスの不均衡が学習を難しくする理由は3つある。(1) 少数派クラスを検出するための信号が不足する(サンプル数が極端に少ないと少数ショット学習の問題になり、モデルが少数派クラスの存在自体を認識できないこともある)。(2) 常に多数派クラスを出力するという単純なヒューリスティックが高い見かけの精度を達成してしまい、勾配降下法がこれを上回ることが困難になる。(3) エラーのコストが非対称になる(少数派クラスでの誤分類のコストが多数派クラスより大きいことが多い)。Japkowiczは不均衡への感度が問題の複雑さに応じて増加し、線形分離可能な問題は不均衡の影響を受けないことを示した。マルチクラス問題での不均衡は二値分類問題での不均衡よりも扱いが難しい。Dingらは非常にディープなニューラルネットワークが、ディープでないネットワークより不均衡データに対し顕著に性能が優れていることを示した。(Source: 同 §4.3.1, §4.3.2) 対処アプローチは3つある。 - **適切な評価指標の選択**: 全体的な正解率・エラー率は多数派クラスに支配されるため不均衡タスクには不適切。クラスごとの正解率、適合率・再現率・F値(いずれも正のクラスに依存する非対称な指標)、ROC曲線とAUC、PR曲線(precision-recall curve。DavisとGoadrichが提案し、クラスの不均衡が大きいタスクでROC曲線より有用と主張する)を使い分ける。(Source: 同 §4.3.2.1) - **データレベルの手法(リサンプリング)**: 訓練データの分布を変更して不均衡を軽減する。少数派クラスを増やすオーバーサンプリングと多数派クラスを減らすアンダーサンプリングがあり、Tomek links(1976年。近接する反対クラスのペアから多数派サンプルを除去)やSMOTE(少数派クラス内の凸結合で新サンプルを合成)は低次元データでのみ有効性が実証されている。2フェーズ学習(アンダーサンプリング後に元データでファインチューニング)、動的サンプリング(訓練中に性能の低いクラスをオーバーサンプリング)も使われる。リサンプリングしたデータで評価すると過学習を見誤るため、評価には使ってはならない。(Source: 同 §4.3.2.2) - **アルゴリズムレベルの手法**: 訓練データの分布を変えず損失関数を調整することで不均衡に堅牢にする。コスト考慮型学習(cost-sensitive learning。Elkan, 2001。コスト行列で誤分類のコストの非対称性を反映)、クラス均衡損失(class-balanced loss。クラスのサンプル数に反比例する重みを与える)、焦点損失(focal loss。分類が困難なサンプルの重みを大きくする)の3つがある。実際にはアンサンブルもクラスの不均衡問題に有効だが、アンサンブルを使う一般的な理由は不均衡対処ではないため詳細は6章に譲る。(Source: 同 §4.3.2.3) ニューラルネットワークが巨大かつディープになり学習能力が向上したことから、現実世界のデータの偏りをそのまま学習させるべきでクラスの不均衡をむやみに「修正」すべきではないという主張もあるが、そこまでのモデルを開発するのは依然として困難であるため、特別な訓練手法に頼らざるを得ないのが現状である。(Source: 同 §4.3.2) ## 横断的知見 - **[[分類モデルの評価指標]]が既存の未解決の問いとして残していた「PR-AUCとROC-AUCをクラス不均衡データでどう使い分けるべきか」に、本ソースは具体的な数値例で裏づけを与える**: [[分類モデルの評価指標]]は『信頼性の高い機械学習』5章から「クラスラベルの偏りが強い場合PR-AUCがより有益になりうる」という方向性を得ていたが定量的な基準は示されなかった。本ソース§4.3.2.1のCANCER/NORMALモデルA・Bの例(正のラベル(CANCER)が全体の10%という不均衡データで、両モデルとも正解率0.9で並ぶが、CANCERクラスの正解率はモデルAが10%・モデルBが90%、F値はモデルAが0.17・モデルBが0.64と大きく異なる)は、全体の正解率が不均衡データでモデルの実際の性能差を隠す典型的な失敗を数値で示し、DavisとGoadrichによるPR曲線の提案(ROC曲線・F値・再現率はいずれも正のクラスにのみフォーカスするため、負のクラスでの性能を見せない)という理由づけを加える。両ソースを合わせると、「不均衡が強いほどPR-AUCが有用」という方向性(信頼性の高い機械学習5章)に、「なぜROC系の指標が不十分か」という具体的な失敗事例(本章)が接続されるが、依然としてどの程度の不均衡から切り替えるべきかという定量的な閾値はどちらのソースにもない。(Source: [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 4 訓練データ]] §4.3.2.1, [[@2024__OReillyJapan__信頼性の高い機械学習 - Chapter 5 モデルの確実性と品質の評価]] §5.2.3.2) ## 未解決の問い - どの程度のクラス不均衡から「修正」すべきか(むやみに修正すべきでないという主張と、特別な訓練手法が依然として必要という現状認識の間の境界)を判断する定量的な基準は本ソースでは示されていない。 - データレベルの手法(リサンプリング)とアルゴリズムレベルの手法(損失関数調整)を同時に併用した場合の効果(相加的か、それとも一方が他方を無効化するか)は本ソースでは扱われていない。 - SMOTE・Tomek linksが低次元データでのみ有効性が実証されているとされる一方、高次元の特徴空間や大規模ニューラルネットワークでは高コスト・実行不可能とされるが、高次元データにおける実務上の代替手法(本ソースが触れる2フェーズ学習・動的サンプリング以外)は体系的に整理されていない。 - コスト考慮型学習のコスト行列は手作業で定義する必要があるとされるが、このコスト行列をデータから自動推定する方法は本ソースでは扱われていない。 ## 関連 - source: [[@2023__OReillyJapan__機械学習システムデザイン - Chapter 4 訓練データ]] - concept: [[分類モデルの評価指標]](不均衡データでの評価指標選択という交差する論点。PR-AUC対ROC-AUCの使い分けを補強) / [[損失関数]](アルゴリズムレベルの手法が調整するクロスエントロピー損失等の基礎) / [[サンプリング手法]](データレベルの手法と関わる重み付きサンプリング) ## 出典 - Chip Huyen 著, 江川崇・平山順一 訳, 『機械学習システムデザイン』, オライリー・ジャパン, 2023, 4 章, §4.3, §4.3.1, §4.3.2.