AUC

article/2025/10/3 22:27:51

最近我们在尝试深度学习模型,离线的auc已经高于基线,上线后ctr表现也优于基线,但是基于线上实际反馈的打点日志,深度学习的模型的auc要明显低于基线。但以前的模型迭代auc是可以和线上ctr对应的。

这个问题比较奇怪,一般情况下,因为线上样本存在bias补充:模型训练一般是经过采样的,但是真实的线上环境样本并不会进行采样,所以就会导致样本存在bias),将新模型同时去测试基线流量和实验流量时,实验流量的auc会略高于基线流量。

可以这样理解,新的模型的增量是带来了一些新的好样本,但是如果直接去评估基线的数据,由于推荐或排序的数据是动态反馈的,这部分的好样本就没有了,auc会偏低。但我们的实验情况恰恰是相反的。

分析gauc指标

补充:gauc指的是group auc,可以将单个用户看成一个群体,也可以对用户进行分群,统计每个群体内的auc指标

第一反应是auc这个指标失真了,由于排序是个性化的,不同用户之间的排序结果不可比,不同用户的负样本的得分可能比正样本高,导致全局AUC指标失真

举个例子:假设有两个用户A和B,每个用户都有10个商品,10个商品中有5个是正样本,我们分别用A+,A-,B+,B-来表示两个用户的正样本和负样本。也就是说,20个商品中有10个是正样本。假设模型预测的结果大小排序依次为A+,A-,B+,B-。如果把两个用户的结果混起来看,AUC并不是很高,因为有5个正样本排在了后面,但是分开看的话,每个用户的正样本都排在了负样本之前,AUC应该是1。显然,分开看更容易体现模型的效果,这样消除了用户本身的差异(补充:这段描述其实也是AUC和GAUC的区别,GAUC相对来讲能够能加准确的说明模型的效果,关于AUC和GAUC可以参考:最浅显易懂的图解AUC和GAUC)。

考虑到用户的每个样本之间的差异,一般将样本权重加到auc系数上去,这样计算更为合理。前面这种情况发生的前提是:两个用户的排序预测结果相互干扰,也就是分数越相对集中,正负样本在不同用户之间差异越大,导致线上的排序效果看似降低,但每个用户的auc计算不受干扰,各项线上指标并未降低。

我们采用了阿里提出来的gauc定义:

补充:其中为权重,一般可以设为每个用户view的次数,或click的次数,而且一般计算时,会过滤掉单个用户全是正样本或负样本的情况

再统计后的指标如下:

图片

我们发现了gauc后,diff变小了,但是还是基线高,说明gauc和ctr也不一致。

用户分数分布

图片

可以看到,auc分布中,实验无点击的曝光用户数量增加,在auc[0,0.1]区间基线auc较差。考虑到用户auc为0的用户数量,曝光并不多,例如113(基线)为0.4%,139(实验)为(1.2%),曝光增加1.565%,说明除了曝光,在有用户行为的样本中用户更愿意曝光。

补充:0.4%、1.2%为有曝光无点击的用户占比

接下来把这种样本去掉,考虑有点击行为的用户

图片

我们看到,用户在[0.6,1](补充:其实[0.5,0.6]这个区间也比较接近)这个区间,实验对比基线用户auc预测更贴近真实label分布。我们认为在用户auc=0的用户中图墙占比更多,实验比基线略高。从有行为反馈的用户中,auc在高分段实验更有优势。

用户auc的计算说明

图片

上图中,我们选取了5个用户,他们在基线和实验的单用户auc是接近的,但是在两两用户的样本组合后,实验和基线的auc差别很大。说明实验和基线的模型分数分布差距很大,单独看gauc也不能说明问题。

抽样观察每个用户一个浏览路径下的商品预测分数,我们发现基线和实验的斜率是不一样的,也就是更容易发生上面说明的情况。

图片

我们发现基线的模型,在分数预估上两级分化明显。

结论

由于基线是大规模离散模型,特征以0和1为主,会导致个性化命中和不命中的score分数diff很大,而深度模型是基于embedding做的,在计算个性化上,分数变化会更均匀,导致更多相近的难以区分的样本出现在样本集里,导致二者的样本分布发生剧烈变化。导致auc不可比,gauc只能参考。

在模型发生剧烈变化时,会带来很多意想不到的问题,深入分析后能对模型和数据有更好的认识。

QA

Q:什么是“auc分布”和“单用户auc”,一个模型只有一个auc,auc是评估整个模型的,所以也没有所谓的的单用户auc吧?

