マイクロ平均:機械学習モデル評価の基礎

AIを知りたい
先生、「マイクロ平均」ってなんですか?AI用語らしいんですけど、よく分からなくて…

AI専門家
「マイクロ平均」は、AIの性能を測る時に使うんだけど、特にたくさんの種類を分類する時に役立つ指標なんだ。例えば、犬の種類を当てるAIがあったとして、チワワやプードルなど、全部の犬種を合わせて、どれくらい正確に当てられたかを平均するのが「マイクロ平均」だよ。

AIを知りたい
なるほど。全部の犬種を合わせて、ですか!じゃあ、種類ごとに見ないで、全体の結果を見るんですね!

AI専門家
その通り!だから、マイクロ平均の値が1に近づくほど、AIの性能が良いってことになるんだね。
マイクロ平均とは。
「AIで使われる言葉である『マイクロ平均』は、統計や機械学習で用いられる指標で、『macro-F1』と同じように、数字が1に近づくほど良い結果であることを示します。」
マイクロ平均とは

– マイクロ平均とは
マイクロ平均は、機械学習モデル、特に分類問題における性能を測る指標の一つです。多くの種類を分類する際に、それぞれの種類の予測精度を単純に平均するのではなく、データを全てひっくるめて評価を行います。
マイクロ平均は、データ全体に対してモデルがどれくらい正確に予測できているかを理解するのに役立ちます。 例えば、犬、猫、鳥を分類するモデルがあるとします。それぞれの動物に対する画像データが100枚ずつあるとします。犬は90枚正しく分類できた一方で、猫は80枚、鳥は70枚しか正しく分類できなかったとします。単純に平均すると、(90+80+70)/3 = 80%の精度となります。
しかし、マイクロ平均では、全体で正しく分類できた数と、そうでない数を数えます。この場合、全体では240枚正しく分類できており、300枚中なので、マイクロ平均は80%となります。
マイクロ平均は、データの量に偏りがある場合に特に有効です。 例えば、犬の画像データが1000枚、猫が100枚、鳥が10枚しかない場合、単純平均では犬の精度が大きく影響してしまいます。しかし、マイクロ平均では、それぞれのデータが均等に扱われるため、偏りの影響を受けにくくなります。
マイクロ平均は、モデルの全体的な性能を把握するのに役立つ指標ですが、クラスごとの性能差を把握するには、それぞれのクラスの精度を個別に確認する必要があります。
マイクロ平均の計算方法

– マイクロ平均の計算方法
マイクロ平均は、複数のクラスを持つデータセット全体の性能を評価する際に用いられる指標です。それぞれのクラスについて個別に真陽性(TP)、偽陽性(FP)、偽陰性(FN)の数を合計し、全体的なパフォーマンスを測ります。
マイクロ平均精度を計算する場合は、まずデータセット全体でTPの数を合計します。次に、FPの数も全体で合計します。 マイクロ平均精度は、これらの合計値を用いて、(TPの合計)/(TPの合計 + FPの合計)という式で計算されます。
同様に、マイクロ平均再現率を計算する場合も、TPの合計とFNの合計をデータセット全体で算出します。そして、(TPの合計)/(TPの合計 + FNの合計)という式を用いて計算します。
マイクロ平均F1スコアは、先に計算したマイクロ平均精度とマイクロ平均再現率を用いて、調和平均を取ることで算出します。 調和平均は、単純な平均と比べて極端な値の影響を受けにくいという特徴があります。
マイクロ平均は、データの偏りに関わらず、全体的な性能を把握するのに役立ちます。 特に、クラス間のデータ数の差が大きい場合に有効な指標と言えるでしょう。
マイクロ平均とマクロ平均の違い

