为什么搜索与推荐场景用AUC评价模型好坏?

星标/置顶小屋,带你解锁

最萌最前沿的NLP、搜索与推荐技术

文 | 吴海波


在互联网的排序业务中,比如搜索、推荐、广告等,AUC(Area under the Curve of ROC)是一个非常常见的评估指标。网上关于AUC的资料很多,知乎上也有不少精彩的讨论,本文尝试基于自身对AUC的理解做个综述,水平有限,欢迎指出错误。

俗话说,提出正确的问题就成功了一半,本文先提出以下几个问题,希望大家读完能够加深对下列问题的理解。

  1. AUC有几种理解?

  2. AUC的什么特性让它如此受欢迎?

  3. AUC的值和什么有关,多高是高?

  4. AUC提高了是否代表线上指标会提高?

  5. 有没有更好的指标替代AUC?

几种AUC的理解

一般有两大类解释,一种是基于ROC线下面积,需要理解混淆矩阵,包括精确率、召回率、F1 值、ROC等指标的含义。另外一种是基于概率的解释,模型的排序能力。

在参考[1]和[4]中,关于AUC定义本身的讨论非常详细,上述两大类都有不同形式的解释。还包括如何用AUC做目标去优化,AUC的各种计算方法,本文不再赘述,有兴趣的同学自己去看下。

AUC的排序特性

对比accuracy、precision等指标,AUC指标本身和模型预测score绝对值无关,只关注排序效果,因此特别适合排序业务。

为何与模型预测score值无关为何是很好的特性呢?假设你采用precision、F1等指标,而模型预测的score是个概率值,就必须选择一个阈值来决定哪些样本预测是1哪些是0,不同的阈值选择,precision的值会不同,而AUC可以直接使用score本身,参考的是相对顺序,更加好用。

相对于ROC线下面积的解释,个人更喜欢排序能力的解释。参考[2]的解释通俗易懂:

例如0.7的AUC,其含义可以大概理解为:给定一个正样本和一个负样本,在70%的情况下,模型对正样本的打分高于对负样本的打分。可以看出在这个解释下,我们关心的只有正负样本之间的分数高低,而具体的分值则无关紧要。

AUC对均匀正负样本采样不敏感

正由于AUC对分值本身不敏感,故常见的正负样本采样,并不会导致auc的变化。比如在点击率预估中,处于计算资源的考虑,有时候会对负样本做负采样,但由于采样完后并不影响正负样本的顺序分布。

即假设采样是随机的,采样完成后,给定一条正样本,模型预测为score1,由于采样随机,则大于score1的负样本和小于score1的负样本的比例不会发生变化。

但如果采样不是均匀的,比如采用word2vec的negative sample,其负样本更偏向于从热门样本中采样,则会发现auc值发生剧烈变化。

AUC值本身有何意义

我们在实际业务中,常常会发现点击率模型的auc要低于购买转化率模型的auc。正如前文所提,AUC代表模型预估样本之间的排序关系,即正负样本之间预测的gap越大,auc越大。

通常,点击行为的成本要低于购买行为,从业务上理解,点击率模型中正负样本的差别要小于购买力模型,即购买转化模型的正样本通常更容易被预测准。

细心的童鞋会想,既然AUC的值和业务数据本身有关,那么它的值为多少的时候算好呢?

AUC值本身的理论上限

假设我们拥有一个无比强大的模型,可以准确预测每一条样本的概率,那么该模型的AUC是否为1呢?现实常常很残酷,样本数据中本身就会存在大量的歧义样本,即特征集合完全一致,但label却不同。因此就算拥有如此强大的模型,也不能让AUC为1.

因此,当我们拿到样本数据时,第一步应该看看有多少样本是特征重复,但label不同,这部分的比率越大,代表其“必须犯的错误”越多。学术上称它们为Bayes Error Rate,也可以从不可优化的角度去理解。

我们花了大量精力做的特征工程,很大程度上在缓解这个问题。当增加一个特征时,观察下时候减少样本中的BER,可作为特征构建的一个参考指标。

AUC与线上业务指标的宏观关系

AUC毕竟是线下离线评估指标,与线上真实业务指标有差别。差别越小则AUC的参考性越高。比如上文提到的点击率模型和购买转化率模型,虽然购买转化率模型的AUC会高于点击率模型,但往往都是点击率模型更容易做,线上效果更好。

购买决策比点击决策过程长、成本重,且用户购买决策受很多场外因素影响,比如预算不够、在别的平台找到更便宜的了、知乎上看了评测觉得不好等等原因,这部分信息无法收集到,导致最终样本包含的信息缺少较大,模型的离线AUC与线上业务指标差异变大。

