核心要点

  • NDCG:带位置折扣的排序质量指标,越靠前的相关项贡献越大,并对理想排序归一化到 0–1。

  • Recall@K / Precision@K:前 K 个结果中命中相关项的召回率与精确率,召回层常看 Recall@K。

  • MAP(平均精度均值)与命中率(HitRate):衡量相关项整体排序与是否至少命中一个。

  • 覆盖率与多样性:评估推荐是否只推热门、是否过于同质,反映长尾与体验。

标准回答

为什么不用准确率

推荐/排序关心的是「相关物品有没有排在前面」,是一个 Top-K 排序问题,普通准确率不适用,要用排序敏感的指标。

核心指标

  • NDCG(归一化折损累计增益):对每个位置的相关度按 log 位置折扣求和(DCG),再除以理想排序的 DCG 归一化。它同时考虑相关度高低和位置,是排序质量的核心指标。
  • Recall@K / Precision@K:前 K 个里命中的相关项占全部相关项的比例(Recall@K)、占 K 的比例(Precision@K)。召回阶段重点看 Recall@K。
  • MAP:对每个用户求平均精度再跨用户平均,奖励把相关项排得更靠前。
  • HitRate / 命中率:前 K 个里是否至少命中一个相关项。

体验类指标

覆盖率(推荐触达物品占全库比例)、多样性(结果是否同质)、新颖性,避免只推爆款。线上还需结合 CTR、转化、停留时长等 A/B 实测。

常见误区

⚠️ 常见踩坑

只看离线 NDCG/Recall@K 就下线上结论——离线指标无法反映曝光偏差与用户实时反馈,最终必须用线上 A/B 的业务指标验证。

追问

追问 1NDCG 和 MAP 有什么区别?

MAP 基于二值相关(相关/不相关),衡量相关项的平均排序位置;NDCG 支持多级相关度(如评分 1–5),并用对数位置折扣,更细粒度地刻画「高相关项是否排在前面」。当相关度有等级时 NDCG 更合适,纯二值场景两者都可用。

追问 2召回和排序阶段分别该看什么指标?

召回阶段目标是「不漏」,看 Recall@K、候选集覆盖率,K 通常较大(几百到上千);排序阶段目标是「排得准」,看 NDCG、Precision@K、MAP 等位置敏感指标,K 较小(首屏几条)。两阶段指标侧重不同,需分别评估。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • Recall

    为 Claude Code 提供持久化记忆能力,完全离线运行,避免每次会话重复解释项目上下文。468 stars。