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

慈云数据 2024-03-19 技术支持 168 0

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

文章目录

  • 【推荐系统】常用评价指标NDCG、HR、Recall、MRR解析
    • 1. 准备工作
    • 2. 计算这些指标 (@5)
      • 2.1 Accuracy(准确率)
      • 2.2 Recall(召回率、查全率)
      • 2.3 Precision(精确率、查准率)
      • 2.4 F1 score(精确率与召回率的调和均值)
      • 2.5 HR (命中率(Hits Ratio))
      • 2.6 MRR (平均倒数排名(Mean Reciprocal Rank))
      • 2.7 NDCG(归一化折损累计增益(Normalized Discounted Cumulative Gain))
        • 2.7.1 CG (累计增益 Cumulative Gain)
        • 2.7.2 DCG(折损累计增益 Discounted cumulative gain)
        • 2.7.3 NDCG (归一化折损累计增益 Normalized Discounted Cumulative Gain)
        • 2.7.4 当针对用户接下来要访问的单个物品时,NDCG定义如下
        • 2.8 MAP(平均精度均值(Mean Average Precision))
        • 参考

          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

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon