(※もし間違った認識をしている点がありましたら、編集リクエスト・コメントなどご指摘お願い致します。)
その他のPrecision, Recall系の記事のまとめページ一覧はこちら。
PrecisionとRecallのトレードオフの関係
識別のタスクにあっては、一方の性能を上げればもう片方は必ず下がってしまうトレードオフの関係が中にあって呪縛から避けられないらしい(=それが丁度、PrecisionとRecallの関係だそう)。ここでは、例えとして、適当なタイプと慎重なタイプを引き合いに出してこのトレードオフを見てみることに。
1. Precisionが小さくRecallが大きい状態とはどういうことなのか?=何でもりんごと言う適当なタイプ
例えば、機械学習くんがりんごの正答率を上げようと画策して、分からなかったら何であってもとりあえずりんごと適当に言うタイプになってしまうと、りんごの絵が出題された時の正答率は毎回りんごりんご言うので確かに上がるものの、りんごでない絵の時にもすぐりんごと言うので、機械学習くんのりんご発言の信頼性が下がる。この時、Recallは高くなるが、Precisionが低下している。総合的には、発言に信頼のおけない嘘つき機械学習くんとなる。
2. Precisionが大きくRecallが小さい状態とはどういうことなのか?=なかなかりんごと言わない慎重なタイプ
一方、機械学習くんがりんごの正答率を上げようと画策して、必ず明確にりんごと分かる時にだけりんごと言うようになり、なかなかりんごと言わない慎重なタイプになってしまうと、絶対分かる時だけりんごと言うので確かに機械学習くんがりんごと言った時にはその発言は信頼できるものの、りんごの絵なのになかなかりんごと言わないので、りんご記憶力テストの点数は悪くなる=記憶力が悪いとされる。この時、Precisionは高くなるが、Recallが低下している。総合的には、記憶力が悪い不出来な機械学習くんとなる。
まとめると、
Precision・Recallの大きさ | 機械学習くんのタイプ |
---|---|
Precisionが小、Recallが大 | 何でもりんごと言う適当なタイプ |
Precisionが大、Recallが小 | なかなかりんごと言わない慎重なタイプ |
なぜPrecisionとRecallを見るのか?
機械学習くんが何とか正答率を上げようと画策すれば、本当は自分の識別能力は高くないのに、Precisionだけ高くしたり、Recallだけ高くしたり、が簡単に出来てしまう。Recallを高くするには、何でもりんごと言う適当なタイプになればいいし、Precisionを高くするには、なかなかりんごと言わない慎重なタイプになればいい。一方で、自分の識別能力が本当に高くないと、PrecisionとRecallの両方を高くすることは出来ないもの。機械学習くんの画策を見破るためには、PrecisionとRecallが同じぐらい高くて、バランスが取れているかを監視しておく必要があるということ。感覚的に、PrecisionとRecallの両方の大きさ$P+R$のようなもので全体の性能の高さと、PrecisionとRecallの差$|P-R|$のようなものでバランスをチェック。
なぜF値(=Precision・Recallの調和平均)を使うのか?
機械学習くんが、適当過ぎるタイプであっても、慎重過ぎるタイプであっても、都合がよろしくないので、実用上は、Precision・Recallが同じぐらい高い、バランスが取れた性能が、おおむね一番都合がいい。その点において、F値は、PrecisionとRecallの差が開けば開くほどF値が下がっていくので、1つの指標で性能を見たい場合、F値はより都合がいい性質を持っているように見えてくる。