推荐系统常用指标NDCG含义及公式

张开发
2026/4/20 4:58:43 15 分钟阅读

分享文章

推荐系统常用指标NDCG含义及公式
NDCGNormalized Discounted Cumulative Gain归一化折损累计收益是信息检索和推荐系统中最核心的评价指标之一。在评估基于大语言模型的重排Re-ranking或召回系统时单纯依靠命中率Hit Rate往往不够因为我们需要衡量排在前面的结果是否是最相关的。NDCG 的核心思想建立在两个假设之上高相关性的结果比一般相关性的结果更有价值。排名越靠前的结果被用户看到和点击的概率越大因此其价值权重应该更高。为了彻底搞懂 NDCG我们需要把它拆解为四个步骤CG→\rightarrow→DCG→\rightarrow→IDCG→\rightarrow→NDCG。1. CG (Cumulative Gain) - 累计收益最基础的一步是把推荐列表中前ppp个结果的相关性得分直接相加。CGp∑i1preliCG_p \sum_{i1}^{p} rel_iCGp​i1∑p​reli​ppp: 评估的截断位置例如 NDCG10 中的 10。relirel_ireli​: 列表中第iii个位置物品的真实相关性得分通常是人工标注或从用户反馈中定义的如 0不相关1弱相关2强相关。缺陷CG 没有考虑位置因素。无论最相关的物品是排在第 1 位还是第 10 位算出来的 CG 都是一样的。2. DCG (Discounted Cumulative Gain) - 折损累计收益为了解决位置权重的问题DCG 引入了“折损Discount”机制。排名越靠后折损越严重通常通过对数函数来实现。DCGp∑i1prelilog⁡2(i1)DCG_p \sum_{i1}^{p} \frac{rel_i}{\log_2(i1)}DCGp​i1∑p​log2​(i1)reli​​在一些工业界场景包括像搜索或重排任务中更强调突出强相关物品时通常会采用另一种指数形式的变形DCGp∑i1p2reli−1log⁡2(i1)DCG_p \sum_{i1}^{p} \frac{2^{rel_i} - 1}{\log_2(i1)}DCGp​i1∑p​log2​(i1)2reli​−1​这种变形能够成倍放大高相关性物品的权重从而严惩将极其相关的物品排在后面的策略。3. IDCG (Ideal DCG) - 理想折损累计收益缺陷不同的查询Query或用户交互历史其候选集中的相关物品数量是不同的。比如 Query A 有 10 个相关商品Query B 只有 2 个相关商品。直接对比这两者的 DCG 是不公平的Query A 的 DCG 天生就会更高。为了实现跨 Query 的横向对比我们需要找到这个 Query 下完美的排序状态。IDCG 就是将候选集中的物品按照相关性得分**从大到小降序**重新排列后计算出的完美 DCG 值。IDCGp∑i1∣RELp∣reliideallog⁡2(i1)IDCG_p \sum_{i1}^{|REL_p|} \frac{rel_i^{ideal}}{\log_2(i1)}IDCGp​i1∑∣RELp​∣​log2​(i1)reliideal​​∣RELp∣|REL_p|∣RELp​∣: 表示在理想状态下排在前ppp个位置的最优相关性得分序列。4. NDCG (Normalized DCG) - 归一化折损累计收益最后一步将实际的 DCG 处于理想的 IDCG将指标压缩到[0,1][0, 1][0,1]的区间内。NDCGpDCGpIDCGpNDCG_p \frac{DCG_p}{IDCG_p}NDCGp​IDCGp​DCGp​​NDCG 1意味着推荐模型的排序与完美排序完全一致。NDCG 越接近 0排序效果越差高相关性的物品都被排到了后面。

更多文章