推荐系统评价指标介绍--CG, DCG, NDCG

基础概念

 首先明确CG这一系列指标既可用于打分场景,又可用于点击场景,用于判断模型给出的推荐列表 y ^ \hat{y} y^和用户打分(点击列表) r e l rel rel之间的相似性。
 基于CG的评价指标的计算 基础流程为:

  1. 依据前端的召回模型对生成TOP-K推荐列表 y ^ \hat{y} y^
  2. 按照推荐列表的顺序提取相应的用户的打分列表 r e l rel rel,进行排序;
  3. 计算这一顺序下的打分和;
    这里需要明确,其他推文里常提到的所谓 “相关性”,简单认为是预先提供的用户打分Ground Truth即可。

指标介绍

  • CG@K(Cummulative Gain):推荐列表中前K个物品用户给出的打分和(如果是点击场景而非打分场景的话就是1,官方名称是相关性rel,实际没看出来和相关性的联系在哪):
    C G = ∑ i = 1 K r e l i CG=\sum_{i=1}^K rel_i CG=i=1Kreli
    其中 r e l rel rel为按预测得到的推荐顺序得到的用户打分序列;
  • DCG@K(Discounted Cumulative Gain):考虑了位置因素后对CG进行的修正,使得越靠前推荐的物品计算打分和时的权重更大:
    D C G = ∑ i = 1 K r e l 1 l o g 2 ( i + 1 ) DCG=\sum^{K}_{i=1} \frac{rel_1}{log_2(i+1)} DCG=i=1Klog2(i+1)rel1
  • IDCG@KIdeal Discounted Cumulative Gain): 最理想的推荐列表的DCG得分,也就是将rel从大到小排布取前K个的DCG:
    I D C G = ∑ i = 1 K r e l 1 ′ l o g 2 ( i + 1 ) IDCG=\sum^{K}_{i=1} \frac{rel'_1}{log_2(i+1)} IDCG=i=1Klog2(i+1)rel1
    其中 r e l ′ rel' rel表示降序排列用户的打分表;
  • NDCG@K(Normalized Discounted Cumulative Gain): 归一化的折损累计增益,避免用户本身打分的倾向性(打高分或打低分)对评价指标造成影响;
    N D C G = D C G I D C G NDCG=\frac{DCG}{IDCG} NDCG=IDCGDCG

举例

  假定对前端召回模型输出的物品打分预测为: y ^ = [ 70 , 4 , 0.3 , 0.2 , 0.1 ] \hat{y}=[70, 4, 0.3, 0.2, 0.1] y^=[70,4,0.3,0.2,0.1],用户对应物品的打分列表为KaTeX parse error: Undefined control sequence: \rel at position 1: \̲r̲e̲l̲=[5, 1, 0, 0, 1…,那么有:
C G @ 2 = 5 + 1 = 6 D C G @ 2 = 5 + 1 l o g 2 3 = 5.6309 I D C G @ 2 = 10 + 5 l o g 2 3 = 13.1546 N D C G @ 2 = 13.1546 / 5.6309 = 2.3361 CG@2=5+1=6\\ DCG@2=5+\frac{1}{log_2 3}=5.6309\\ IDCG@2=10+\frac{5}{log_23}=13.1546\\ NDCG@2=13.1546/5.6309=2.3361 CG@2=5+1=6DCG@2=5+log231=5.6309IDCG@2=10+log235=13.1546NDCG@2=13.1546/5.6309=2.3361

参考文献

谈谈NDCG的计算
sklearn.metrics.dcg_score

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值