推荐系统的评测指标

推荐系统的评测指标

  • 用户满意度

用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。但是,用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。

  • 预测准确度

预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标,从推荐系统诞生的那一天起,几乎99%与推荐相关的论文都在讨论这个指标。这主要是因为该指标可以通过离线实验计算,方便了很多学术界的研究人员研究推荐算法。

  • 评分预测
    在这里插入图片描述
    关于 RMSE 和 MAE 这两个指标的优缺点, Netflix 认为 RMSE 加大了对预测不准的用户物品评
    分的惩罚(平方项的惩罚),因而对系统的评测更加苛刻。研究表明,如果评分系统是基于整数
    建立的(即用户给的评分都是整数),那么对预测结果取整会降低 MAE 的误差。

  • TopN 推荐
    网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做 TopN 推荐。
    TopN 推荐的预测准确率一般通过准确率( precision ) / 召回率( recall )度量。
    在这里插入图片描述

  • 覆盖率
    覆盖率( coverage )描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,
    最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。假设系统的用户集合为 U ,
    推荐系统给每个用户推荐一个长度为 N 的物品列表 R(u) 。那么推荐系统的覆盖率可以通过下面的
    公式计算:
    在这里插入图片描述
    从上面的定义可以看到,覆盖率是一个内容提供商会关心的指标。

但是上面的定义过于粗略。覆盖率为 100% 的系统可以有无数的物品流行度分布。
在信息论和经济学中有两个著名的指标可以用来定义覆盖率。第一个是信息熵:
在这里插入图片描述
这里 p(i) 是物品 i 的流行度除以所有物品流行度之和。
第二个指标是基尼系数( Gini Index ):
在这里插入图片描述
这里, i j 是按照物品流行度 p() 从小到大排序的物品列表中第 j 个物品。

  • 多样性
    多样性描述了推荐列表中物品两两之间的不相似性。因此,多样性和相似性是对应的。假设
    s(i ,j )属于 [0,1]定义了物品 i 和 j 之间的相似度,那么用户 u 的推荐列表 R(u) 的多样性定义如下:
    在这里插入图片描述
    而推荐系统的整体多样性可以定义为所有用户推荐列表多样性的平均值:
    在这里插入图片描述
  • 新颖性
    评测新颖度的最简单方法是利用推荐结果的平均流行度,因为越不热门的物品越可能让用户觉得新颖。因此,如果推荐结果中物品的平均热门程度较低,那么推荐结果就可能有比较高的新颖性。但是,用推荐结果的平均流行度度量新颖性比较粗略,因为不同用户不知道的东西是不同的。因此,要准确地统计新颖性需要做用户调查。
  • 惊喜度
    如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。目前并没有什么公认的惊喜度指标定义方式,这里只给出一种定性的度量方式。那么,定义惊喜度需要首先定义推荐结果和用户历史上喜欢的物品的相似度,其次需要定义用户对推荐结果的满意度。
  • 信任度
    对于基于机器学习的自动推荐系统,同样存在信任度( trust )的问题,如果用户信任推荐系统,那就会增加用户和推荐系统的交互。
    提高推荐系统的信任度主要有两种方法。首先需要增加推荐系统的透明度( transparency ) ,而增加推荐系统透明度的主要办法是提供推荐解释。其次是考虑用户的社交网络信息,利用用户的好友信息给用户做推荐,并且用好友进行推荐解释。
  • 实时性
    在很多网站中,因为物品(新闻、微博等)具有很强的时效性,所以需要在物品还具有时效性时就将它们推荐给用户。
    推荐系统的实时性包括两个方面。首先,推荐系统需要实时地更新推荐列表来满足用户新的
    行为变化。实时性的第二个方面是推荐系统需要能够将新加入系统的物品推荐给用户。
  • 健壮性
    健壮性(即 robust, 鲁棒性)指标衡量了一个推荐系统抗击作弊的能力。算法健壮性的评测主要利用模拟攻击。
    在实际系统中,提高系统的健壮性,除了选择健壮性高的算法,还有以下方法。
     设计推荐系统时尽量使用代价比较高的用户行为。比如,如果有用户购买行为和用户浏
    览行为,那么主要应该使用用户购买行为,因为购买需要付费,所以攻击购买行为的代
    价远远大于攻击浏览行为。
     在使用数据前,进行攻击检测,从而对数据进行清理。

在这里插入图片描述

评测维度

介绍了很多评测指标,但是在评测系统中还需要考虑评测维度,比如一个推荐算法,虽然整体性能不好,但可能在某种情况下性能比较好,而增加评测维度的目的就是知道一个算法在什么情况下性能最好。这样可以为融合不同推荐算法取得最好的整体性能带来参考。
一般来说,评测维度分为如下 3 种。
 用户维度 主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
 物品维度 包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
 时间维度 包括季节,是工作日还是周末,是白天还是晚上等。

猜你喜欢

转载自blog.csdn.net/qq_39905917/article/details/86479129