auc 损失_如何理解机器学习和统计中的AUC?

一只蚂蚁:到底如何理解AUC?​zhuanlan.zhihu.com
177c5092-6716-eb11-8da9-e4434bdf6706.png

AUC相关概念及作用定义
AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在和1之间。AUC越接近,模型效果越好;等于时,则效果最差,无应用价值。

通俗解释1
AUC就是从所有正样本中随机选取一个样本,从所有负样本中随机选取一个样本,模型对两个随机样本进行预测,把正样本预测为正样本的概率为pT(即TPRate),把负样本预测为正样本的概率为pF(即FPRate),pT>pF的概率就等于AUC。通俗解释2
AUC是指随机给定一个正样本和一个负样本,模型输出该正样本为正的概率值比分类器输出负样本为正的概率值要大的可能性;(ps:模型预估的是所有样本为正样本、也即label为1的概率)作用
AUC只能用于二分类模型的评价,对于二分类模型,还有很多其他评价指标,比如logloss,Accuracy,Precision,其中最常用的是AUC和logloss。5.如何理解AUC反映了分类器对样本的排序能力
排序能力其实就是把正样本排在负样本前边的能力,等价于TPRate > FPRate;AUC越大,正负样本之间预测的gap越大。6.相关指标
Accuracy:不管正负样本,分类正确的概率;
Precision:模型预估正确的正样本占所有给出预估的样本比例;
Recall:模型预估正确的正样本占所有正样本的比例;
F1:2*Precision*Recall / (Precision + Recall);
详见参考[1]AUC的计算方式
AUC的计算与混淆矩阵密不可分(有关混淆矩阵,详见参考[2])

True Positive Rate(真阳率)、False Positive(伪阳率)的概念:
TPRate的意义是所有真实类别为1的样本中,预测类别为1的比例。
FPRate的意义是所有真实类别为0的样本中,预测类别为1的比例。
要判别预估结果为Positive或者Negative,需要设定一个阈值,比如阈值取,预估结果小于的为0,否则为1,我们可以据此得到对应的TPRate、FPRate;依次使用所有预测值作为阈值,得到一系列TPRate、FPRate,以FPRate为x轴,以TPRate为y轴,将(0,0)、(1,1)与所有的(TPRate,FPRate)点连接起来即得到ROC曲线,曲线下面积即AUC。Tip1:AUC计算中的正样本或负样本,是与user无关的,而线上预估时,往往是针对某个user或者某个session,所以可能会出现在离线不一致的情况:离线auc提升,但是在线auc/ctr没提升;Tip2:(0,0)、(1,1)两个点是分别取阈值1和0得到的;AUC优势优势1
对比Accuracy、Precision、F1等指标,AUC指标本身和模型预测score绝对值无关,只关注排序效果,因此特别适合排序业务。为何与模型预测score值无关是很好的特性呢?假设你采用Precision、F1等指标,而模型预测的score是个概率值,就必须选择一个阈值来决定哪些样本预测是1哪些是0,不同的阈值选择,Precision的值会不同,而AUC是依据所有阈值计算得来的(总比取单一阈值靠谱吧···)体现的是分类器对样本的排序能力,只关心正负样本之间的分数高低,而具体的分值则无关紧要。优势2
AUC在样本不平衡的情况下,依然能够对分类器作出合理的评价。例如在反欺诈场景,设欺诈类样本为正例,正例占比很少(假设)。如果使用Accuracy评估,假设把所有的样本预测为负例,便可以获得的准确率。但是如果使用AUC,假设把所有样本预测为负例,TPRate和FPRate同时为0(没有Positive)得出AUC仅为,成功规避了样本不均匀带来的问题。线下AUC提升为什么不能带来线上效果提升?1.首先要排除不是低级错误引起的;2.线上的数据分布和线下的样本分布不同;
线下是拿历史样本来评测,而线上预估的时候,会有更多没有出现过的样本;样本数据包含的信息越接近线上,则离线指标与线上指标gap越小,反之则越大。3.线上和线下的评估目标并不对等;
AUC反映的是整体样本间的排序能力,而线上实际上关注的是一个用户对不同广告间的排序能力;也即线上的排序发生在一个用户的session下,而线下计算的是包含全部用户的全集AUC,而不同用户之间的排序结果不可比、把userA点击的正样本排在userB未点击的负样本前面是没有实际意义的。举个例子:假设有两个用户A和B,每个用户都有10个商品,10个商品中有5个是正样本,我们分别用A+,A-,B+,B-来表示两个用户的正样本和负样本。假设模型预测的结果大小排序依次为A+,A-,B+,B-。如果把两个用户的结果混起来看,AUC并不是很高,因为有5个正样本(B+)排在了后面,但是分开看的话,每个用户的正样本都排在了负样本之前,AUC应该是1。显然,分开看更容易体现模型的效果,这样消除了用户本身的差异。
阿里在论文:Deep Interest Network for Click-Through Rate Prediction中提出了group auc来处理上述问题,即以user为group,再对user的impression做加权平均。公式如下:

参考文献[3][4][5]有进一步讨论。AUC多高算高?
分业务、分场景,没有固定标准(但AUC=是肯定不行的,hhh)
在实际业务中,经常会发现点击率模型的AUC要低于购买转化率模型的AUC。通常,点击行为的成本要低于购买行为,从业务上理解,点击率模型中正负样本的差别要小于购买力模型,即购买转化模型的正样本通常更容易被预测准。虽然购买转化率模型的AUC会高于点击率模型,但往往都是点击率模型更容易做,线上效果更好,因为购买决策比点击决策过程长、成本重,且用户购买决策受很多场外因素影响,比如预算不够、在别的平台找到更便宜的了等原因,这部分信息无法收集到,决策链路太长,信息丢失就太多,导致最终样本包含的信息缺失较大,更难做到线下线上一致。参考文献
[1]:zhihu.com/question/3064
[2]:zhihu.com/question/3984
[3]:zhuanlan.zhihu.com/p/35
[4]:zhuanlan.zhihu.com/p/42
[5]:zhihu.com/question/3058
[6]:mp.weixin.qq.com/s/uVZO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值