Recall@K 衡量前 K 个召回结果覆盖了多少用户真正会交互的物品,是召回阶段的核心指标。但它的计算方式高度依赖「相关物品」的定义,口径不同结果差异巨大。
最直接的定义是用户实际点击或购买的物品集合。但用户未点击不等于不相关,曝光未点击可能只是位置不好或当时没兴趣,把它当负样本会低估召回质量。
更严谨的做法是构造留出集:从用户历史交互中留出一部分作为未来行为,召回模型只能看历史,评估时看留出物品是否被召回。这模拟了真实的「预测未来」场景。
K 的取值要与下游对齐:如果精排只处理前 500 个候选,那 Recall@500 才有业务意义。K 设得过大,指标好看但下游用不上,等于自欺欺人。
还要注意评估集的用户筛选:活跃用户行为多,召回容易;新用户几乎无历史,召回困难。应分用户群报告,并单独关注冷启动用户的召回表现。