データサイエンスにおけるF1スコアとは?
定義
分類問題でPositive $P$ とNegative $N$ を区別するモデルがあるとする。正を正として認識した数をTrue Positive $TP$、負を負として認識した数をTrue Negative $TN$、正を誤って負と判断した数をFalse Negative $FN$、負を誤って正と判断した数をFalse Positive $FP$ としよう。
数式的定義
以下の数値をモデルの精度precisionとする。 $$ \textrm{Precision} = {{ TP } \over { TP + FP }} $$ 以下の数値をモデルの再現率recallとする。 $$ \textrm{Recall} = {{ TP } \over { P }} $$ 精度と再現率の調和平均をモデルのF1スコアf1 Scoreとする。 $$ F_{1} := {{ 2 } \over { \textrm{Precision}^{-1} + \textrm{Recall}^{-1} }} $$
説明
$F_{1}$スコアは、精度と再現率が持つ欠点を補うための指標であり、一方が軽視されるときにより大きなペナルティを課し、モデルが全体的に優れているかを評価する。特に、データのラベリング、つまり正と負の不均衡が激しい二値分類問題では、モデルを評価するために最も一般的に使用される指標である。
直感的な意味
本質的に$F_{1}$スコアは、それ自体で直感的な解釈を提供しない。調和平均がなぜ出てくるのかもそうだが、どこにでもある説明を見ても、必ず精度と再現率を先に言及し、その後に$F_{1}$スコアでまとめる。
精度が「正を確実に当てる力」を示し、再現率が「正を見逃さず見つける力」を示すなら、$F_{1}$スコアは「精度と再現率の間でバランスを失わない本質的な力」を示すと言える。数学的に必ず保証されるわけではないが、経験的に精度と再現率はトレードオフの関係にあり、どちらか一方の指標を犠牲にしてもう一方を極端に過大評価する可能性がある。精度に問題がある場合は、精度や再現率を使用する状況であれば、そのような不均衡について知っている必要がある。
数式的解釈
$F_{1}$スコアについての説明は非常に多く、その中で調和平均自体の幾何学的性質を説明する方法も良いが、個人的にはそういった説明は既に$F_{1}$が何であるかを知っているときに「なぜそのように定義されるのか」をより明確に理解させる説明であり、初めて接する立場から「$F_{1}$スコアが具体的にどのように解釈されるか」を簡単に知らせることはできないと思う。単純に最も基本的な「数値」から考えてみよう。
まず、精度は「正としてマークしたものの中の実際の正」なので$0$から$1$の値を持ち、再現率も「実際の正の中で正としてマークしたもの」なので$0$から$1$の値を持つ。言い換えれば、精度と再現率は次のような不等式を満たす。 $$ \begin{align*} 1 \le & {{ 1 } \over { \textrm{Precision} }} \\ 1 \le & {{ 1 } \over { \textrm{Recall} }} \\ 2 \le & \textrm{Precision}^{-1} + \textrm{Recall}^{-1} \end{align*} \\ \implies F_{1} = {{ 2 } \over { \textrm{Precision}^{-1} + \textrm{Recall}^{-1} }} \le 1 $$ つまり$F_{1}$も$1$のときに最大の値を持ち、等式が満たされる場合は精度と再現率が両方とも$1$の状況のみである。2つの指標のどちらかが$0$に近づくと分母は発散するため$F_{1}$のインフィマムは$0$であり、もう少し明確に書くと $$ 0 < F_{1} \le 1 $$ のように$0$から$1$の間に正規化されたnormalized数値であり、$1 = 100\%$に近いほど良い数値であることがわかる。もちろん$F_{1}$が$0$に近づくことは2つの指標が自由で非常に極端に与えられた場合を言うのであり、実際には次の定理により、より小さい方に近づくだけである。
調和平均の上限と下限: $a,b > 0$の調和平均は$a$と$b$の間の値を持つ。$\max$と$\min$は最大値と最小値を意味する。 $$ \min (a,b) \le H (a,b) \le \max (a,b) $$
一方、すでに言及したように、精度と再現率は通常トレードオフの関係にあるとされる。ある$c \in (0,2)$に対して単純に $$ \textrm{Precision} + \textrm{Recall} = c $$ と仮定すると、つまり一方が高いときにもう一方がそれに比例して低いとすると、$F_{1}$がどのようになるか見てみよう。既に具体的な数値で説明したので、$c = 1.6$のときに最もバランスが取れたモデル$A(0.8, 0.8)$、適切なモデル$B(0.7, 0.9)$、最も不均衡なモデル$C(0.6, 1.0)$を直接計算して比較する。これらすべてを2つの指標の算術平均で計算すると同じ$0.8$のパフォーマンスになるが、各自の$F_{1}$を計算すると $$ \begin{align*} F_{1}(A) =& {{ 2 } \over { 0.8^{-1} + 0.8^{-1} }} = 0.8 \\ F_{1}(B) =& {{ 2 } \over { 0.7^{-1} + 0.9^{-1} }} = 0.7875 \\ F_{1}(C) =& {{ 2 } \over { 0.6^{-1} + 1.0^{-1} }} = 0.75 \end{align*} $$ 最も不均衡なモデルで最も低く評価されたことがわかる。この計算は$F_{1}$スコアの数式 $$ \begin{align*} F_{1} =& {{ 2 } \over { \textrm{Precision}^{-1} + \textrm{Recall}^{-1} }} \\ =& 2 {{ \textrm{Precision} \cdot \textrm{Recall} } \over { \textrm{Precision} + \textrm{Recall} }} \end{align*} $$ の分子、分母から見つけることができる。$\textrm{Precision}$と$\textrm{Recall}$の辺の長さを持つ長方形を想像してみると、分母の2倍は周囲で、分子は面積に該当する。周囲が一定の長方形の面積が最も大きくなるのは幅と高さが正確に同じ状況、つまり$\textrm{Precision} = \textrm{Recall}$のときであり、ここから離れるほどパフォーマンスは落ちることになる。
定理
まとめると、$F_{1}$スコアは精度と再現率の両方が重要なときに有用な指標である。一方が高くてももう一方が低いと不利に評価され、与えられたトレードオフの中で、両方のバランスを取ることでのみ高く評価される。モデルの性能を上げることは、「与えられたトレードオフ」自体を改善することなので、$F_{1}$スコアは比較的操作に強く、信頼性のある指標であることがわかる。
欠点は、これを直感的に簡単に説明することが難しいことである。非専門家、特に一般の人々には、すでに精度と再現率も理解するのが難しく、それらがどのように異なるかをさらに知ることはもっと難しく、それらの調和平均である$F_{1}$スコアを説明することはほぼ不可能に近い。
一般化
$$ F_{\beta} := {{ 1 + \beta^{2} } \over { \beta^{2} \textrm{Precision}^{-1} + \textrm{Recall}^{-1} }} $$ $F_{1}$は重みを異なる$F_{\beta}$から▷eq51