推荐算法模型评估工程师面试宝典 - 第3节
推荐算法评估指标体系:核心指标(AUC、GAUC、NDCG、Recall等)定义与适用场景
评估指标是推荐模型上线前的“体检报告”,面试官常通过指标选择与理解考察候选人的工程感知与业务对齐能力。本章围绕四个核心指标(AUC、GAUC、NDCG、Recall)拆解定义、适用场景及回答范式。
| 指标 | 定义 | 适用场景 | 注意事项 |
|---|---|---|---|
| AUC | ROC曲线下面积,评估正负样本排序能力 | 二分类排序模型(CTR预估、转化率) | 对正负样本比例不敏感,但无法反映具体分数差异 |
| GAUC | 按用户分组计算的AUC加权平均 | 推荐系统排序场景,消除用户偏好差异 | 权重可选曝光或点击,需注意分组过小方差大 |
| NDCG | 归一化折损累计增益,考虑位置与相关性 | 排序列表评估(搜索、召回、TopN推荐) | 需要多级相关性标注,对排序头部敏感 |
| Recall | 召回中正样本被召回的比率 | 召回链路评估(粗排、向量召回) | 需与精确率/多样性联合观察,避免退化为暴力召回 |
问答1:请解释 AUC 和 GAUC 的区别,并说明你在推荐项目中如何选择?
面试官考察点: 对指标本质的理解、业务场景拆解能力、是否具备用户视角。
回答框架: 定义简述 → 核心区别(全局 vs 分组) → 场景适用性(CVR排序 vs 推荐列表排序) → 实际选择逻辑。
简短示例回答: AUC衡量模型全局排序能力,适合CVR或广告排序。GAUC按用户计算AUC再加权,消除用户活跃度差异,更适合推荐系统,因为推荐排序需要对齐每个用户的偏好。
可能追问: GAUC的权重如何选择?曝光权重和点击权重有何区别?分组颗粒度多少合适?
问答2:NDCG 和 Recall 在召回评估中分别关注什么?如何联合使用?
面试官考察点: 召回与排序指标的区别、多阶段评估思维、指标互补性。
回答框架: 分别定义 → 召回评估的要点(是否覆盖正样本) → 排序评估的要点(顺序质量) → 联合使用方法。
简短示例回答: Recall关注召回了多少正样本,NDCG关注召回列表的排序质量。在双塔召回实验中,我们用Recall@K衡量覆盖度,用NDCG@K衡量头部相关性,联合评估避免只扩召回不排序的陷阱。
可能追问: K值如何选择?(通常取20/50/100)NDCG的折损系数为什么常用log2?如何应对相关性标注缺失?
问答3:如果离线AUC提升了1%,但线上CTR下降了,你会如何排查?
面试官考察点: 线上线下指标一致性分析、工程采样偏差、模型过拟合识别。
回答框架: 先排查离线评估方法论问题 → 再分析在线环境差异(特征一致性/数据分布/曝光偏差) → 最后考虑模型自身问题(如过度拟合历史。
简短示例回答: 首先检查离线评估是否使用相同的特征和样本分布;其次分析线上是否有数据延迟或特征缺失;最后看AUC提升是否来自长尾样本,导致线上高活用户排序变差。
可能追问: 如何验证AUC提升是否为虚假提升?你会用什么指标辅助诊断?(如KS、Calibration)
项目案例:某短视频平台推荐模型评估体系搭建
| 项目名称 | 短视频推荐模型评估体系搭建(离线+在线) |
| 业务背景 | 日活1.2亿的短视频App,原有评估仅用AUC,线上CTR波动大,需要建立多指标体系。 |
| 规模指标 | 离线样本10亿+,在线AB实验100+实验组,评估周期2周。 |
| 技术栈 | Spark (离线特征处理)、TensorFlow (模型训练)、A/B平台 (自研)、ClickHouse (在线指标计算)。 |
| 核心难点 | ① 10亿级分组GAUC计算性能优化;② 离线NDCG标注缺失采用用户停留时长做代理;③ 线上线下指标不一致时的自动归因树设计。 |
| 面试高频追问 | ① 你如何保证GAUC的分组权重合理?② 代理标注如何验证有效性?③ 归因树的主要维度有哪些(特征、流量、时间)? |
| 可迁移回答话术 | “在我负责的项目中,我们采用GAUC替代全局AUC,并引入NDCG@K召回评估;遇到线上线下不一致时,先锁定是特征穿越还是采样偏误,再通过分层分析定位根因。” 注意: 话术中要体现“从问题->方案->结果”的闭环。 |