← 一覧へ
AI・データ
#클래스불균형#SMOTE#비용민감학습#PR-AUC#리샘플링
最終更新 · 2026-10-28

クラス不均衡(Class Imbalance)データの処理

1. 概要

A. 定義

クラス不均衡(Class Imbalance)とは、分類問題において特定のクラス(多数クラス、majority)の標本数が他のクラス(少数クラス、minority)より著しく多く、分布が一方に偏った状態をいう。通常、少数:多数の比が1:10を超えると「不均衡」、1:1000以上だと「極端な不均衡」と分類し、多くの場合少数クラスこそが実際に検知したい関心対象(不正取引、疾病陽性、設備故障)であるという点に問題の本質が表れる。

クラス不均衡が難しい根本的理由は、大半の分類アルゴリズムが「全体の誤分類最小化」を目標に学習するためである。陽性が全体の0.1%であるクレジットカード不正データで「すべて正常」とだけ答えても正解率(Accuracy)は99.9%に達する。すなわちモデルは少数クラスをまったく当てられなくても「成績表上」は非常に優秀に見え、損失関数の観点でも多数クラスの損失が全体を支配して少数クラスの信号が埋もれてしまう。これを正解率の逆説(Accuracy Paradox)という。したがって不均衡処理は単に「データを整える」前処理ではなく、評価指標・データ分布・学習コスト・意思決定の閾値を併せて再設計する総合的アプローチでなければならない。

B. 登場背景と必要性

現実世界の高価値データは大半が本質的に不均衡である。不正検知、希少疾患の診断、製造工程の不良検出、侵入検知(IDS)、顧客離反予測はいずれも「まれにしか起こらないが見逃すと致命的な事象」を扱う。たとえば半導体工程の不良率は数ppm水準であり、重症敗血症の有病率も入院患者の数%未満である。このような領域では多数クラスをうまく当てることにはほとんど意味がなく、まれな少数事象をどれだけよく捉えるか(再現率)と、誤警報をどれだけ抑えるか(適合率)の均衡がモデルの実際の価値を決める。

問題を大きくする要因は比率だけではない。少数クラスの絶対標本数が不足(absolute rarity)すると、学習器がそのクラスの決定境界を推定する統計的根拠そのものが乏しく、少数クラスが複数の群に散らばったり(small disjuncts)、多数クラスと特徴空間で重なったり(class overlap)すると難度はさらに上がる。すなわち不均衡処理は「比率を1:1に合わせること」で終わらず、データの希少性・重なり・分布構造まで考慮しなければならないという点が、本主題の核心的な必要性である。本主題は[[anomaly-detection]]・[[ensemble-learning]]・[[cross-validation]]と密接に連携する。

C. 不均衡問題の難度を決める要因

比率が同じでも問題の実際の難度は以下の要因によって大きく変わる。不均衡処理戦略を選ぶ際、まず診断すべき項目である。

  • 不均衡比(IR):少数:多数の比。1:10、1:100、1:1000はそれぞれまったく異なる対応を要する。
  • 絶対希少性:少数標本の絶対個数。比率が厳しくても少数が数万件あれば学習可能だが、数十件だとリサンプリングでも限界がある。
  • クラス重なり:少数と多数が特徴空間で重なる程度。重なりが大きいとどの技法も完全には分離できない。
  • 小さな分断(small disjuncts):少数クラスが複数の小さな群に分かれていると、各群を別々に学習しなければならない。
  • 雑音・外れ値:ラベル誤りや極端値はSMOTE・ブースティングで誤った信号を増幅させる。

2. 不均衡問題の構造と発生メカニズム

不均衡が性能低下につながる経路を全体として見ると、偏った分布が損失関数と決定境界を多数クラス側へ引き寄せ、誤った指標(Accuracy)がこれを覆い隠し、結局少数クラスを見逃す悪循環となる。下の構造図がその因果を要約する。

flowchart TB
  A["偏ったクラス分布<br/>(少数:多数 = 1:100)"] --> B["損失関数が多数クラスに支配される"]
  B --> C["決定境界が少数領域を侵す"]
  C --> D["少数クラスの再現率が急落"]
  A --> E["少数標本の絶対不足・重なり・分散"]
  E --> C
  D --> F["Accuracyは依然として高く表示"]
  F --> G["正解率の逆説:問題の隠蔽"]
  style G fill:#fde8e8,stroke:#d33,stroke-width:2px
  style D fill:#fde8e8,stroke:#d33

