推荐系统评测指标(The Evaluation Index of Recommender Systems item)

Contents

一、背景

最近看了《用户推荐系统实战》,下面简要介绍各种推荐系统的评测指标,这些指标可用于评价推荐系统各方面的性能。这些指标有些可以定量计算,有些只能定性描述。 image1

二、 评测指标

评测指标用于评测推荐系统的性能,有些可以定量计算,有些只能定性描述。

1. 用户满意度(在线指标)

用户满意度是评测推荐系统的重要指标,无法离线计算,只能通过用户调查或者在线实验获得

设计问卷时,将满意度分为不同层次,需要考虑到用户各方面的感受,用户才能针对问题给出准确的回答。

在线系统中,用户满意度通过统计用户行为得到。比如用户如果购买了推荐的商品,就表示他们在一定程度上满意,可以用购买率度量用户满意度。

更一般情况,我们可以用用户点击率、停留时间、转化率等指标度量用户的满意度。

2. 预测准确度(离线指标)

在计算该指标时需要有一个离线的数据集,该数据集包含用户的历史行为记录。然后,将该数据集通过时间分成训练集和测试集。最后,通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。
由于离线的推荐算法有不同的研究方向,准确度指标也不同,根据研究方向,可分为:预测评分准确度和TopN推荐
image2

关于评分预测和TopN推荐的讨论 评分预测一直是推荐系统研究的热点,绝大多数推荐系统的研究都是××基于用户评分数据××的评分预测。
电影推荐的目的是找到用户××最有可能感兴趣的电影××,而不是预测用户看了电影后会给电影什么样的评分。因此,TopN推荐更符合实际的应用需求。本书主要也是讨论TopN推荐。

3. 覆盖率

image3 image4

4. 多样性(覆盖用户绝大多数的兴趣点)

image5

5. 新颖性

新颖的推荐是指给用户推荐那些他们以前没有听说过的物品 在一个网站中实现新颖性的最简单办法是,把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。 评测新颖度的最简单方法是利用推荐结果的平均流行度,因为越不热门的物品越可能让用户觉得新颖。

6. 惊喜度

  • 惊喜度与新颖性的区别:假设一名用户喜欢周星驰的电影,然后我们给他推荐了一部叫做《临歧》的电影(该电影是 1983 年由刘德华、周星驰、梁朝伟合作演出的,很少有人知道这部有周星驰出演的电影),而该用户不知道这部电影,那么可以说这个推荐具有新颖性。但是,这个推荐并没有惊喜度,因为该用户一旦了解了这个电影的演员,就不会觉得特别奇怪。但如果我们给用户推荐张艺谋导演的《红高粱》,假设这名用户没有看过这部电影,那么他看完这部电影后可能会觉得很奇怪,因为这部电影和他的兴趣一点关系也没有,但如果用户看完电影后觉得这部电影很不错,那么就可以说这个推荐是让用户惊喜的。
  • 这个例子的原始版本来自于 Guy Shani 的论文:他的基本意思就是,如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。

目前并没有什么公认的惊喜度指标定义方式,这里只给出一种定性的度量方式。

7. 信任度

1). 度量推荐系统的信任度只能通过问卷调查的方式,询问用户是否信任推荐系统的推荐结果。 2). 提高信任度的主要方法

  • 增加推荐系统的透明度(Transparency),而增加推荐系统透明度的主要方法是提供推荐解释
  • 考虑用户的社交网络信息,利用用户的好友信息给用户做推荐,并且用好友进行推荐解释。

8. 实时性

  • 推荐系统需要实时地更新推荐列表来满足用户新的行为变化。
  • 推荐系统需要能够将新加入系统的物品推荐给用户。这主要考验了推荐系统处理物品冷启动的能力。

9. 健壮性

概述:任何一个能带来利益的算法系统都会被人攻击,这方面最典型的例子就是搜索引擎。搜索引擎的作弊和反作弊斗争异常激烈,这是因为如果能让自己的商品成为热门搜索词的第一个搜索果,会带来极大的商业利益。推荐系统目前也遇到了同样的作弊问题,而健壮性(即robust,鲁棒性)指标衡量了一个推荐系统抗击作弊的能力。 提高健壮性

  • 选择健壮性高的算法
  • 设计推荐系统时尽量使用代价比较高的用户行为。比如,如果有用户购买行为和用户浏览行为,那么主要应该使用用户购买行为,因为购买需要付费,所以攻击购买行为的代价远远大于攻击浏览行为。
  • 在使用数据前,进行攻击检测,从而对数据进行清理。

10. 商业目标

设计推荐系统时,需要考虑最终的商业目标。不同网站具有不同的商业目标,它与网站的盈利模式息息相关。

三、 评测维度

增加评测维度的目的,就是知道一个算法在什么情况下性能最好。

一般评测维度分3种:

  • 用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等;
  • 物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等;
  • 时间维度:包括季节,是工作日还是周末,白天还是晚上等; 如果推荐系统的评测报告中,包含了不同维度下的系统评测指标,就能帮我们全面了解系统性能。

如果能够在推荐系统评测报告中包含不同维度下的系统评测指标,就能帮我们全面地了解推荐系统性能,找到一个看上去比较弱的算法的优势,发现一个看上去比较强的算法的缺点。

四、References

[1] 项亮《推荐系统实战》


转载请注明:yezuolin的博客 » 点击阅读原文