A:单用户auc是指针对这个用户的展现点击计算的auc,可以了解一下gauc

Q:意思是深度学习模型选出的样本是更相似的(预估难度更高),而基线模型经常选出差异度很大的样本(更容易预估准),而离线预估两个模型都是同一个样本集进行所以有对比性,线上ABTest模型给的样本集不一样所以auc没有对比性?

A:这个解释应该更合理,abtest时,新模型召回的广告ctr更高,模型对这些广告的区分难度增大

Q:正常来说,一个用户没有点击行为的话,相当于只有负样本,没有正样本,针对这种用户是没法计算gauc的吧。

A:猜测,可能就是以0.5代替了

Q:统计gauc时,为什么会有一组除去纯曝光的值?做了什么?为什么呢

A:不是去掉所有曝光,是去掉所有「只有曝光但无点击的用户」。去掉的是这一类用户。

QA:新模型下低auc用户实际ctr明显高于base模型的低auc用户,说明新模型对这部分用户更偏向于选择高质量的ad曝光。我理解可能是新模型在自己pctr高分段样本中的AUC可能暂时比不过base模型在自己的高分段样本中的AUC,但新模型的打分确实更有能力挑选出质量更高的ad。在线上系统中,实际AUC的值我感觉里面不可控因素太多了,特别是在模型迭代初期,可能会有很多让人混淆的现象出现。


http://chatgpt.dhexx.cn/article/LF80GNPZ.shtml

相关文章

AUC详解

AUC在机器学习领域中是一种模型评估指标。根据维基百科的定义,AUC(area under the curve)是ROC曲线下的面积。所以,在理解AUC之前,要先了解ROC是什么。而ROC的计算又需要借助混淆矩阵,因此,我们先从混淆矩阵开始谈起。…

笔记︱统计评估指标AUC 详解

文章目录 1 AUC的两种解读视角:1.1 ROC曲线与坐标轴形成面积1.2 古典概率模型——求导AUC 2 AUC的特性与优劣3 AUC多大才算好?4 线上、线下AUC差异较大成因分析4.1 业务场景使用AUC:点击模型与购买模型的差异4.2 线上、线下AUC有差异 5 AUC逻…

AUC原理详细讲解

一、AUC含义 首先,在试图弄懂AUC和ROC曲线之前,首先要彻底理解混淆矩阵的定义! 混淆矩阵中有着Positive、Negative、True、False的概念,其意义如下: 称预测类别为1的为Positive(阳性)&#x…

详解AUC指标

AUC指标 AUC是一个模型评价指标,用于二分类模型的评价。AUC是“Area under Curve(曲线下的面积)”的英文缩写,而这条“Curve(曲线)”就是ROC曲线。 ROC:受试者工作特征曲线    为什么要用AUC作为二分类…

机器学习篇-指标:AUC

AUC是什么东西? AUC是一个模型评价指标,只能够用于二分类模型的评价,对于二分类模型来说还有很多其他的评价指标: 比如:logloss,accuracy,precision 在上述的评价指标当中,数据挖掘…

网络: 快速理解NAT与NAPT的区别

NAT:网络地址转换 。 NAPT:网络地址端口转换。 (通俗的讲)它们都是地址转换,NAPT与NAT的区别在于 NAT是NAT是一对一转换,NAPT是多对一转换。通俗来说NAT是一个内部地址转换成一个外部地址进行通信的,而NAPT是多个内部地…

NAT和NAPT 技术

一、什么是NAT NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除了转换IP地址,还出现了可以转换TCP\UDP端口号的NAPT(Network Address Port Translator)技术 二、NAT的工作机制 如下图所示…

19 网络端口地址转换NAPT配置

借鉴网址: Packet Tracer 思科模拟器入门教程 之十八 网络端口地址转换NAPT配置_柚子君.的博客-CSDN博客 姓 名 彭彭头 实验日期 2022.06.07 学 号 实验序号 19 实验名称 网络端口地址转换NAPT配置 一、实验目的及要求 理解NAT网络地址转换的原理及功能…

Cisco Packet Tracer思科模拟器中利用动态NAPT实现局域网访问Internet (动态地址转换)

本篇文章主要讲解思科模拟器中的动态地址转换 ,主讲ACL和接口进行地址转换、地址池范围地址转换、静态一对一地址转换。 园区网内通常情况下有很多台主机,从ISP申请并给园区网中的每台主机分配一个合法IP地址是不现实的,为了使所有内部主机都…