処理戦略は介入の階層によって大きくデータ水準(resampling)・アルゴリズム水準(cost-sensitive)・アンサンブル水準・評価/閾値水準の四つに分かれる。いずれか一つが万能ではなく、問題の性格(標本数、重なりの程度、コスト構造)に応じて組み合わせるのが実務の定石である。実際のプロジェクトはおおむね次の手順に従う。

  1. 問題診断:不均衡比・絶対希少性・重なり・コスト構造を把握し、Accuracyの代わりに使う評価指標(F1・PR-AUC・Recall@Precisionなど)をまず合意する。
  2. 正しい分割:層化(stratified)交差検証で各フォールドが元の比率を保つようにし、検証集合はリサンプリングしない。
  3. ベースライン確立:無処理モデルとclass_weight='balanced'モデルをまず測定し、改善の基準線を引く。
  4. 技法適用・探索:リサンプリング・コスト感応・アンサンブルをパイプラインとして束ね、学習フォールド内部にのみ適用し、比率をハイパーパラメータのように探索する。
  5. 閾値・補正:運用目標に合う閾値をPR曲線上で選び、必要に応じて確率を補正する。
  6. モニタリング:配備後、下位集団別の再現率と分布変化(drift)を継続的に観察する。
flowchart LR
  P["不均衡分類問題"] --> D1["データ水準<br/>オーバー/アンダーサンプリング・SMOTE"]
  P --> D2["アルゴリズム水準<br/>コスト感応・クラス重み・Focal Loss"]
  P --> D3["アンサンブル水準<br/>EasyEnsemble・Balanced RF"]
  P --> D4["評価・閾値<br/>PR-AUC・F1・閾値調整"]
  D1 & D2 & D3 --> M["学習済みモデル"]
  M --> D4
  D4 --> R["運用配備"]
  style R fill:#e8f0fe,stroke:#2f6fed,stroke-width:2px

A. データ水準の技法 — リサンプリング

データ水準の技法は、学習データの分布そのものを変えて均衡に近づけるアプローチであり、アルゴリズムと無関係に適用できるため最も広く用いられる。最も単純な形は無作為過大抽出(Random Over-sampling)で少数標本を複製して数を増やし、無作為過小抽出(Random Under-sampling)で多数標本を減らす。しかし前者は同一標本を反復露出して過学習を招き、後者は多数クラスの有用な情報を捨てて情報損失を起こすという限界が明確である。

この限界を越えるための代表的技法がSMOTE(Synthetic Minority Over-sampling Technique、2002)である。SMOTEは既存標本を複製する代わりに、少数標本とそのk最近傍の間を線形補間して新たな合成(synthetic)標本を特徴空間に生成する。単純な複製ではないため、決定境界をより一般化された方向へ広げて過学習を緩和する。ただしSMOTEは隣接点を無差別に結ぶため、多数クラスと重なる境界領域に雑音を作りうる。これを補完する変形として、境界付近の少数標本に集中するBorderline-SMOTE、学習難度が高い領域により多く生成するADASYN(Adaptive Synthetic)、そして合成後に多数クラスの雑音・重なり標本をTomek LinkやENN(Edited Nearest Neighbors)で整理するSMOTE-Tomek・SMOTE-ENNのようなハイブリッドがある。

アンダーサンプリングにも、単純な無作為除去を越える精緻な変形がある。Tomek Linkは互いに異なるクラスで最も近い一対を見つけて多数クラス標本を除去し境界を明瞭にし、ENNは近傍多数とラベルが異なる標本を消して雑音を整理し、NearMissは少数標本に近い多数標本を選択的に残す。Cluster Centroidsは多数クラスをクラスタリングして各クラスタの中心で置き換えることで、標本数を減らしつつ分布の代表性を保つ。このように「情報をより少なく捨てる方向」でアンダーサンプリングを設計すれば、情報損失の問題を相当程度緩和できる。

具体的には、1:577の比率(不正492件、正常約28万件)の公開クレジットカード不正データで、何の処理もせずロジスティック回帰を学習すると再現率は非常に低いが、SMOTEで少数クラスを補強すると再現率が大きく上がる代わりに適合率は下がる、という典型的なトレードオフが観察される。重要な点は、SMOTEが数値型特徴空間の距離概念に依存するため、カテゴリ変数が多いデータにはSMOTE-NCやカテゴリ専用の変形を使うべきであり、特徴のスケールがまちまちだと補間結果が歪むので、スケーリングをリサンプリングの前段階に必ず配置することである。

