1.Mean Average Precision (MAP)
其中,
其中,
例如,
rank_no 是否相关
1 1
2 0
3 1
4 0
5 1
6 0
则根据AP计算公式:
AP = (1*1 + (1/2) *0+ (2/3)*1 + (2/4)*0 + (3/5)*0 + (3/6)*0) /3 = …
举例,第一项,P(1) = 它前面的项(包括自己)相关的个数除所在排序的位置(也就是1)。第一位及前面(前面没有)相关的个数就是它本身,所以P()的分子就是1,分母也是1.所以取值为1。同时y值为1.最终的对应AP中的项就是1
其他以此类推。
AP的最大值为1(也就是当相关的全部排在不相关的前面的时候)
MAP就是对所有query的AP求平均。
2.Mean Reciprocal Rank (MRR)
其中|Q|是查询个数,ranki是第i个查询,第一个相关的结果所在的排列位置。
举例:
对于三个查询,每个查询的ranki分别为3、2、1。所以,
(参考自Wikipedia)
3.NDCG
首先是DCG的定义:
其中,
举例:
所以:
理想的DCG,也就是排序是最理想的情况(3,3,2,2,1,0):
最终的NDCG为:
(参考自Wikipedia)
4.Kendall tau distance
也就是两个排序间,评价存在分歧的对的数量。具体定义如下:
其中,
如果两个排序完全一样。则Kendall tau distance位0。否则,如果两个排序完全相反,则为
通常 Kendall tau distance都会通过除以
举例:
从中可以看出有4个元素对在两个排序中存在分歧。所以归一化后的Kendall tau distance为:
(参考自Wikipedia)