– マイクロ平均とマクロ平均の違い
マイクロ平均と混同しやすい指標として、マクロ平均があります。どちらも複数クラス分類の評価に用いられる指標ですが、計算方法が異なります。
マイクロ平均は、データ全体を考慮して計算されます。具体的には、混同行列と呼ばれる表を作成し、そこから全体としての正解率や適合率、再現率などを計算します。このため、データの偏りに影響を受けにくいという特徴があります。
一方、マクロ平均は、各クラスごとに評価指標を計算し、その後に平均をとることで求められます。例えば、クラスAの適合率、クラスBの適合率、クラスCの適合率をそれぞれ計算し、それらの平均値をマクロ平均の適合率とします。この方法では、データの偏りが大きい場合、一部のクラスの評価指標が他のクラスの評価指標に比べて極端に高くなる、または低くなる可能性があります。
例えば、犬、猫、鳥の3クラス分類を行うとします。データセットに犬の画像が90%、猫の画像が9%、鳥の画像が1%含まれているとします。この場合、鳥の画像の判別精度が低くても、犬と猫の画像の判別精度が高ければ、全体としての正解率は高くなります。マイクロ平均では、このようなデータの偏りを考慮して計算するため、全体的な性能を評価するのに適しています。
一方、マクロ平均では、鳥の画像の判別精度が低いと、鳥のクラスの評価指標が低くなり、全体の平均値にも影響を与えます。つまり、マクロ平均は、各クラスの性能を平等に評価するのに適しています。
このように、マイクロ平均とマクロ平均は計算方法が異なり、それぞれ異なる特徴を持つため、評価したい状況に応じて使い分ける必要があります。
マイクロ平均の活用例

– マイクロ平均の活用例
マイクロ平均は、様々な分野で広く活用されています。
例えば、迷惑メールの仕分けを行う場合を考えてみましょう。迷惑メールかどうかを判定するシステムの性能を測る指標として、マイクロ平均がよく用いられます。マイクロ平均精度は、受信したメール全体に対する迷惑メールの分類精度の指標となります。つまり、大量のメールデータ全体の中で、迷惑メールをどれだけ正確に識別できたかを表す指標と言えるでしょう。
さらに、マイクロ平均F1スコアは、精度と再現率のバランスを考慮した指標として用いられます。精度とは、迷惑メールと判定されたメールのうち、実際に迷惑メールであった割合を示します。一方、再現率は、実際に迷惑メールであるメールのうち、どれだけを迷惑メールと判定できたかを表します。マイクロ平均F1スコアは、この精度と再現率の調和平均を計算することで、モデルの総合的な性能を評価します。
マイクロ平均は、迷惑メールの仕分け以外にも、ニュース記事のテーマ分類や、顧客の購買行動の予測など、様々な場面で応用されています。膨大なデータの中から特定の情報を識別し、その精度を評価する必要がある場合、マイクロ平均は非常に有効な指標と言えるでしょう。
マイクロ平均の解釈

– マイクロ平均の解釈
マイクロ平均は、機械学習モデルの性能を測る指標の一つで、0から1の間の値を取ります。1に近づくほどモデルの性能が高いことを示し、逆に0に近い場合は、モデルがデータ全体の特徴をうまく捉えられていない可能性があります。
マイクロ平均は、データ全体における正解率を計算する方法です。例えば、犬、猫、鳥の3種類の画像を分類するモデルがあるとします。それぞれのクラスに100枚ずつ、合計300枚の画像データがあるとします。モデルが、犬を90枚、猫を85枚、鳥を80枚正しく分類できた場合、全体では255枚を正しく分類できたことになります。この時、マイクロ平均は255枚 / 300枚 = 0.85 となります。
マイクロ平均が低い場合は、モデルの改善が必要です。その際には、まずデータの量や質を見直してみましょう。データ量が少なかったり、データの質が悪かったりすると、モデルがうまく学習できない可能性があります。また、より適切なアルゴリズムを選択することも重要です。マイクロ平均はあくまでもモデルの性能を評価する指標の一つであり、これだけで全てを判断できるわけではありません。他の指標も合わせて総合的に判断することで、より的確なモデル評価が可能になります。
