多クラス問題の精度検証!マイクロ平均とマクロ平均の違い!

こんにちは!
IT企業に勤めて、約2年間でデータサイエンティストになったごぼちゃん(@XB37q)です!

このコラムでは、複数のクラスを分類するAIモデルの精度検証方法を紹介します!
2クラスを分類するAIモデルの精度検証方法を学びたい方は、他コラム「絶対誤差と相対誤差?AIモデルの精度とその求め方」をご覧ください。

多クラス問題とは

多クラス問題とは
多クラス問題とは

多クラス分類とは、3種類以上のクラスに分類する問題です。
1 か 0 の場合の2値分類問題とは、評価の仕方が少し変わります。
実際のビジネスでは、2値分類問題より、多クラス問題のほうが使い勝手のいいAIモデルが出来る場合が多いため、多クラス問題の精度検証方法は理解しておいて損はないでしょう!

今回の例では、クラス1、クラス2、クラス3の3種類のクラスへデータを分類するとします。
二値分類問題と同じように、多クラス分類の場合でも混同行列を計算することが可能です。

クラス別の混合行列
クラス別の混合行列

次の章からは、どのような評価方法があるのかを紹介します!

クラス別の精度

クラス別
クラス別

それぞれのクラスごとに精度を算出する方法があります。
つまり、クラス1に対する評価指標、クラス2に対する評価指標、クラス3に対する対する評価指標の3パターンの結果が出力されることになります。

二値分類とは基本的な考え方は同じです。
クラスの数に対して、それぞれ適合率・再現率・F1値が求まることを理解しておきましょう!

マイクロ平均(micro average)とは

マイクロ平均(Micro average)
マイクロ平均(Micro average)

マイクロ平均(micro average)は、全体の混同行列から二値分類と同様に評価指標を算出します。

各クラスごとに評価指標を計算する場合、各クラスごとの分類の状況を把握することが可能です。
しかし、AIモデル全体の精度を判断することが難しくなります。
そのため、全体の精度を一つの指標で評価する場面も存在します。

マクロ平均(macro average)とは

マクロ平均(Macro average)
マクロ平均(Macro average)

マクロ平均(macro average)は、各クラスの評価の平均です。
適合率、再現率、F1値をそれぞれのクラスごとに求め、それを平均します。

クラス別、マイクロ平均、マクロ平均の特徴

クラスごとの評価指標

クラス別の精度を評価するには、1番解釈しやすく、結果のミスリードも少ない指標です。
しかし、クラス数と同じ数の指標が必要になるため、クラス数が多いと解釈が難しくなります。

マイクロ平均(micro average)

マイクロ平均は、各クラスのデータ件数を考慮している指標です。
そのため、評価に使用した各クラスのデータ件数の比率が、実際の現場でAIモデルを使用する場合と近い比率になるのであれば、AIモデルの評価指標として使うことが出来ると思います。
しかし、データ件数が少ないクラスで精度が極端に低い場合でも、マイクロ平均にあまり影響しないため、そのクラスの影響度は少なくなります。

マクロ平均(macro average)

マクロ平均は、各クラスのデータ件数を考慮していない指標です。
そのため、データ件数が極端に少ないクラスが存在する場合、マクロ平均はデータ件数が少ないクラスに引っ張られて高くなったり低くなったりしてしまいます。

しかし、「どのクラスも同じ価値がある」とみなす場合、マクロ平均は分類結果の精度を直接反映できるとも捉えることが可能です。

まとめ

  • クラスごとの評価指標
    • それぞれのクラスごとに精度を算出
    • 1番解釈しやすく、結果のミスリードも少ない指標
    • クラス数と同じ数の指標が必要になるため、クラス数が多いと解釈が難しくなる
  • マイクロ平均(micro average)
    • 各クラスの評価の平均を算出
    • 各クラスのデータ件数を考慮している指標
    • データ件数が少ないクラスで精度が極端に低い場合、マイクロ平均にあまり影響しない
  • マクロ平均(micro average)
    • 混同行列の全体から二値分類と同様の算出方法
    • 各クラスのデータ件数を考慮していない指標
    • データ件数が極端に少ないクラスが存在する場合、マクロ平均はデータ件数が少ないクラスに引っ張られて高くなったり低くなったりする

参考図書