zoukankan      html  css  js  c++  java
  • CTR校准

    通常我们在做CTR预估的时候,预估值会与真是的CTR有偏差,这种偏差可能来自于负采样,可能是因为模型的问题。

    CTR预估值与真实值有偏差,并不会影响AUC指标和排序,但是实际使用中往往需要CTR的预估值不仅仅是做到有序,即正样本排在负样本前面,而且需要保证有一定的区分度。这涉及到一个概念保序和保距。

    假设我们有这么一个序列 牛 500KG,羊100KG,兔子 5kg,我们有一个模型,输入这些动物之后,根据体重排序,并且出一个体重的预估值。

    我们模型如果只是采用AUC这个指标的话,那么我们模型输出 牛 100kg  羊 20 kg, 兔子1kg,这样的结果AUC是没问题的,但是这只是做到了保序,但是他们之间的差值变小了,没有做到保距。

    在实际业务中,比如我们有这么一些广告,A的实际点击率是10%,B的实际点击率是5%,C的实际点击率是1%,但是A B C的点击收益分别是2,5,10,如果我们的模型没有做到保距,那么输出的预估值是5%,1%,0.5%,这样的话AUC的排序指标是满足了,但是实际收益并不是最优的。

    因此需要对CTR进行校准,是的CTR距离真实值越近越好。

    对于CTR校准的方法,我了解的大概有这么两种,一种是基于负采样的采用比例来进行校准,参考的论文是14年facebook的论文《Practical Lessons from Predicting Clicks on Ads at Facebook》

    其中P是预估值,q是校准后的值,w是负样本的采样比例

    推导的方式,就是假设p拟合的是采样后的训练集的点击率,q是未抽样前的数据集的点击率,然后根据对应关系可以推导。

    如果是逻辑回归其实也可以推导出是对偏置项的一个修正。

    另外一个是保序回归,保序回归

    关于保序回归的具体做法可以参考这篇文章http://vividfree.github.io/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2015/12/15/model-calibration-for-logistic-regression-in-rare-events-data

    实验的结果: 两种CTR校准的方式对于AUC都没有影响,保序回归的话存在的问题是分桶数量的设置,要保证每个桶的真是CTR是可信的。对于负采样两种都能够比较好的将预估值校准到真实值。不过具体线上效果如何还没有测试。

  • 相关阅读:
    文件限额
    Shell命令
    HDFS基本概念
    hadoop学习
    CentOS 5.6怎么安装MongoDB数据库?
    RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x
    centos6.x yum 安装 mysql5.6 mysql5.7
    Centos6.4环境下DNS服务器的搭建
    CentOS系统中使用iptables设置端口转发
    通过WEB网管登录
  • 原文地址:https://www.cnblogs.com/earendil/p/9675393.html
Copyright © 2011-2022 走看看