「评估」AUC离线好,上线差?试试GAUC
发布于 2021-09-07 11:22 ,所属分类:2021面试经验技巧分享
在上一篇《秋招」大厂校招常问的50道面试题》)中梳理了大厂在秋招机器学习岗位面试时常问的面试题。本文将回到推荐主线,介绍做推荐经常碰到的离线效果评估很好,但上线后效果不升反降
的问题。并详细介绍AUC和GAUC评估指标。
预告:
下一期将介绍在构造CTR类特征时的平滑技术,感兴趣的同学下哦!
在优化推荐模型时,经常会碰到一个问题:经过一顿猛操作(如加特征、改模型、优化样本等),模型的离线AUC提升明显,但上线后指标并没有提升,甚至有所下降。也就是说:离线AUC提升并未带来线上效果的提升
。
在排除一些低级Bug之后,通常造成这个问题可能有如下原因:
样本的变化
离线评估基于历史出现样本,而线上预测存在全新样本。因此,离线AUC提升可能只是在历史出现样本上有提升,但对于新样本并没有效果。
用户线上所产生的行为依赖于老模型,即历史数据是由老模型产生,数据本身也存在偏差。
部分特征是在离线计算,然后更新至线上的,这可能导致线上和线下特征不一致。例如与时间相关特征(如最近N天行为),可能存在特征穿越;部分特征上线时可能存在缺失等。
评估不一致
离线采用AUC对模型评估时,考虑的是全局排序,既会考虑单用户的不同item,也会考虑不同用户的不同item;但线上推荐系统每次只针对单用户的不同item进行打分排序。
线上效果只跟同单用户的打分排序有关,与用户之间的排序无关。而离线是将不同用户的样本混合训练,一起排序评估。因此,线上和离线评估目标存在不一致。这也就造成了离线AUC提升,但线上效果并没提升的现象。
本文主要针对线上和离线评估不一致
的问题,介绍AUC做离线平的问题以及如何选择更好的离线评估指标。下面我们先一起来回顾下AUC的基本概念。
一、AUC
1、什么是AUC
Wikipedia
上是这样说的:
The Area Under the roc Curve (AUC) is equal to the probability that a classifier will rank a randomly chosen positive instance higher than a randomly chosen negative one.
可以理解为:AUC表示模型预测的正样本score高于负样本score的概率:
相关资源