推荐系统评测

作者 zhan-bin 日期 2018-10-15
推荐系统评测

推荐系统评测指标

概述

 一个推荐系统的好坏需要一定的评测标准或者指标来衡量。常用的评价指标有:

  1. 用户满意度
  2. 预测准确度
  3. 覆盖率
  4. 多样性
  5. 新颖性
  6. 惊喜度
  7. 实时性
  8. 信任度
  9. 健壮性
  10. 商业目标

1.用户满意度

 用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。但是,用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。有对推荐结果满意或者不满意的反馈按钮,通过统计两种按钮的单击情况就可以度量系统的用户满意度。更一般的情况下,我们可以用点击率、用户停留时间和转化率等指标度量用户的满意度。
下图为用户对推荐结果反馈的界面
1

2.预测准确度

 预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标,从推荐系统诞生的那一天起,几乎99%与推荐相关的论文都在讨论这个指标。这主要是因为该指标可以通过离线实验计算,方便了很多学术界的研究人员研究推荐算法。
 在计算该指标时需要有一个离线的数据集,该数据集包含用户的历史行为记录。后,将该数据集通过时间分成训练集和测试集。最后,通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。
评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。对于测试集中的一个用户u和物品i,令rui是用户u对物品i的实际评分,而rˆui是推荐算法给出的预测评分,那么RMSE的定义为:
f1
MAE采用绝对值计算预测误差,它的定义为:
f2

3.覆盖率

 覆盖率(coverage)是一个推荐系统对一些比较冷门的物品的发掘能力。覆盖率可以量化为推荐系统推荐的所有物品种类占总物品种类的比例。假设用户集合为U,推荐系统给每个用户推荐N个物品的列表R(u)。那么覆盖率可以通过下面的公式计算:
f3
长尾理论:长尾理论是经济学里面的一个概念,对于商品来说就是热门的少部分商品占据了大部分的销售份儿和关注度,还有很大的一部分不热门的商品则基本无人问津,而且由于马太效应会造成热门的商品会有越来越多人关注。
2

图片引用:长尾理论–百度百科

 上面公式定义的覆盖率不能反映出物品推荐次数的分布情况,只是反映了有多少商品被推荐了。而在信息论和经济学中有两个著名的指标可以用来定义覆盖率。

  • 第一个是信息熵(里p(i)是物品i的流行度除以所有物品流行度之和):
    f4

  • 第二个指标是基尼系数(Gini Index):
    f5

4.多样性

 用户的兴趣是广泛的,在一个视频网站中,用户可能既喜欢看《猫和老鼠》一类的动画片,也喜欢看成龙的动作片。那么,为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域,即推荐结果需要具有多样性。
 多样性描述了推荐列表中物品两两之间的不相似性。因此,多样性和相似性是对应的。假设s(i, j)∈[0,1]定义了物品i和j之间的相似度,那么用户u的推荐列表R(u)的多样性定义如下:
f6

而推荐系统的整体多样性可以定义为所有用户推荐列表多样性的平均值:
f7

5.新颖性

 新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。在一个网站中实现新颖性的最简单办法是,把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。比如在一个视频网站中,新颖的推荐不应该给用户推荐那些他们已经看过、打过分或者浏览过的视频。但是,有些视频可能是用户在别的网站看过,或者是在电视上看过,因此仅仅过滤掉本网站中用户有过行为的物品还不能完全实现新颖性。

6.惊喜度

 惊喜度(serendipity)是最近这几年推荐系统领域最热门的话题。但什么是惊喜度,惊喜度与新颖性有什么区别是首先需要弄清楚的问题。注意,这里讨论的是惊喜度和新颖度作为推荐指标在意义上的区别,而不是这两个词在中文里的含义区别(因为这两个词是英文词翻译过来的,所以它们在中文里的含义区别和英文词的含义区别并不相同),所以我们首先要摒弃大脑中关于这两个词在中文中的基本含义。目前并没有什么公认的惊喜度指标定义方式,这里只给出一种定性的度量方式。

7.信任度

 信任度是指用户对于这个推荐系统的信任度、或者是用户的好友的信任度。在推荐系统中,用户对于某个推荐系统的信任度高则用户更有可能接受这个推荐系统所推荐的东西。或者说基于用户信任度高的好友所推荐的东西也是更容易让用户接受。

8.实时性

 在很多网站中,因为物品(新闻、微博等)具有很强的时效性,所以需要在物品还具有时效性时就将它们推荐给用户。比如,给用户推荐昨天的新闻显然不如给用户推荐今天的新闻。因此,在这些网站中,推荐系统的实时性就显得至关重要。
 推荐系统的实时性包括两个方面。首先,推荐系统需要实时地更新推荐列表来满足用户新的行为变化。比如,当一个用户购买了iPhone,如果推荐系统能够立即给他推荐相关配件,那么肯定比第二天再给用户推荐相关配件更有价值。很多推荐系统都会在离线状态每天计算一次用户推荐列表,然后于在线期间将推荐列表展示给用户。这种设计显然是无法满足实时性的。与用户行为相应的实时性,可以通过推荐列表的变化速率来评测。如果推荐列表在用户有行为后变化不大,或者没有变化,说明推荐系统的实时性不高。

9.健壮性

 推荐系统的健壮性是指这个推荐系统防止攻击和恶意刷热度的行为,这些都会严重影响推荐系统的各种性能指标。

10.商业目标

 很多时候,网站评测推荐系统更加注重网站的商业目标是否达成,而商业目标和网站的盈利模式是息息相关的。一般来说,最本质的商业目标就是平均一个用户给公司带来的盈利。不过这种指标不是很难计算,只是计算一次需要比较大的代价。因此,很多公司会根据自己的盈利模式设计不同的商业目标。


相关引用: 项亮.推荐系统实践[M].北京:人民邮电出版社,2012