文章目录
概述
首先需要说的是,这几个东西都是评价标准,在我当前工作的领域而言,其衡量的是推荐系统的性能。我们介绍一下这几个东西的全称是什么:
- MRR(Mean Reciprocal Rank)
- P(Precision)
- R(Recall)
@K是什么
这个的意思是在得到推荐的得分之后,我们会按照得分进行排序,我们评估的是前K个
举例
这些概念用例子最好解释,我在这里给一个背景,后面的例子以此为基础
我们有9个球,5黑4白,从中随机排序找前5个(这里K就是5),目标是找白球
P@5
这个计算的是前K个结果中包含几个目标项
比如前五个球里面有4个白球,P@5 = 4 / 5 = 0.8
R@5
这个计算在前K个中出现的目标占总体目标的比例
比如前五个球里有3个白球,R@5 = 3 / 4 = 0.75
MRR@5
这里我们改一下例子的背景,现在我们有1个白球和5个黑球,进行3次排序。第一次白球在第2名,第二次在第一名,最后一次在第六名
我们计算:MRR@5 =
1
3
(
1
2
+
1
1
+
0
)
=
0.5
\frac{1}{3}(\frac{1}{2} + \frac{1}{1} + 0) = 0.5
31(21+11+0)=0.5
可以看到,这个就是目标出现位置倒数的平均数,特别的,如果在前K个中没出现记为0.
讨论
P@K R@K区别
这里我再说明一下,这两个最主要的区别在于总体的选择,对于P来说,总体是前K个东西;而对于R来说,总体是所有的目标物品。
MRR
这个我认为只在单目标的时候比较好用,另外对于K的选择其实也是很tricky的事情,说实在的我其实觉得可以不用这个K,直接对所有的取排名就可以。这样进行截断,如果有非常多排在K+1的情况,其实MRR并不能很好地反应模型的表现
版权归原作者 Petersburg 所有, 如有侵权,请联系我们删除。