评价指标GAUC和AUC

1、介绍

首先,笔者认为二者最大的区别为:GAUC实现了用户级别的AUC计算,GAUC可以用于评估多类别分类模型的性能,而AUC只能用于评估二分类模型的性能。

DIN原论文上有一个衡量模型改进程度的一个东西叫RelaImpr,这里的n是用户数量,\#inpressiong_{i} AUC_{i}分别是第i 个用户的喜好和该用户的AUC。作者说这个是通过平均用户的AUC来衡量用户内部顺序的好坏,并被证明与显示广告系统的在线性能更相关。

计算得到的RelaImpr是看测试模型基于base model提高程度的,而式(11)里面的AUC计算方式,采用式(10)的计算方法,该加权AUC的计算方法与我们所熟知的AUC计算方法并不一样,该加权AUC就是GAUC(只是原论文里是用AUC来表示),GAUC是阿里自己提出来的,并且时间证明了GAUC比AUC更加可靠。

2、AUC的含义与计算

2.1 含义

AUC本质上是一个概率值。简单来说其实就是随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率。用公式表示如下:

  AUC=P(P_{正样本}>P_{负样本})

2.2 计算方式

例子

下面将采用上图中的例子来展示如何计算AUC

2.2.1 计算方式一

1)数学表达式:

(依然是上面的例子)在该例中有4条样本。2个正样本,2个负样本,那么M*N=4。即总共有4个样本对。分别是:(D,B ),( D,A ) ,(C,B), ( C,A )。

 在( D,B)样本对中,正样本D预测的概率大于负样本B预测的概率(也就是D的得分比B高),记为1;同理,对于( C,B)。正样本C预测的概率小于负样本C预测的概率,记为0。

最后可以算得,总共有3个符合正样本得分高于负样本得分,故最后的AUC为\frac{1+1+1+1}{4} =0.75

2.2.2 计算方式二

1)数学表达式:

AUC=\frac{\sum\nolimits_{ins_{i} \in positiveclass}rank_{ins_{i}}-\frac{M\times (M+1)}{2}  }{M\times N}

其中

rank_ {ins_{i}}代表第i条样本的序号。(概率得分从小到大排,排在第rank个位置)

M,N分别是正样本的个数和负样本的个数

\sum\nolimits_{ins_{i} \in positiveclass}表示只把正样本的序号加起来

2)步骤

1、所有样本的概率得分从小到大排,得到rank值

2、把正样本筛选出来

3、代入公式计算

3)举例

依然是上面的例子,我们将其按照样本概率排序可得

然后按照上面的公式,只把正样本的序号加起来,也就是只把样本C,D的rank值加起来后减去一个常数项\frac{M(M+1)}{2} ,即:\frac{(4+2)-\frac{2 \times(2+1)}{2} }{2\times2} =\frac{6-3}{4} =0.75 ,这个答案和我们上面所计算的是一样的。

3、GAUC

3.1 AUC的缺点

千呼万唤始出来,接下来就该介绍我们今天的主角GAUC了,先说说AUC的缺点:【线下】AUC提升不一定能带来【线上】效果提升。原因:

1、AUC反映整体样本间的排序能力,表示正样本得分比负样本得分高的概率,对样本不区分用户地计算整体样本的AUC。

2、AUC计算的时候,不仅会涉及同一个用户的不同item,也会涉及不同用户的不同item ,而线上排序系统每次排序只针对同一个用户的不同item进行打分。

换句话说AUC更关注的是一个整体的得分,他并不太会将注意力集中在某一个用户身上,但是线上推荐的时候,往往是针对单个用户去进行推荐的,因此就会带来一定的问题。

3.2 举例

假设,有模型A和模型B两个模型,通过训练和预测,得到如下结果:

模型A预测结果
模型B预测结果

根据上述结果可以得到模型A的总体AUC和模型B的总体AUC:

AUC_{总体,A} =\frac{(2+4+5)-\frac{3\times(3+1)}{2} }{3\times2}=\frac{11-6}{6}=0.833  , 其中M=3,N=2

AUC_{总体,B} =\frac{(2+3+5)-\frac{3\times(3+1)}{2} }{3\times2}=\frac{10-6}{6}=0.667  , 其中M=3,N=2

然后再去计算用户甲的AUC:

模型A甲的预测结果

对于模型A:AUC_{甲,A}=1

模型B甲的预测结果

对于模型B:AUC_{甲,B}=1

同理可得用户乙在A,B两个模型下的AUC

AUC_{乙,A}=1 AUC_{乙,B}=1

评估:根据总体AUC的表现来看,模型A的表现优于模型B,但从用户级别的AUC实际情况来看,模型B的效果和模型A应该是一样好的。

而我们在线上做推荐的时候,我们针对的是每个个体,就是一个单独的个体,我们其实是不需要和别的用户做对比,只要这个模型推荐的东西对我自己来说是适合的,那就足够了,没必要拿我和别人进行比较。

因此用户广告之间的排序是个性化的,不同用户的排序结果不太好比较,这可能导致全局auc并不能反映真实情况。


3.3 GAUC实现了用户级别的AUC计算

GAUC=\frac{\sum_{i=1}^n\omega _i*AUC_i }{\sum_{i=1}^n\omega _i} =\frac{\sum_{i=1}^n impression_i*AUC_i }{\sum_{i=1}^n impression _i}

其中权重w既可以是展示次数(impression)也可以是点击次数(clicks)。n是用户数量。在单个用户AUC的基础上,按照点击次数或展示次数进行加权平均,消除了用户偏差对模型的影响,更准确的描述了模型的表现效果

3.4 GAUC计算举例

模型A

模型A的GAUC值

模型B的GAUC值

模型B的GAUC值

根据计算结果可以看出两个模型的效果都是一样的

3.5 GAUC的优缺点

优点:实现了用户级别的AUC计算注意点

缺点:用户行为没有那么多的时候,GAUC会抖动,大部分公司还是用AUC比较多

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容