petitviolet_blog

@petitviolet blog

再現率・適合率

再現率・適合率

前回のエントリの引用.

  • Precision:適合率
    • 検索結果に適合しない文書が入ってない割合
  • Recall:再現率
    • 適合する全ての文書の内,どれだけ拾うことが出来たかの割合

計算式は以下の表を用いて

Relevant Nonrelevant
Retrieved
tp
fp
Not Retrieved
fn
tn
  • Precision(P) = tp / (tp + fp)
  • Recall(R) = tp / (tp + fn)

となる.

PとRはトレードオフの関係である.
検索結果として全ての文書を返せば,R→1となるがP→0となる.
条件を厳しくして適合文書をほんの少しだけ返せばPは大きくなるが,Rは小さくなる.

例を挙げてみる.

  • 文書集合内の文書の数は10コ.
  • 検索結果として10コの文書を返す.
  • 正解となる文書(適合文書)は4コ.
  • 適合文書の出現順序は以下の通り.
ランキング 1 2 3 4 5 6 7 8 9 10
適合文書?
× × × × × ×

この結果に対してPとRを求めると,

P = 4 / 10 = 0.4
R = 4 / 4 = 1.0

となることがわかる.
この値は検索結果10件に対しての値であるが,
検索結果として1件返した時のPとR
2件返したときのPとR
といったように順番に求めていく.
これを表に纏めると以下のようになる.

ランキング 1 2 3 4 5 6 7 8 9 10
適合文書?
× × × × × ×
適合率(P) 1.00 0.5 0.67 0.50 0.60 0.67 0.57 0.50 0.44 0.40
再現率(R) 0.25 0.25 0.50 0.50 0.75 1.00 1.00 1.00 1.00 1.00

となる(計算式は省略).

Average Precision(AP:平均適合率)

検索結果における各再現率レベルでの適合率の平均,
つまり適合文書が得られた時点における適合率の値の平均値のこと.
上の例について考えれば,
適合文書が得られた時点での適合率の値は

  • 1.00, 0.67, 0.60, 0.67

となり,APは

  • (1.00 + 0.67 + 0.60 + 0.67) / 4 = 0.735

となる.
計算式で示すと,
$\textstyle AP = \frac{1}{n} \sum^{}_{n} P_i$

  • 但しnは適合文書の数を表す.

Mean average precision(MAP)

これは上で求めた平均適合率の平均である.
適合文書が得られたそれぞれの時点での平均適合率を求めて,
それらの値の平均値を求めることで得られる.
ランキングの上位にどれだけ適合する文書が出現しているかの指標となる.

Interpolated Precision(補完適合率)

適合率を縦軸,再現率を横軸とするグラフを描いたときに,
各再現率においてその再現率以上における適合率の最大値をその再現率における適合率とする,ということ.
上の例

ランキング 1 2 3 4 5 6 7 8 9 10
適合文書?
× × × × × ×
適合率(P) 1.00 0.5 0.67 0.50 0.60 0.67 0.57 0.50 0.44 0.40
再現率(R) 0.25 0.25 0.50 0.50 0.75 1.00 1.00 1.00 1.00 1.00

について考えると,

再現率 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
補完適合率 1.00 1.00 1.00 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67

となるはず(間違ってたら指摘してください).

n点補完平均適合率

今までのを用いて,適合率-再現率曲線において再現率点をn点定めておき,
それらについて補完適合率の平均値を求めたもの.

  • nには11が入るのが一般的
    • 0.0, 0.1, ..., 1.0の11点のこと

上で11点における補完適合率を求めてあるので,それを用いると
(1.0 + 1.0 + ... + 0.67) / 11 = 0.760
となる.はず.(間違ってたら以下略)