NAT--静态、动态、NAPT、Easy-ip、NAT server

静态NAT 静态 NAT ( Static NAT )&#xff08; 一对一 &#xff09;。将内部网络的私有IP地址转换为公有IP地址&#xff0c;IP地址对是一对一的&#xff0c;是一直不变的。 实验拓扑&#xff1a; PC配置 AR1 <Huawei>sys Enter system view, return user view with Ct…

静态NAPT部署

实验拓扑 Jan16公司搭建了网站服务器&#xff0c;用于对外发布官方网站&#xff0c;公司只租用了一个互联网IP地址用于互联网的访问。为了保障内部网络的安全和互联网IP地址不足的情况&#xff0c;需在出口路由中配置静态NAPT&#xff0c;用于将内部服务器映射到互联网IP地址上…

NAT 和 NAPT

出处&#xff1a;http://bbs.51cto.com/thread-878322-1.html NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;是将IP数据报头中的IP地址转换为另一个IP地址的过程。在实际应用中&#xff0c;NAT主要用于实现私有网络访问公共网络的功能。这…

华为静态NAT、动态NAT、NAPT、Easy NAT配置实例

一、NAT的四种类型 1&#xff0c;静态NAT&#xff08;服务器地址转换&#xff09; 静态NAT实现了私有地址和公有地址的一对一转换&#xff0c;一个公网地址对应一个私网地址 2&#xff0c;动态NAT 动态NAT基于地址池来实现私有地址和公有地址的转换&#xff0c;转换是随机的 …

华为 静态NAT---动态NAT---NAPT---Easy IP---NAT服务器工作原理和示例配置

目 录 一、NAT简介 二、NAT好处&#xff1a; 三、静态NAT工作原理和示例配置 1. 静态NAT工作原理 2. 静态NAT配置示例 四、动态NAT工作原理和示例配置 1. 动态NAT工作原理 2.动态NAT示例配置 五、NAPT工作原理和示例配置 1. NAPT工作原理 2.NAPT示例配置 六…

华为设备的NAT、NAPT、easy IP的区别

首先来了解一下什么是NAT&#xff0c;网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术&#xff0c;是一种将私有&#xff08;保留&#xff09;地址转化为合法IP地址的转换技术&#xff0c;它被广泛应用于各种类型Internet接入方式和各种类型的网络中。原因…

6.NATNAPT

7. NAT&NAPT 它们都是地址转换NAPT与NAT的区别在于 NAT是NAT是一对一转换&#xff0c;NAPT是多对一转换。通俗来说NAT是一个内部地址转换成一个外部地址进行通信的&#xff0c;而NAPT是多个内部地址使用同一地址不同端口转换成外部地址进行通信的。 //配置完动态路由Rout…

NAPT之NAT地址池、NAPT之easy-ip、NAT-Server

NAPT之NAT地址池 拓扑 需求 实现企业内网主机&#xff08;PC1-PC4&#xff09;访问公网网站服务器&#xff08;Server1&#xff09; 配置步骤 第一步&#xff1a;给PC1-PC4/Server1配置接口IP地址&#xff0c;掩码&#xff0c;网关 第二步&#xff1a;R1配置默认路由 -边界…

NAT和NAPT

NAT和NAPT引入原因 IPV4是一个32位的地址&#xff0c;最大容纳为 2 32&#xff0c;就这还包括了广播地址、网络地址等主机不可用的IP地址。也就是40多亿。现在全球电子设备的IP地址已经远远超过了40亿。所以IP地址不是不够用了吗&#xff1f;为什么现在的网络还好好的呢&…

路由 NAT(简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表)

4.1.0 路由 NAT&#xff08;简介、静态NAT、动态NAT、NATServer、NAPT、Easy-ip、NAT地址映射表&#xff09; 目录 简介NAT地址映射表静态NAT简介操作案例 动态NAT简介操作案例 NAT Server简介操作案例 NAPT简介操作案例 Easy-ip简介操作案例 简介 为了有效节约公网IPv4地址&a…

NAPT-PT技术实现

一实验原理 NAPT-PT全称Network Address Port Translation-Protocol Translation。由于静态NAT-PT和动态NAT-PT都比较浪费IPV4地址&#xff0c;比没有体现出IPV6的优越特性。在本实验中采用NAPT-PT&#xff0c;只有一个IPV4地址&#xff0c;用端口来表识IPV6网中的主机。 二实…