生成量も慎重に定めなければならない。少数クラスを多数と完全に同じ数(1:1)に合わせるのが常に最適ではなく、過度な合成は決定境界を少数側へ押しすぎて誤警報を急増させる。実務ではsampling_strategyで目標比率(例:1:3、1:2)をハイパーパラメータのように置き、検証性能を見ながら調整するのが望ましい。すなわち「どれだけ均衡させるか」自体が調整対象である。

何よりもリサンプリングは必ず学習フォールド内部でのみ実施しなければならない。交差検証の分割前に全データにSMOTEを適用すると、合成に用いた情報が検証集合に漏れ込み(データ漏洩、leakage)、性能が非現実的に膨張し、こうして得た指標は運用環境では再現されない。この一つの原則を守るだけで不均衡実験の信頼性は大きく上がる。

B. アルゴリズム水準の技法 — コスト感応学習

アルゴリズム水準の技法はデータに手を加えず、学習アルゴリズムが少数クラスの誤りをより高価に扱うようにする。最も直接的なのがコスト感応学習(Cost-Sensitive Learning)で、少数クラスを誤ったとき(偽陰性、FN)のコストを多数クラスの誤り(偽陽性、FP)より大きく設定したコスト行列を損失関数に反映する。実務では大半のライブラリが提供するclass_weight='balanced'オプション、すなわちクラス頻度の逆数に比例する重みを損失に掛ける方式が手軽に使われる。

ここでコスト感応学習と閾値調整は理論的に表裏一体である点を押さえておく必要がある。最適ベイズ決定理論によれば、FNコストをFPのC倍に置くことと、事後確率の閾値をそれに応じて下げることは同一の決定境界を作る。したがってすでに学習済みのモデルが確率をよく補正して出力するなら、再学習なしに閾値だけを動かしてもコスト感応学習と同じ効果を得られる。ただし木・ブースティングのように損失関数に重みを直接入れると決定境界そのものが少数側へより有利に形成されるので、確率補正が不完全なときは学習段階でのコスト反映のほうが頑健である。

深層学習ではFocal Lossが重要な役割を果たす。物体検出(RetinaNet、2017)で提案されたFocal Lossは、交差エントロピーに(1-p)^γの形の変調項を掛け、すでにうまく当てている容易な多数標本の損失寄与を指数的に減らし、難しい少数標本に学習を集中させる。これは無数の背景(多数)と少数の物体(少数)を区別しなければならない極端な不均衡状況で特に有効である。コスト感応アプローチの長所は、データ分布を歪めないため漏洩リスクが小さく元の統計的特性を保つことであり、短所は適切なコスト・重みを事前に定めにくく、検証を通じた探索が必要なことである。

C. アンサンブル水準の技法

アンサンブルは不均衡処理と特に相性がよい。アンダーサンプリング一回は多数クラスの情報を捨てるが、異なる多数部分集合で何度もアンダーサンプリングし、それぞれで学習したモデルを結合すれば、捨てられた情報がアンサンブル全体で復元されるためである。代表的技法であるEasyEnsemble・BalanceCascadeは、多数クラスを複数の部分集合に分けてそれぞれ少数クラスと均衡させたうえで複数の分類器を学習して結合する。BalanceCascadeは、ある段階でよく分類された多数標本を次の段階で除外し、しだいに難しい標本に集中する逐次的特性を加える。

Balanced Random Forestは各ブートストラップ段階で少数クラスに合わせて多数クラスを均衡抽出し、RUSBoostはブースティングの各反復ごとに無作為アンダーサンプリングを結合して学習速度と均衡を同時に得る。これらは[[ensemble-learning]]の分散・偏り低減効果に均衡化効果を加え、単一のリサンプリングより安定した性能を出すことが多い。

アンサンブルアプローチの実務的な長所は、分散低減で誤警報(FP)を抑えつつ少数再現率を引き上げる均衡点を比較的容易に見つけられることにある。たとえば製造不良検出のように不良率が数ppm水準の極端な不均衡で、単一のアンダーサンプリングモデルはデータ損失で不安定だが、Balanced RFは多数の木の投票で決定を安定させ再現可能な性能を出す。ただしモデルが数十〜数百個に増えて推論遅延とメモリコストが増加するので、リアルタイム検知システムでは性能と応答速度のトレードオフを併せて考慮しなければならない。

D. 評価指標と閾値調整

