[置顶] 推荐系统评测指标

时间:2022-12-07 23:12:19

0前言
什么才是好的推荐系统?这是推荐系统评测的需要解决的首要问题。那我们怎么去判断一个系统的好坏呢?我们认为一个好的推荐系统不仅仅能够准确的预测用户的行为,而且还能够扩展用户的视野,帮助用户发现那些他们可能会感兴趣但却不那么容易发现的东西。
评价一个推荐系统的好坏一般有几个不同的指标,这些指标包括:准确度、覆盖度、新颖度、惊喜度、信任度等。这些指标中,有些是可以离线计算,有的只能在线计算,有些只能通过用户反馈才能得到。下面将会依次介绍这些指标。
1推荐系统实验方法
介绍推荐系统的指标前,先看下计算和获得这些指标的主要实验方法。一般有三种:离线实验、用户调查和在线实验。

1.1离线实验:
(1)通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集
(2)将数据集按照一个的规则分为训练集和测试集
(3)在训练集上训练用户兴趣模型,在测试集上进行预测
(4)通过事先定义的离线指标评测算法在测试集上的预测结果
1.2用户调查:
用户调查需要有一些真实的用户,让他们在需要测试的推荐系统上完成一些任务,在他们完成任务时,我们需要观察和记录用户的行为,并让他们回答一些问题。最后,分析他们的行为和答案了解测试系统的性能。
1.3在线实验:
在完成离线实验和必要的用户调查后,可以将推荐系统上线做AB测试,将它和旧的算法进行比较。

一般来说,一个新的推荐算法最终上线,需要完成上面三个实验:

  • 首先,需要通过离线实验证明它在很多离线指标上优于现在的算法
  • 然后,需要通过用户调查确定它的用户满意度不低于现在的算法
  • 最后,通过在线的AB测试确定它在我们关心的指标上优于现有的算法

2评测指标
现在,开始介绍各种推荐系统的评测指标。这些评测指标可用于评价推荐系统各方面的性能。

2.1用户满意度
用户作为推荐系统的重要参与者,其满意度是评价推荐系统的重要指标,一般来说,用户满意度主要通过用户调查和在线实验获得。
用户调查主要是通过调查问卷的形式。用户对推荐系统的满意度分为不同的层次。
在线实验可以通过分析用户行为的统计得到。比如用户购买了推荐的物品,推荐网站设计满意和不满意反馈按钮,还可以用点击率、用户停留时间和转化率等指标度量用户的满意度。
2.2预测准确度
预测准确度是度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是一个重要的推荐系统离线评测指标。预测准确度可以分为评分预测准确度和TopN推荐准确度。
评分预测:很多提供推荐服务的网站都有一个用户给物品打分的功能,如IMDB电影网站就会有用户给电影打分的功能。那么,如果知道了用户对物品的历史评分,就可以从找那个学习得到用户的兴趣模型,并预测该用户看到一个没有评分过的物品时会给该物品评多少分。评分预测准确度一般通过均方根无差(RMSE)和平均绝对误差(MAE)计算。
RMSE定义如下:
[置顶]        推荐系统评测指标
MAE定义如下:
[置顶]        推荐系统评测指标
TopN推荐:网站在提付推荐服务时,一般是给用户返回一个个性化的推荐列表,这种推荐叫做TopN推荐。TopN推荐的准确度一般通过准确率(precision)和召回率(recall)来度量。
准确率定义如下:
[置顶]        推荐系统评测指标
召回率定义如下:
[置顶]        推荐系统评测指标
2.3覆盖率
覆盖率描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。这里对覆盖率不做过多的介绍,有兴趣的可以自行查资料了解。
2.4多样性
用户的兴趣是广泛的。比如说一个用户喜欢看《海贼王》等一类的动漫,也可能喜欢看科幻片。那么,为了满足用户广泛的兴趣,推荐列表需要能够覆盖到用户不同的兴趣领域,即推荐结果需要具有多样性。
多样性描述的是推荐列表中物品两两之间的不相似性。
2.5新颖性
新颖的推荐是指给用户推荐那些他们以前没有听过的物品。实现新颖性最简单的方法是把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。但是过滤掉这些不能完全实现新颖性,有些无可能用户在其他的地方有过行为。而评测新颖度的最简单的方法是利用推荐结果的平均流行度,因为越不热门的物品越可能让用户觉得新颖。因此,如果推荐结果中物品的平均流行度较低,那么推荐结果就有可能有比较高的新颖性。
2.6惊喜度
惊喜度是最近几年推荐系统领域热门的话题。目前对惊喜度没有公认的定义,一般认为如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听过这个推荐结果。
2.7其他
还有信任度、实时性、健壮性等指标,一般常用的就是上面介绍的几种指标。