信息检索中 (IR) 的评价指标: P@n, MAP, MRR, DCG, NDCG

P@n

前 n 个结果的准确度, P指的是Precision. 如果用 y i = 0 , 1 y_i=0,1 分别表示第 i 个结果相关、不相关, 则
P @ n = 1 n i = 1 n y i P@n = \frac{1}{n} \sum_{i=1}^ny_i
在评测系统的 P@n 时, 对每个查询的结果计算P@n, 取这些值的平均值作为系统的P@n.
参考:

MAP

Average Precision(AP): P@n的一个平均, 计算方式如下:
A P = 1 R r = 1 R P @ r AP = \frac{1}{R} \sum_{r=1}^RP@r
其中R是预定义的. 在评测系统的AP时, 对每个查询的结果计算AP, 取这些值的平均值作为系统的AP.

Mean Average Precision (MAP): 在评价一个系统的性能, 有时会用不同主题的查询进行检索, 评价系统的整体性能. 在第t类查询, 系统的AP记作 A P i AP_i 的话, MAP计算方式如下:
M A P = 1 T t = 1 A P i MAP = \frac{1}{T} \sum_{t=1}^AP_i
参考

MRR

Mean Reciprocal Rank (MRR). 对每个查询 q i q_i , 记它第一个相关的结果排在位置 k i k_i , 即rank为 k i k_i , 则Reciprocal Rank(RR)得分计作 1 / k i 1 / k_i .
对所有query的RR取平均, 即为MRR:
M R R = 1 N i 1 / k i MRR = \frac{1}{N}\sum_i 1/ k_i

DCG和NDCG

Discounted Cumulative Gain (DCG): 指的, Cumulative为将所有的结果累加起来, Discounted指给排在后面的结果加一个折扣系数, 排序位置越考后, 折扣系数越小.
DCG@N的计算方式如下
D C G @ N = i = 1 N r i D i DCG@N = \sum_{i=1}^N r_i * D_i
其中 r i r_i 指每条结果的收益(Gain), D i D_i 指折扣系数, 排序位置越考后, 折扣系数越小, 常用的是 1 / l o g ( 1 + i ) 1 / log(1 + i) .
一种常用的形式如下:
D C G @ N = i = 1 N 2 r e l i 1 log ( i + 1 ) DCG@N = \sum_{i=1}^N \frac{2^{rel_i} - 1} {\log (i + 1)}

Normalized Discounted Cumulative Gain (NDCG): 对于不同query, DCG的量级可能不同, 比如一个query对应的文档相关性都较差, 另一个query对应的文档都很好, 这样评价指标就会偏向第二个query. Normalized指将一个query对应的文档所有排序中最大的DCG求出来, 不妨计作 I D C G @ N IDCG@N , 则
N D C G @ N = D C G @ N / I D C G @ N NDCG@N = DCG@N / IDCG@N
举例来说, query下有4个文档, 相关性分别为1 2 3 0. 则最好的排序是 3 2 1 0, 在这种排序情况下计算出来的DCG就是IDCG.

猜你喜欢

转载自blog.csdn.net/feifei3211/article/details/105146215