不均衡で最も重要な決定は正しい評価指標の選択である。Accuracyは廃棄し、少数クラスの観点の指標を使わなければならない。混同行列(TP・FP・FN・TN)から導かれる主要指標は次のとおりである。

  • 適合率(Precision) = TP/(TP+FP):陽性と予測したもののうち実際の陽性の比率。誤警報コストが大きいとき重視する。
  • 再現率(Recall) = TP/(TP+FN):実際の陽性のうち当てた比率。見逃しコストが大きいとき(不正・疾病)の最優先指標である。
  • F1-score:適合率と再現率の調和平均。両者の均衡を一つの数で要約する。
  • PR-AUC:適合率-再現率曲線の面積。極端な不均衡で最も信頼できる総合指標である。
  • G-mean・均衡正解率(Balanced Accuracy):クラス別再現率の幾何/算術平均で、両クラスを対称的に評価する。

特に極端な不均衡では、偽陽性に鈍感なROC-AUCよりPR-AUC(適合率-再現率曲線の面積)がモデルの実質性能をより敏感に反映する。少数:多数が1:1000だと多数クラスが分母を支配してROC曲線は良好に見えても、少数クラスの適合率を直接反映するPR曲線は苛酷に表れるためである。

また分類器の出力は確率であるから、既定の0.5閾値に固執する理由はない。検証データのPR曲線上で業務目標(例:再現率90%の保証)に合う閾値を逆に選択すれば、モデルの再学習なしに運用特性を調整できる。不正検知のようにFN(見逃した不正)コストがFP(誤警報)よりはるかに大きいなら、閾値を下げて再現率を上げ、それによる誤警報は2次審査段階で吸収する、という運用設計が併行されなければならない。

もう一つ留意すべき点は確率補正(calibration)である。リサンプリングは学習データの事前確率(prior)を人為的に変えるので、モデルが出力する確率値が実際の事後確率とずれる。生成された確率をそのまま意思決定のコスト計算に使うには、Platt scalingやIsotonic regressionで補正するか、リサンプリング比率を反映して事前確率を戻す補正式を適用しなければならない。指標の選択、閾値の調整、確率の補正はいずれも「モデルを変えずに運用品質を高める」低コスト高効果の手段である点で、技術士の観点から特に強調される。

3. 技法の比較

下の表は四階層の技法の性格を比較したものである。ただし表は要約にすぎず、実際の選択は「なぜその状況でその技法が有利なのか」という文脈判断にかかっている。標本が極めて少なければ情報を捨てるアンダーサンプリングより合成やコスト感応が有利で、データが膨大ならアンダーサンプリング・アンサンブルが計算効率で勝る。

区分 データ水準(SMOTEなど) アルゴリズム水準(コスト感応) アンサンブル水準 評価・閾値
介入点 学習データ分布 損失関数・重み モデル結合構造 推論・意思決定
長所 アルゴリズム独立、直感的 分布保存、漏洩少 情報損失の補填・安定 再学習不要
短所 漏洩・雑音・過学習リスク コスト行列の設定が難 実装・計算が複雑 モデル自体は不変
適合状況 少数標本がある程度ある コスト構造が明確 大容量・高不均衡 運用要求が明確

実務で重なる含意は明確である。この四階層は相互排他ではなく組み合わせられる。典型的なパイプラインは「学習フォールド内のSMOTE + コスト感応学習 + PR-AUCでのモデル選択 + 業務基盤の閾値調整」のように複数の階層を併用し、各段階の効果を交差検証で検証しながら調律する。

二つの産業事例がこの組み合わせの必要性をよく示す。第一に、医療領域の敗血症の早期警報は、入院患者のうち陽性が数%未満の典型的な不均衡問題である。ここでは見逃した患者(FN)が生命に直結するので再現率を最優先に置くが、過度な誤警報(FP)は「警報疲労(alarm fatigue)」で医療者の信頼を損なうので、PR曲線で臨床的に受容可能な地点を慎重に選ぶ。第二に、通信・コマースの離反(churn)予測は離反顧客が10%前後の中程度の不均衡だが、マーケティング予算が限られているので上位確率の顧客にのみリテンション費用を執行する。この場合、全体の再現率より上位K件の推薦の適合率(Precision@K)が実質指標となり、閾値の代わりに順位基盤の評価へ転換するのが合理的である。同じ「不均衡」でも業務のコスト構造に応じて指標と戦略がまったく変わるという点が核心的な教訓である。

4. 深化 — 落とし穴と最新動向

最も多い失敗はデータ漏洩(leakage)である。リサンプリングを交差検証の分割前に行ったり、検証集合にまでSMOTEを適用したりすると性能が過大評価される。正しい手順は、各フォールドの学習部分にのみリサンプリングを適用し、検証集合は元の不均衡分布を保つパイプラインを構成することである(imbalanced-learnのPipelineがこれを強制する)。また層化分割(stratified split)で各フォールドが元の比率を保つようにしてこそ評価が安定する。

