1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

セグメンテーションの評価指標Precision, Recall, Diceの意味

Last updated at Posted at 2023-02-04

はじめに

Deep learningのセグメンテーションタスクではたくさんの評価指標が使われますが,その本質的な意味がわかっていないと,ただ数字を眺めるだけで「高いから良い」「低いから悪い」になってしまいます.投稿主の勉強も兼ねてこのタイミングでまとめようと思いました.間違い・説明不足等ありましたらコメントください.

セグメンテーション結果を赤,正解(ground truth, GT)を青で表すことにします.
Picture1.png
赤:セグメンテーション結果(A);青:正解(B)

セグメンテーション結果について,セグメンテーションされた領域(陽性,positive)とセグメンテーションされていない領域(陰性,negative)と,正解領域について,正解の領域(positive)と正解じゃない領域(negative)があり,下表のような関係になります.

GT \ segmentation positive negative
positive TP FN
negative FP TN
  • TP (true positive): 正解領域を正しくセグメンテーションできた($A \cap B$)
  • TN (true negative): 正解じゃない領域を正しくセグメンテーションしなかった($\overline{A \cap B}$)
  • FP (false positive): 正解じゃない領域を誤ってセグメンテーションしてしまった($A \cap \overline{B}$)
  • FN (false negative): 正解領域をセグメンテーションできなかった(見逃した)($\overline{A}\cap B$)

Picture2.png

この投稿ではこの関係をもとに話を進めていきます.

コンテンツ

  1. PrecisionとRecall(適合率と再現率)
  2. Dice (F値,F-measure)
  3. おわりに
  4. 参考文献

PrecisionとRecall(適合率と再現率)

Precision(適合率)の定義は次の数式です:

Precision = \frac{TP}{TP+FP}. \tag{1}

分母はセグメンテーション領域(赤)なので,「セグメンテーションした領域はどのくらいあってるの?」という指標です.すなわち,でたらめにセグメンテーションして正解以外の領域を塗ってしまえばFPが増え,Precisionは下がるということになります.
FPが増えれば値は下がり,無駄なセグメンテーションをしていなければ値は高くなります.

次に,Recall(再現率)の定義は次の数式です:

Recall = \frac{TP}{TP+FN}. \tag{2}

分母は正解領域(青)なので,「正解はどれくらい塗れた?」という指標です.すなわち,でたらめにセグメンテーションしても正解さえ塗れていればRecallは高くなります.
見逃し(FN)が多いほど値は下がり,少ないほど上がります.

ここで2つの極端な例を考えてみます(下図).左はPrecisionは高いけどRecallは低い例,右がPrecisionは低いけどRecallは高い例です.こう見ると,それぞれセグメンテーション結果は正解領域とは大きく異なるのに,片方の指標だけに注目すると,高い値を示していて精度が高く見えてしまうことがありそうです.
Picture3.png
左:Precision高,Recall低の例;右:Precision低,Recall高の例

Dice (F値,F-measure)

「Precision, Recallをバランス良く考えたい」ということで使うのがDiceです.DiceはPrecision, Recallの調和平均です:

Dice = \frac{2}{1/Precision+1/Recall}. \tag{3}

調和平均はしばしば割合の平均として紹介されますが,今回の「Precision, Recallの調和平均」はどのような意味を持つでしょうか.
調和平均は作業効率の平均と言い換えることができます.例えば,

Aさんは1分で卵を2つ割ります.Bさんは1分で卵を5つ割ります.いま二人で10個ずつ割って合計20個割りました.このとき二人合わせた作業効率は?

という問いがあったとき,作業効率を求める式は「仕事量÷時間」になります.すなわち,

\begin{align}
二人の作業効率 &= \frac{20 [個]}{10/2 [分]+10/5 [分]}\\ \tag{4}
&= 2.85... [個/分]
\end{align}

となり,二人は約2.9 [個/分]割っていることになります.

話を戻してPrecision, Recallについて同様に「作業効率」として考えると,正解に対して, Precisionは「どれだけ無駄なく塗れたか?」,Recallは「どれだけ隙間なく塗れたか?」という違った角度から見た作業効率を表します. これらの調和平均を取ることがDiceの表す意味になります.

おわりに

Precision, Recall, Diceについてまとめました.それぞれの値からセグメンテーションと正解の位置関係がイメージできると,数字から多くの情報を得ることができると思います.

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?