总结起来,样本数据包含的信息越接近线上,则离线指标与线上指标gap越小。而决策链路越长,信息丢失就越多,则更难做到线下线上一致。

AUC提升和业务指标不一致

好在实际的工作中,常常是模型迭代的auc比较,即新模型比老模型auc高,代表新模型对正负样本的排序能力比老模型好。理论上,这个时候上线abtest,应该能看到ctr之类的线上指标增长。

实际上经常会发生不一致,首先,我们得排除一些低级错误:

1. 排除bug,线上线下模型predict的结果要符合预期。

2. 谨防样本穿越。比如样本中有时间序类的特征,但train、test的数据切分没有考虑时间因子,则容易造成穿越。

更多细节请看参考[5]和[3]

AUC计算逻辑不足与改进

AUC计算是基于模型对全集样本的的排序能力,而真实线上场景,往往只考虑一个用户一个session下的排序关系。这里的gap往往导致一些问题。正如参考[3]中的举例的几个case,比较典型。主要包括两点:

  1. 线上会出现新样本,在线下没有见过,造成AUC不足。这部分更多是采用online learning的方式去缓解,AUC本身可改进的不多。

  2. 线上的排序发生在一个用户的session下,而线下计算全集AUC,即把user1点击的正样本排序高于user2未点击的负样本是没有实际意义的,但线下auc计算的时候考虑了它。

阿里在论文:Deep Interest Network for Click-Through Rate Prediction中提出了group auc来处理上述问题。公式如下:

即以user为group,在对user的impression做加权平均。私以为,只是对用户做group还不够,应该是基于session去做group。

最后,AUC这个问题是在模型优化到一定程度才需要考虑的。大部分情况下,如果模型的auc有大幅提升,线上效果一般是一致的。如果不一致,请先从产品形态去思考有没有坑。


文末福利

后台回复关键词入群
即刻加入NLP、算法岗求职等讨论群
这里有顶会审稿人、大厂研究员、知乎大V
等你来撩哦~

关注星标

带你解锁最前沿的NLP、搜索与推荐技术

参考文献

[1]如何理解机器学习和统计中的AUC?
https://www.zhihu.com/question/39840928 

[2] 多高的AUC才算高:
https://zhuanlan.zhihu.com/p/24217322 

[3] 线下AUC提升为什么不能带来线上效果提升?--测试和评估的一些真相: 
https://zhuanlan.zhihu.com/p/35459467 

[4] 精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么? 
https://www.zhihu.com/question/30643044 

[5] 如何解决离线auc和线上点击率不一致的问题? 
https://www.zhihu.com/question/305823078/answer/552640544

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis系列教程(九):Redis的内存回收原理,及内存过期淘汰策略详解

Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Redis的过期策略和内存淘汰策略不是一件事,实际研发中不要弄混淆了,下面会…

字符串匹配算法(Trie树)

文章目录1. Trie树概念2. Trie树操作2.1 存储2.2 查找2.3 插入2.4 删除2.5 打印3. 完整代码4. Trie树与散列表、红黑树的比较4.1 思考题参考文章5. 练习题1. Trie树概念 Trie树,也叫字典树,它是一个树形结构。是一种专门处理字符串匹配的数据结构&#…

论文浅尝 | 基于知识图谱嵌入的 Bootstrapping 实体对齐方法

来源: IJCAI 2018链接: https://www.ijcai.org/proceedings/2018/0611.pdf本文关注基于知识图谱嵌入(后文全部简称为知识嵌入)的实体对齐工作,针对知识嵌入训练数据有限这一情况,作者提出一种 bootstrapping 策略,迭代标注出可能的实体对齐&a…

大规模领域词汇库项目DomainWordsDict:涵盖68个领域、共计916万的词汇库资源开放

项目概述 DomainWordsDict, Chinese words dict that contains more than 68 domains, which can be used as text classification、knowledge enhance task。涵盖68个领域、共计916万词的专业词典知识库,可用于文本分类、知识增强、领域词汇库扩充等自然语言处理应…

递归」与「动态规划

原文地址:https://juejin.im/post/5c2308abf265da615304ce41#heading-8 在学习「数据结构和算法」的过程中,因为人习惯了平铺直叙的思维方式,所以「递归」与「动态规划」这种带循环概念(绕来绕去)的往往是相对比较难以…

当知识图谱遇上推荐系统之DKN模型(论文笔记一)

Deep Knowledge-Aware Network for News Recommendation 类别:依次学习 首先使用知识图谱特征学习得到实体向量和关系向量,然后将这些低维向量引入推荐系统,学习得到用户向量和物品向量。 [论文下载链接]https://arxiv.org/abs/1801.08284…

