F値(F-measure)とは
概要につきましては、朱鷺の杜Wikiなどに記載の通りですが、私からもざっくりと…。
F値は次のように定義されます。
Recall(再現率)とPrecision(適合率)については、以下のような考え方です。
まず、真偽を予測する分類器において、その結果は以下4分類に分けられます。
これを元に、Recall(再現率)とPrecision(適合率)が計算できます。
再現率 (recall, 感度, sensitivity):実際に正であるもののうち,正であると予測されたものの割合
朱鷺の杜Wikiより引用
適合率 (precision):正と予測したデータのうち,実際に正であるものの割合
朱鷺の杜Wikiより引用
実際に値を当てはめてF値を考える
それでは、実際に値を当てはめて考えてみます。
例えば、100人に1人がかかる病気について、10000人を対象に予測する場合を考えてみましょう。
上記のような結果だった場合、各指標値は以下の通りとなります。
- Accuracy(精度):0.9
- Precision(適合率):0.08333…
- Recall(再現率):0.9
- F-measure(F値):0.15254…
予測器の精度としては、0.9(90%)と高めですが、F値を見てみると0.15と低めです。
「精度90%の予測器」と聞くと、それなりに高精度だと思ってしまいますが、今回のような場合、それぞれの指標を見ると、再現率と適合率のバランスが悪いです。
この再現率と適合率のバランスの悪さを見抜ける点が、F値の重要な役割となってきます。
今回の予測器を実際に病院で運用すると仮定した場合、10000人中990人は病気ではないですが、”陽性”と判断されている以上は、何かしらの検査を実施しなければいけません。
そう考えるといくら精度90%とはいえ、実運用上では厳しそうな感じがしてきますよね。(そもそも医療系の場合、”実は陽性”の10人を見逃した時点でアウト!の場合もありますが…)
見かけの精度に騙されてF値の分析を怠ると、実際の体感精度との間に乖離が生まれます。
極端な話、今回のように真の可能性がそもそも低い問題に対しては、ちょっとズルをしてすべて偽と答える予測器を作っても、以下のように精度99%を叩き出せるわけですが、F値としては全然ダメという結果になります。
F値を見ることによって、見かけの精度が”本物”かどうか判断できるようになるのです。
F値の目安と適合率・再現率の関係
この値以上ならOK!という明確な目安はありませんが、値の範囲としては0から1の間に収まりますので、ざっくり高い低いの判断は付くかと。
また、適合率と再現率の関係はトレードオフです。
適合率が高まれば、再現率は低くなり…逆もまた然りです。
どっちも大事だよねということで、再現率と適合率の調和平均をとるF値が使われるのです。
調和平均の説明については、Wikipediaやこちらのページ辺りをご参照ください。
まとめ
今回は、F値の意味について考えました。
作る側はもちろん、使う側も精度だけではなくF値も見るようにしたほうが良いですね。
様々な業種にAIが入り込んできている時代ですので、AIリテラシーを高めて、上手に利用していければと思います。
それでは、また次回!
平成生まれのアラサー文系ぽんこつシステムエンジニア。
エンジニアらしく技術系の記事を書いたり、全く関係ない記事を書いたり、まったりやっていきたいです。
AI(人工知能)、デジタルマーケティング、DX、Office365活用、ガジェットなどに興味があります。
コメント
テスト