G-meanとは

G-meanは、機械学習における分類モデルの性能評価指標の一つであり、特に不均衡データセット(Imbalanced Dataset)に対する少数クラスと多数クラスの識別能力のバランスを評価する指標のことであり、各クラスの正解率(リコールまたは感度)の幾何平均として計算され、モデルが全てのクラスを公平に扱っているかを示すための値のことです。

G-meanの概要と評価指標における役割

G-mean(Geometric Mean、幾何平均)は、データセットのクラス分布が不均衡である場合に、分類モデルの全体的な性能を評価するために用いられる重要な指標です。

不均衡データセットでは、多数クラス(Majority Class)のサンプルが圧倒的に多いため、単純な正解率(Accuracy)だけを評価指標として用いると、モデルが少数クラス(Minority Class)を完全に無視して全て多数クラスに分類したとしても、高い正解率が算出されてしまうという問題があります。

G-meanは、この問題を回避するために、各クラスの正解率(リコール、または感度)を用いて計算されます。リコールは、「実際にそのクラスであるサンプルを、モデルがどれだけ正しくそのクラスだと分類できたか」を示すため、特にサンプル数の少ない少数クラスの識別能力を反映します。

主な目的は、モデルが少数クラスを正しく識別する能力(リコール)を、多数クラスのリコールを犠牲にすることなく、適切に維持しているか、すなわち分類器のパフォーマンスが全てのクラスでバランス良く保たれているかを単一の数値で示すことです。

G-meanの計算方法と解釈

G-meanは、各クラスのリコール(感度)の値を掛け合わせ、その積の幾何平均を計算することで求められます。

1. リコール(感度)の定義

まず、二値分類(陽性クラスと陰性クラス)を例にとると、リコール(感度)は以下のように定義されます。

  • 陽性クラスのリコール(感度): $TP / (TP + FN)$
  • 陰性クラスのリコール(特異度): $TN / (TN + FP)$

ここで、$TP$は真陽性、$FN$は偽陰性、$TN$は真陰性、$FP$は偽陽性です。

2. G-meanの計算式

二値分類において、G-meanは以下の計算式で定義されます。

G\text{-mean} = \sqrt{\text{Sensitivity} \times \text{Specificity}}

多クラス分類の場合は、各クラス $i$ のリコール($R_i$)を使用して一般化されます。

G\text{-mean} = \sqrt[N]{\prod_{i=1}^{N} R_i}

ここで、$N$ はクラスの総数です。

3. G-meanの解釈

  • 値の範囲: G-meanの値は $0$ から $1$ の間をとります。
  • バランスの評価: G-meanが高い値(1.0に近い)を示すほど、モデルは全てのクラスに対して高い識別能力を持ち、バランスが取れていることを意味します。
  • 低いG-mean: もし、多数クラスのリコールが高くても、少数クラスのリコールが極端に低い場合(例:$0.95 \times 0.05$)、G-meanの値は著しく低下します。これにより、モデルが不均衡データに対して不適切な学習をしていることを明確に示唆します。

したがって、不均衡データに対するモデルの最適化を行う際には、単純な正解率ではなく、このG-meanを最大化することが、より実用的な目標となります。

関連用語

不均衡データセット | 今更聞けないIT用語集
機械学習 | 今更聞けないIT用語集
AIソリューション

お問い合わせ

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

APPSWINGBYの

ソリューション

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

システム開発

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

iOS/Androidアプリ開発

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


リファクタリング

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