もう一つしばしば見過ごされる落とし穴は配備後の分布変化(drift)である。学習時点に合わせた閾値とリサンプリング比率は、データ分布が変わると急激にずれる。不正手口は進化し、設備の老朽化で不良パターンも変わるので、少数クラスの特性自体が時間とともに移動する。したがって不均衡モデルは一度よく作って終わりではなく、少数クラスの再現率・適合率を常時モニタリングし、閾値を周期的に再調整し、必要時に再学習する運用ライフサイクル(MLOps)の観点で管理しなければならない。

最新の流れは三つの方向である。第一に、深層学習分野ではデータ再構成より損失関数の再設計(Focal Loss、Class-Balanced Loss、LDAM)と表現学習(対照学習で少数クラスの表現を強化)が主流に浮上した。第二に、生成モデル(GAN・拡散モデル)を用いた少数クラス合成が画像・時系列領域でSMOTEの線形補間の限界を越える代替として研究される。第三に、不均衡をデータ欠陥ではなく異常/新規検知(one-class、novelty detection)問題として再定義する観点が不正・侵入検知で広がっており、これは少数クラスを「もう一つのクラス」ではなく「正常からの逸脱」としてモデリングする([[anomaly-detection]]と連結)。極端な希少状況では、分類よりこの再定義のほうが現実的な場合が多い。

最後に、データ自体が希少という根本問題をラベリング戦略で緩和しようとするアプローチも注目される。能動学習(active learning)でモデルが不確実とする境界標本を優先してラベリングすれば、少ないコストで少数クラス情報を効率的に増やせ、半教師あり学習(semi-supervised)は大量の未標識データを活用して少数表現を補強する。すなわち不均衡問題はアルゴリズム・サンプリングだけの領域ではなく、何をどのように収集・ラベリングするかというデータ戦略の問題へも拡張される。

5. 考慮事項および示唆点

  • 指標を先に定め、モデルを後に置く:技術士の観点で最大の誤りはAccuracyで性能を報告することである。問題定義の段階でFN・FPの業務コストを定量化し、それに整合する指標(PR-AUC・F1・Recall@Precision)を事前に合意してこそプロジェクトが正しい方向に収束する。指標の選択は技術ではなくガバナンスの問題である。

  • リサンプリングは前処理ではなくモデリングの一部である:漏洩防止のためリサンプリング・スケーリング・学習を一つのパイプラインに束ね、交差検証フォールド内部でのみ適合(fit)しなければならない。データ漏洩で膨張した性能は運用で必ず崩れ、これは信頼性・再現性の面で致命的なリスクである。

  • データ補強とコスト設計はトレードオフである:SMOTE系は再現率を上げる代わりに適合率・誤警報を増やす傾向がある。少数標本が十分なら、コスト感応・閾値調整だけで分布を歪めずに目標を達成できるので、「無条件に1:1へ合わせる」機械的アプローチを避け、比率をハイパーパラメータとして探索すべきである。

  • 問題再定義の可能性を開いておく:有病率が極めて低い極端な不均衡は、教師あり分類より異常検知・半教師あり学習で接近するほうがよい場合がある。展望の面では、生成的合成と自己教師あり表現学習が結合するにつれ、不均衡処理は「データを増やす技術」から「少数信号を表現・検知する技術」へ移行している。

  • 配備後の管理が成否を分ける:不均衡モデルの性能は分布変化に特に脆弱である。少数クラスのパターンは不正手口の進化・設備老朽化のように時間とともに移動するので、再現率・適合率・分布ドリフトを常時モニタリングし閾値を周期的に再調整するMLOps体制を前提に設計してこそ持続可能な性能を保つ。

  • 運用・倫理的含意:医療・金融の少数クラスの誤検知は患者安全・金融被害に直結するので、モデル出力は自動決定ではなく2次専門家審査と結合した意思決定支援として設計しなければならない。また少数集団に対する偏りが公正性(fairness)問題に発展しないよう、下位集団別の再現率をモニタリングする体制が必要である。

参考資料


一言まとめ: クラス不均衡は正解率の逆説で少数(関心)クラスを覆い隠す問題であり、リサンプリング(SMOTE)・コスト感応学習・均衡アンサンブル・PR-AUC/閾値調整を漏洩なく組み合わせ、極端な希少は異常検知として再定義することが核心である。