推荐系统的几个指标:准确率、召回率、覆盖率、流行度

您所在的位置:网站首页 推荐系统召回率和准确率一样吗为什么不一样 推荐系统的几个指标:准确率、召回率、覆盖率、流行度

推荐系统的几个指标:准确率、召回率、覆盖率、流行度

2023-12-22 18:56| 来源: 网络整理| 查看: 265

准确率Precision

设R(u)是根据训练集给出的推荐列表,T(u)是训练集中的行为列表(真实数据)。

准确率就是:推荐中的正确数据(与真实数据相同的数据)与推荐数据之比。

即:|R(u)∩T(u)|/|R(u)|。

代表推荐数据中有多少是准确的。查准。

召回率Recall

设定同准确率。

召回率就是:推荐中的正确数据(与真实数据相同的数据)与真实数据之比。

即:|R(u)∩T(u)|/|T(u)|。

代表所有真实数据中,有多少被推荐出来了。查全。

F值

准确率与召回率的调和平均值,即:准确率召回率2/(准确率+召回率)

我们设容器中有1000颗红豆,600颗绿豆,400颗黄豆。

以抓红豆为目的,抓一大把,内有红豆400颗,绿豆200颗,黄豆100颗。

准确率=(400红,200绿,100黄)∩(1000红)/(400红+200绿+100黄)=4/7。

召回率=(400红,200绿,100黄)∩(1000红)/1000红=2/5

F值=(4/72/52)/(4/7+2/5)=8/17。

准确率与召回率,范围在0,1之间,越接近1越好。但很多时候,二者是相冲突的。

如果只推荐了一个结果,且是准确的,则准确率100%,但召回率很低。

如果推荐了所有的准确结果,召回率100%,准确率就有可能很低。

如上面的例子,如果黄豆为1000万个,一把将所有豆子都抓出来,召回率100%,1000个红豆都出来了,但准确率就很低了。

覆盖率Coverage

先说俩概念。

1、长尾分布:也即齐普夫定律。将物品被推荐的频次递减排列,则序号r与出现频次f之积fr,近似为一个常数,即fr=b。也可以简单地理解为二八理论。如图:

2、马太效应:强者愈强,弱者愈弱。

基于上面两个理论,一个系统中,热门的商品会变得更热门,冷门的商品也愈发冷门。

比如电影院中暑期档、春节档中的电影,排片越多,看得人越多,接着排片更多。而冷门的电影则相反,很多电影也是影院一日游,甚至被放在垃圾时间上映。

而对于供应商来说,自然是希望自己的产品尽可能地为所有人所知,这就是覆盖率。

设:所有物品集为I,用户集为U,推荐给每个用户一个数量为N的物品集R(u),覆盖率为:

即:u个用户的推荐集并集的物品数量与总物品数之比。

但是覆盖率只说明了有多少物品被推荐了,并不能展示出被推荐的次数。

例如,100个用户,100个物品。其中有99个物品都只推荐给了1个人,只有1个物品推荐给了所有人。覆盖率是100%,但这种推荐系统绝不是大家想要的。

物品流行度分布

所谓物品流行度,其实就是有多少用户与此物品发生了关系,放在推荐系统里面,我们可以简单地认为这个物品被推荐给了多少用户,或者多少用户点击了这个物品。也就是物品出现在推荐列表中的概率。

同样是100个物品,100个用户,如果所有物品都出现在了推荐列表中,且推荐给了所有人,则物品流行度的分布曲线就是平的,效果好。反之如覆盖率一节所举的例子,其曲线就比较陡,效果并不好。

物品流行度的分布,有两种计算方式。

1、信息熵

信息熵就是信息的不确定性的度量。在推荐系统中,信息熵越大,说明系统越混乱,概率(物品流行度)就越趋于相等。

信息熵的公式:

p(i)是第i个物品i的流行度除以所有物品流行度之和。

2、基尼系数

将物品流行度从小到大排列,可得下图曲线x,如果物品流行度的分布越平均,则越贴近斜边y,A的面积SA就越小,B的面积SB就越大,基尼系数也就越小。

基尼系数公式:SA/(SA+SB)。

我们举例如下图:

公式推导过程其实就是尽可能将红区切割成梯形(最左边的是三角形),并求和,得出SB,然后根据横纵坐标求出直角三角形的面积即SA+SB

基尼系数即为(SA+SB-SB)/(SA+SB)

推导之后,公式为:

其中Wi表示从第1组累计到第i组的物品总推荐人数占全部物品总推荐人数的百分比。

表格中的基尼系数0.512是根据梯形面积求出来的,下面我们用公式求一下

G=1-1/10[2*(1+4+9+19+30+55+98+153+213)/300+1]

G=1-1/10(2*582/300+1)

G=1-0.1*(3.88+1)=1-0.1*4.88

G=0.512



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3