【推荐系统】常用评价指标NDCG、HR、Recall、MRR解析

【推荐系统】常用评价指标NDCG、HR、Recall、MRR解析

1. 准备工作

本文将探讨 Accuracy、Recall、Precision、HR、F1 score、MAP、MRR、NDCG 等指标。

  • 混淆矩阵需要用到。
    在这里插入图片描述

    • 简单记忆:
      • 阳性(Positive)代表了预测为真,阴性(Negative)代表了预测为假;
      • True代表真实值与预测值匹配,False代表真实值与预测值不匹配。
  • 这里以@5为例,计算这些指标。

  • 给出预测的、真实的用户将要交互的物品,下面进行计算。

    • 真实的:[A, B, C, D, E]
    • 预测的:[A, C, B, E, F]

2. 计算这些指标 (@5)

——————————————————————————————————
这里假设总样本为6个(A, B, C, D, E, F),则

  • TP = 4(ABCE)
  • TN = 0
  • FP = 1(F)
  • FN = 1(D)

2.1 Accuracy(准确率)

  • 含义
    • 预测正确的样本在所有样本中的比例。
    • 在样本不平衡的情况下,不能作为很好的指标来衡量结果。
  • 公式
    在这里插入图片描述
  • 计算:
    • ACC = (4 + 0) / 6 = 0.67

2.2 Recall(召回率、查全率)

  • 含义:
    • 预测正确的正样本在所有正样本中所占的比例,即表示有多少比例的用户-物品交互记录包含在最终的预测列表中。
    • 关注于用户感兴趣的物品(TP + FN 其实就是用户感兴趣的物品)
  • 公式
    在这里插入图片描述
  • 计算
    • Recall = 4 / (4 + 1) = 0.8

2.3 Precision(精确率、查准率)

  • 含义
    • 在全部预测为正的结果中,被预测正确的正样本所占的比例。
    • 关注于要推荐的物品(TP + FP 其实就是要推荐的物品)
  • 公式
    在这里插入图片描述
  • 计算
    • Precision = 4 / (4 + 1) = 0.8

2.4 F1 score(精确率与召回率的调和均值)

召回率和精确率是一对矛盾的指标,当召回率高的时候,精确率一般很低;精确率高时,召回率一般很低。

  • 因此便有了:精确率与召回率的调和均值 F1 score。

  • 公式
    在这里插入图片描述

  • 计算

    • F1 = 2 (0.8 * 0.8) / (0.8 + 0.8) = 0.8

2.5 HR (命中率(Hits Ratio))

  • 含义
    • 预测结果列表中预测正确的样本占所有样本的比例,即用户想要的项目有没有推荐到,强调预测的“准确性”。
    • 其实是针对于用户下一阶段只交互一个物品
  • 公式
    在这里插入图片描述
    • N,表示用户总数量。
    • hits(i),表示第 i 个用户要访问的物品是否在推荐列表中,是则为1,否则为0。
  • 计算
    • HR = 4 / 5 = 0.8 (要访问的有5个,成功预测了4个,因此为0.8)
    • 针对 A 的话,HR = 1
    • 针对 D 的话,HR = 0

2.6 MRR (平均倒数排名(Mean Reciprocal Rank))

  • 含义
    • 平均结果中的排序倒数,表示待推荐的项目是否放在了用户更显眼的位置,强调“顺序性”。
    • 也是针对于用户下一时刻只交互一个物品。(这里以)
  • 公式
    在这里插入图片描述
    • N,表示用户的总数。
    • pi,表示第 i 个用户的真实访问值在推荐列表的位置,若推荐列表不存在该值,则pi->∞。
  • 计算
    • 针对 A 的话,MRR = 1 / 1 = 1.0
    • 针对 B 的话,MRR = 1 / 3 = 0.33

2.7 NDCG(归一化折损累计增益(Normalized Discounted Cumulative Gain))

推荐系统通常为某用户返回一个 item 列表,假设列表长度为 K,这时可以用 NDCG@K 评价该排序列表与用户真实交互列表的差距。

2.7.1 CG (累计增益 Cumulative Gain)

考虑一个长度为K的列表, r e l i rel_i reli 代表 i 位置物品的相关度。(在推荐系统里就是0、1)
在这里插入图片描述

  • 这个评价指标有一个问题,推荐的物品聚集在列表的尾部和头部得分一样,这不合适。
2.7.2 DCG(折损累计增益 Discounted cumulative gain)

DCG提出:如果有效结果在列表中排的较低的话,应该对列表的评分惩罚,惩罚和有效结果的排位有关。所以就加了衰减因子:
在这里插入图片描述
在这里插入图片描述

  • 后一个公式广泛在工业界用。当得分是 0 / 1,即 r e l i ∈ { 0 , 1 } r e l_{i} \in\{0,1\} reli{0,1} 时,二者是等价的。
2.7.3 NDCG (归一化折损累计增益 Normalized Discounted Cumulative Gain)

DCG没有考虑到推荐列表和每个检索中真正有效结果(test items list)的个数,所以最后引入NDCG,就是标准化后的DCG。
在这里插入图片描述

  • 其中 IDCG 是指 ideal DCG,即完美结果下的DCG。

在这里插入图片描述

2.7.4 当针对用户接下来要访问的单个物品时,NDCG定义如下
  • 含义
    • 表示归一化加入位置信息度量计算的前 p 个位置累计得到的效益。
  • 公式
    在这里插入图片描述
    • N,表示用户的总数。
    • pi,表示第 i 个用户的真实访问值在推荐列表的位置,若推荐列表不存在该值,则pi->∞。

2.8 MAP(平均精度均值(Mean Average Precision))

  • Average Precision(AP):平均精确率,在召回率从0到1逐步提高的同时也要保证准确率比较高,AP值尽可能的大。
  • 含义
    • 用多个来衡量性能,多个类别AP的平均值。
  • 公式
    在这里插入图片描述

参考

【1】https://blog.csdn.net/qq_51392112/article/details/129169738
【2】https://blog.csdn.net/qq_41750911/article/details/124082415

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋冬无暖阳°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值