推荐系统之AUC指标的一些理解

以下是在一些整理的和自己的关于AUC的理解

1. AUC和GAUC的区别

  • auc反映的是整体样本间的一个排序能力,
  • 在计算广告领域, 实际要衡量的是不同用户对不同广告之间的排序能力,
    因此实际应该更关注的是同一个用户对不同广告间的排序能力。
    GAUC (group auc) 实际是计算每个用户的auc, 然后加权平均, 最后得到group auc, 这样就能 减少不同用户间的排序结果不太好比较这一影响。
    group auc具体公式如下:

实际处理时权重一般可以设为每个用户view或click的次数, 而且会过滤掉单个用户全是正样本或 负样本的情况
G A U C = ∑ ( u , p ) w ( u , p ) ∗ A U C ( u , p ) ∑ ( u , p ) w ( u , p ) \begin{equation} G A U C=\frac{\sum_{(u, p)} w_{(u, p)} * A U C_{(u, p)}}{\sum_{(u, p)} w_{(u, p)}} \end{equation} GAUC=(u,p)w(u,p)(u,p)w(u,p)AUC(u,p)
在计算广告中,要衡量相同用户对不同广告的排序能力,因此GAUC更好.
知乎链接

  • 广告推荐不能混为一谈,对广告而言,模型对同一个广告不同用户的排序能力才是更重要的,因为你服务的是广告主而不是用户,广告主的体验才是决定收入的关键

2. 如何处理全是正样本 or 全是负样本的样本?为什么计算GAUC的时候要过滤掉单个用户全是正样本或负样本的情况呢?

  • 消偏,提高置信度,其实对于全是负样本或者全为正样本的用户来说,那些数据都属于异常数据了,要么就只看不点,或者一直点的垃圾用户.
  • 这两种情况的用户AUC没法计算,必须过滤掉,保证每个用户都有一个AUC值.

3. 为什么order auc 比 click auc更大?

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

4. click 还是 order的线上线下差距更大?

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

5. AUC对均匀正负样本采样不敏感,计算时可以均匀采样

AUC对均匀正负样本采样不敏感, 因此计算时可以均匀采样
正由于AUC对分值本身不敏感, 故常见的正负样本采样, 井不会导致auc的变化。比如在点击率预估中, 处于计算资源的考虑, 有时候会对负样本做负采样, 但由于采样完后并不影响正负样本的顺序分布。
即假设采样是随机的, 采样完成后, 给定一条正样本, 模型预测为score1, 由于采样随机, 则大于score1的负样本和小于score1的负样本 的比例不会发生变化。
但如果采样不是均匀的, 比如采用word2vec的negative sample, 其负样本更偏向于从热门样本中采样, 则会发现auc值发生剧烈变化。

  • AUC的排序特性
    AUC实际上在说一个模型把正样本排在负样本前面的概率,所以,AUC常用在排序 场景的模型评估, 比如搜索和推荐等场景。 这个解释还表明, 如果将所有的样本的得分都加上一个额外的常数, 井不改变这个概率, 因此AUC不变。因此, 在广告等需要绝对的点击率场景下, AUC并不适合 作为评估指标, 而是用logloss等指标。
  • AUC对正负样本比例不敏感
    在模型训练的时候,如果正负比例差异比较大,例如正负比例为 1 : 1000 1:1000 1:1000、训练模型的时候通常要对负样本进行下采样。当一个模型训练完了之后, 用负样本下采样后的测试集计算出来的AUC和末采样的测试集计算的AUC基本一致, 或者说前者是后者的无偏估计。如果采样是随机的,对于给定的正样本, 假定得分为 s + s_+ s+, 那么得分小于 s + s_+ s+的负样 本比例不会因为采样而改变。例如,假设采样前负样本里面得分小于 s + s_+ s+的样本占比为 70% ,如果采样是均匀的, 即$ >s_+$的负样本和 < s + <s+的负样本留下的概率是相同的,那么显然采样后这个比例仍然是 70 70% 70.
    这表明,该正样本得分大于选取的负样本的概率不会因为采样而改变, 也就是 y ( t ) d x ( t ) y(t)dx(t) y(t)dx(t) 是不变的, 因此, AUC也不变!
    相比于其他评估指标, 例如准确率、召回率和 F1 值, 负样本下采样相当于只将一部分真实的负例排除掉了, 然而模型并不能准确地识别出这些负例, 所以用下采样后的样本来评估会高估准确率; 因为采样只对负样本采样, 正样本都在, 所以采样对召回率并没什么影响。这两者结合起来, 最终导致高估F1值.

你可能感兴趣的:(推荐系统,机器学习,面试,机器学习,算法,AUC,推荐系统,GAUC)