Find the Underlying Structure of Big Data by Machine Learning with Spark | QQ群: 452154809

为什么CTR预估使用AUC来评估模型?

计算广告 Bin 347℃ 0评论

CTR预估简单的解释就是预测用户点击item的概率。为什么一个回归的问题需要使用分类的方法来评估,这真是一个好问题,我尝试从下面几个关键问题去回答。

1. ctr预估是特殊的回归问题

CTR预估的目标函数为:f(x)=P(+1|x),特殊之处在于目标函数的值域为[0,1], 而且由于是条件概率,具有如下特性
P(y|x)= {f(x) for y=+1 , 1−f(x) for y=−1}

如果将ctr预估按照一般的回归问题处理(如使用linear regression),面临的问题是一般的linear regression的值域范围的是实数域,对于整个实数域的敏感程度是相同的,所以直接使用一般的linear regression来建立ctr预估模型很容易受到noise的影响。以Andrew Ng课程中的例子图所示,增加一个噪音点后,拟合的直线马上偏移。

另外,由于目标函数是条件概率,训练样本中会存在特征x完全相同,y为+1和-1的样本都出现的问题,在linear regression 看来是一个矛盾的问题,而Logistic Regression很好的解决解决了这个问题[1]。
3eb546e340ce

2. 为什么AUC也可以用于LR模型的评估

普遍上对于AUC的认识是在分类问题中,取不同的threshold后,在横坐标为fasle positive rate,纵坐标为true positive rate平面上绘制ROC曲线的曲线下面积,所以很难理解是如何与这里的回归问题联系起来。
        实际上,一个关于AUC的很有趣的性质是,它和Wilcoxon-Mann-Witney Test是等价的[3]。而Wilcoxon-Mann-Witney Test就是测试任意给一个正类样本和一个负类样本,正类样本的score有多大的概率大于负类样本的score。有了这个定义,我们就得到了另外一中计算AUC的办法:具体来说就是统计一下所有的 M×N(M为正类样本的数目,N为负类样本的数目)个正负样本对中,有多少个组中的正样本的score大于负样本的score。

仍然以上面的例子分析,y1=+1, y2=+1, y3=-1, y4=-1。
         模型1的预测为 y1=0.9, y2=0.5, y3=0.2, y4=0.6
         模型2的预测为 y1=0.1, y2=0.9, y3=0.8, y4=0.2
         模型1: 正样本score大于负样本的pair包括(y1, y3), (y1, y4), (y2, y3),auc为3/4=0.75
         模型2: 正样本score大于负样本的pair包括(y2, y3),(y2, y4),auc为2/4=0.5
        模型1优于模型2,同上面的对数似然函数相比,这种auc的连续值同样可以评估预估概率与实际值的逼近程度,不过它强调的是预测score的偏序关系(rank)。另外,ctr预估这种回归问题实质上也是特殊的分类问题(soft classification),求解的是分类概率。

参考文献
         [1]逻辑回归模型(Logistic Regression, LR)基础。 http://www.cnblogs.com/sparkwen/p/3441197.html
         [2] Machine Learning Foundation, Coursera.
         [3]AUC(Area Under roc Curve )计算及其与ROC的关系 http://www.cnblogs.com/guolei/archive/2013/05/23/3095747.html
         [4] 某大侠的印象笔记

转载请注明:单向街的夏天 » 为什么CTR预估使用AUC来评估模型?

喜欢 (4)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址