F値の前身はE値?

本当はF値で使われている調和平均が相加平均,相乗平均よりも小さくなるという証明を書くつもりだったのだけれど,F値について調べているうちに知らなかった歴史が少しだけ紐解かれた.

F値の初出について調べる余力がなかったので,F値の初出をご存じの方がいれば,教えて頂けると幸いです.

さてF値という評価指標を知らない方のためにちょっとだけ説明.検索評価に限らず,機械学習などの評価でお馴染みのprecision (適合率),recall (再現率)というものがある.

検索された文書 検索されなかった文書
適合 A B
不適合 C D

とすると,precision Pは検索された文書のうち,適合文書の割合

P = \frac{A}{A + C}

で計算し,recall Rは適合文書がどれだけ検索されたのかという割合

R = \frac{A}{A + B}

で計算する.さて,みんな大好きF値は,

F1 = \frac{2}{1/P + 1/R}

として計算されることが多いが,これは正確にはF1値と呼ばれ,precisionとrecallの重みを等しくしたもの.正しくは,

F = \frac{1}{\alpha 1/P + (1-\alpha) 1/R}

として計算する.\alphaはPとRのどちらかを重視するかという重みであり,F値は「PとRの逆数の重み付き平均の逆数」を計算していることになる.

さて,なんでわざわざ逆数の平均の逆数なんてややこしいことしているんだ! という気分になる人が多いと思う.自分も初めてこれを見たときは全く理解できなかった.

これは,調和平均 (harmonic mean) と呼ばれる平均を取っている.調和平均はその名が表しているとおり,各要素 (今回はPとRの2つ) が等しいときに相加平均,相乗平均と等しくなり,それ以外のときは,相加平均,相乗平均よりも値が小さくなるという性質を持っている.

整理すると,

相加平均 ≧ 相乗平均 ≧ 調和平均

という関係がある.相加平均,相乗平均の関係は中学生か高校生の数学で習った記憶がある.なお,この関係はみんな大好きJensenの不等式で証明することができる.また後日証明を書く予定.

つまり,F値はprecisionとrecallの「悪い方が足を引っ張る」ような重み付き平均になっているわけで,precisionもrecallどちらも「バランスよく」高い値でないといけない,ということがわかる.

一部の教科書などでは,F1値を式変形して

F1 = \frac{2PR}{P + R}

という形で天下り的に紹介されているので,これだけだと意味がわからないし,式を丸暗記する必要がある.F値は「precisionとrecallの重みつき調和平均」という形で覚えていれば忘れることはない.

さてここで,なんで「F」なんだろう? と思って色々調べてみたら,どうやら文献[1]に,

また,E尺度 (E measure) の値を1から引いたものをF尺度 (F measure) と呼ぶことがある.F尺度の場合は,数値が大きいほどよい検索結果となる.
文献[1] (p.79)

と書かれていた.Eの次はFなので,どうやらE measureの方が早く提案されたと推測できる.名前から察するにEはErrorのEだろうか.しかし,F値の初出を見つけることはできなかった.

このE尺度 (E measure) はvan Rijsbergenの教科書[2](p.128)に載っている.(この教科書はウェブで公開されているのでIRの古典を眺めたい方はぜひ.) この教科書では,E値は重み付き平均ではなく,precisionとrecallの単なる調和平均を取っている.

E = 1 - \frac{1}{1/P + 1/R}

なお,教科書では,precisionとrecallが定義されたあとにそれらを組み合わせたcomposite measureとして色々紹介されている.単純にprecisionとrecallを足し合わせた

S = R + P

とかBorkoの方法*1

BK = R + P - 1

とか初期の頃はいろいろあった模様.なるほど,いろいろ経緯があって,最終的に我々が使っているF値に到達したのですね (しみじみ) という気分になった.

余談だけれど,van Rijsbergenの読み方はおそらく「ファン・ライスベルヘン」だと思う.「りじゅばーじぇん」かもしれない.情報検索の黎明期*2を支えた研究者で,「情報検索ことはじめ〜研究者編〜」にてIR暁の四戦士のひとりとして紹介している.

情報検索における評価指標は他にもいろいろ存在するけれど,自分はここらへんに疎いので勉強中.日本語資料だったらたとえば文献[3]などがすぐに読めて良い資料.

以前,相関係数,順位相関係数にどんな意味があるのかということについて二日くらい考えてみた (12) ことがあるけれど,当たり前のように使っている評価指標がどのような意味を持つのか,どういう経緯で使われるようになったのか (e.g., それまで使われてきた評価指標のxxという問題を克服するために etc.) ということを引き続ききちんと考えていきたい.

きちんと紐解くと,中にはTRECで使われたから流行ったというような理由があるかもしれない.評価指標に限らず,研究の歴史というものは興味深いなぁ.

(追記) アップロード直前に調和平均を使う理由についてもっと丁寧に考察されているウェブページ[4]を見つけたのでリンクを張っておきます.

References

*1:[1]にはBorkoという名前だけ書いてあり,引用がなかったので元論文は不明

*2:僕はまだ生まれていないけれど