POJ 1936 字符匹配(水题)

题目链接: http://poj.org/problem?id1936 题目大意: 给定字符a,b,问b中去掉一些字符后能不能得到a 解题思路: 暴力从前往后扫描一遍即可。 AC代码: /*** description: poj1936水题* author: michael…

领域应用 | 从数据到智慧,知识图谱如何推动金融更智能?

本文转载在公众号:恒生技术之眼。在《人工智能知识图谱:如何规整海量金融大数据?》一文中,笔者曾提到,面向人工智能的大数据治理,势必能有效支撑智能金融从感知智能向认知智能变革。这是因为目前在资本市场…

2021届秋招算法岗真的要灰飞烟灭了吗?

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 不拖更的夕小瑶2014年末入坑AI,一路见证了AI行业的快速起飞、爆炸、焦虑和冷却。小夕前几天在知乎上看到一个问题《如何看待2021年秋招算法岗灰飞烟灭》被顶上了热榜。有点感叹,怎…

万字长文:近年来学界、业界视角下的“事理图谱”发展总结与思考

一、引言 大部分技术都会经历从提出,到验证,再到修正,再到落地的这样一个过程。事理图谱这个概念从国内学者自2017年提出到现在,已经经历了近4年的时间,那么在这四年的时间里,事理图谱目前处于一个什么…

Redis系列教程(二):详解Redis的存储类型、集群架构、以及应用场景

高并发架构系列 高并发架构系列:数据库主从同步的3种一致性方案实现,及优劣比较 高并发架构系列:Spring Cloud的核心成员、以及架构实现详细介绍 高并发架构系列:服务注册与发现的实现原理、及实现优劣势比较 高并发架构系列&a…

当知识图谱遇上推荐系统之PippleNet模型(论文笔记二)

RippleNet | Propagating User Preferences on the Knowledge 类别:联合学习 将知识图谱特征学习和推荐算法的目标函数结合,使用端到端(end-to-end)的方法进行联合学习。 [论文下载链接]https://arxiv.org/abs/1803.03467 1、…

POJ 3690 找星座(2D匹配)(未解答)

文章目录1. 题目信息1.1 题目链接1.2 题目大意1.3 解题思路2. 代码2.1 Time Limit Exceeded 代码2.2 Time Limit Exceeded 代码2.3 Time Limit Exceeded 代码1. 题目信息 1.1 题目链接 http://poj.org/problem?id3690 1.2 题目大意 给定大的矩阵(天空的样子&am…

综述 | 事件抽取及推理 (上)

本文转载自公众号:知识工场。 事件概要事件是一种重要的知识,近年来,越来越多的工作关注于从开放域或领域文本中抽取结构化事件知识。同时,除了本身就很困难的…

下载 | 李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT

《1 天搞懂深度学习》,300 多页的 ppt,台湾李宏毅教授写的,非常棒。不夸张地说,是我看过最系统,也最通俗易懂的,关于深度学习的文章。这份 300 页的 PPT,被搬运到了 SlideShare 上,下…

史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等

最全面试题答案系列 史上最强多线程面试44题和答案:线程锁线程池线程同步等 最全MySQL面试60题和答案 史上最全memcached面试26题和答案 史上最全Spring面试71题与答案 今天主要分享redis最全答案系列 Redis主要有哪些功能? 1.哨兵(Sen…

DTW动态时间规整算法

原文地址:https://blog.csdn.net/qcyfred/article/details/53824507 https://zhuanlan.zhihu.com/p/43247215 动态时间规整(DTW)算法简介相忘天涯,深藏于心19 人赞同了该文章DTW最初用于识别语音的相似性。我们用数字表示音调高低…

POJ 3461 字符串匹配(KMP / 哈希(有推导))

文章目录1. 题目1.1 题目链接1.2 题目大意2. Accepted代码2.1 KMP解法2.2 哈希法(有推导过程)1. 题目 1.1 题目链接 http://poj.org/problem?id3461 类似题目:LeetCode 30. 串联所有单词的子串(字符串哈希) 1.2 题…

莫比乌斯:百度凤巢下一代广告召回系统

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 江城编 | 夕小瑶今天聊聊百度在最顶级的数据挖掘会议KDD2019的计算广告track上提出的query-ad匹配模型——莫比乌斯(MOBIUS)。这也是百度凤巢下一代广告召回系统的内部代号&#…

当知识图谱遇上推荐系统之MKR模型(论文笔记三)

Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation 类别:交替学习 将知识图谱特征学习和推荐算法视为两个分离但又相关的任务,使用多任务学习的框架进行交替学习。 1、背景 MKR是一个通用的、端对端的深度推荐框架&#xf…