芋の独り言

当ブログへのアクセスは当ブログのプライバシーポリシーに同意したものとみなします.

情報検索(Information Research: IR)システムの評価指標:精度と再現率

予備知識

調和平均

通常のイメージして使う平均は算術平均 arithmetic meanと呼ばれ,

\Huge 算術平均A = \frac{1}{n}\sum_{i=1}^{n}x_i

と定義されます. これに対し,調和平均 harmonic meansは

\Huge 調和平均H = \frac{n}{ \sum_{i=1}^{n}\frac{1}{x_i} } = \frac{ n \times \prod_{i=1}^{n}x_i }{ \sum_{i=1}^{n} \frac{ \prod_{i=1}^{n}x_i }{x_i}} 

と定義されます.比の平均を求める場合は調和平均を使ったほうが妥当な数値が得られます.また,2値の調和平均は


\large x = \{a,b\}のとき\\
\LARGE H = \frac{2}{\sum_{i=1}^{2}\frac{1}{x_i}} = \frac{2}{\frac{1}{a} + \frac{1}{b}} = \frac{2 \times ab}{ \frac{ab}{a} + \frac{ab}{b} }= \frac{2ab}{a + b} 

となり,これが以下で説明するF値になります.

集合演算

以下の過去記事を参照してください. kusoimox.hatenablog.jp

評価指標

f:id:kusoimox:20190819023242p:plain 上のベン図を元に説明していきます.まず,

  • 全体集合U:文書集合 document collection
    対象とする文書の集合.
  • 部分集合A:適合文書
    システムが正解と判断した文書の集合.
  • 部分集合B:正解文書
    文字通り正解としている文書の集合.目標文書ともいう.つまり,正解=目標の意で用いる.

というわけです.

  • t_p = A \cap B正解適合文書(図の緑部分
    適合文書のうち,実際に正解であった文書の集合.真の陽性ともいう.
  • t_n = U - ( A \cup B ) (図の黄部分
    システムが検出せず,かつ,正解でもないが文書集合に含まれている集合.真の陰性ともいう.数が膨大なので,指標の計算には使わない.
  • f_p =  ( A \cup B ) - B検索ノイズ(図の赤部分
    不正解であるが,システムが正解と誤検出した(検索結果に現れた)文書の集合.システムの出力したものの中のゴミ.
    偽陽性 false positive,偽りの採用,第二種の過誤ともいう. また,システムが正解と判断した(適合した)ことを”陽性”といい,それが誤っているから”偽陽性”という.
  • f_n =  ( A \cup B ) - A検索漏れ(図の青部分
    正解であるが,システムが検出しなかった(検索結果に現れなかった)文書の集合.目標のうち,システムが出力できなかったもの.
    偽陰性 false negative,偽りの棄却,第一種の過誤ともいう. また,システムが不正解と判断した(適合しなかった)ことを”陰性”といい,それが誤っているから”偽陰性”という.

となっています.これらを用いて,性能評価の指標は

  • 精度(適合率) precision
    P = \frac{t_p}{t_p + f_p} = \frac{t_p}{A}
  • 再現率 recall
    R =\frac{t_p}{t_p + f_n} = \frac{t_p}{B}

となります.これの二値はトレードオフの関係にあり,両方をMAXにはできないわけです.そこで,これを用いて,

  • F値 F-measure
    1992年に導入されたE値の変種であり,精度Pと再現率Rという2値の調和平均.
\Large F_1 = \frac{2PR}{P+R}

以上の式はF値の完全な定義ではなく,F_1値と呼ばれる.F値の定義は次の通りである.


\Large 0 \leq \beta \leq +\infty, \alpha = \frac{1}{\beta ^2 + 1} とパラメータ定義したとき\\
\LARGE F = \frac{(\beta ^2 +1) PR}{\beta ^2 P +R} = \frac{1}{\alpha \frac{1}{P} + (1 - \alpha)\frac{1}{R} }

以上の定義において,パラメータが\beta = 1.0, \alpha = 0.5のとき,F_1値となる.つまり,


・\beta > 1.0,\alpha < 0.5:Rよりの数値\\
・\beta = 1.0,\alpha = 0.5:PとRの調和平均\\
・\beta < 1.0,\alpha > 0.5:Pよりの数値\\

F値はPとRの両方の影響を受け,両方の数値が高いほどF値が高くなる.PとRのどちらかが0ならばF値は0になる.
パラメータはPとRのバランスを保つためのものである.このパラメータ\beta


\large \frac{\partial E}{\partial P} = \frac{\partial E}{\partial R} を満たすとき,\\
\Large \beta = \frac{R}{P}

と定義される.これを元にF値を改めて見てみると,


\Large \beta = \frac{R}{P} を代入する.\\
\LARGE F = \frac{(\beta ^2 +1) PR}{\beta ^2 P +R} \\
\LARGE \quad\: = \frac{(\frac{R^2}{P^2} +1)PR}{\frac{R^2}{P^2} P + R}\\
\LARGE \quad\: = \frac{\frac{R^3}{P} + PR}{\frac{R^2}{P} +R}\\
\LARGE \quad\: = \frac{R^3+P^2R}{R^2+PR}\\
\LARGE \quad\: = \frac{P^2+R^2}{P+R}\\
\LARGE \quad\: = \frac{PとRの二乗算術平均}{PとRの算術平均}

とすることができる.

\LARGE E =1 - \frac{1}{\alpha \frac{1}{P} + (1 - \alpha)\frac{1}{R} } = 1 - \frac{PR}{\alpha R + (1 - \alpha)P} = 1 - \frac{(\beta ^2 +1) PR}{\beta ^2 P +R} 

と定義される.これより,

\Large F = 1 - E

ということができる.

  • フォールアウト fallout
    fallout=\frac{f_p}{f_p + t_n}
    再現率とトレードオフの関係にある指標.
  • MAP値(Mean Average Precision: MAP)
    正解適合文書をシステムが出力する度に,その時点での精度を求める.そうして精度が複数得られるので,その平均をとって,平均精度 average precisionとする. さらに,平均精度を情報検索システムに対する様々なクエリ(検索ワード)で求め,平均精度の平均を求める.最終的に求まったものがMAP値である.

という性能指標で情報検索システムを評価します.これらの性能指標は自然言語処理一般で用いられるといっていいでしょう. また,そのほかの性能指標として,

  • 平均逆順位 Mean Reciprocal Rank: MRR
    検索結果をトップから順にチェックし,正解適合文書が現れる度に,その時点での”順位 rank”(トップから何番目に出現したか)を求め,その逆数(逆順位という)を記録しておく. 最終的に得られた逆順位の平均をとり,その値がMRR値となる.
  • DCG値(Discounted Cumulative Gain: DCG)
    文書の相関度によるスコアの合計値.

があります.

参考


その他