微软的一篇ctr预估的论文:Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine。

周末看了一下这篇论文,觉得挺难的,后来想想是ICML的论文,也就明白为什么了。

先简单记录下来,以后会继续添加内容。

主要参考了论文Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine(下载链接:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.165.5644&rep=rep1&type=pdf)以及百度网盟CTR预估技术负责人夏粉老师分享的资料(下载链接:http://pan.baidu.com/share/link?shareid=484272&uk=4010619712)。

有不对的地方,希望能指出:(2012wxs@gmail.com)。

前面部分就不说了。从第3节Online Bayesian Probit Regression开始

第三节 Online Bayesian Probit Regression

X是要输入的N维特征X->(clip_image002),特征的每一个维度clip_image004有M个取值,即: clip_image004[1]->(clip_image006),其中clip_image008的取值只能是0或者1,且clip_image004[2]中所有元素的和等于1,也就是说clip_image004[3]中的元素只能有一个取值为1,其余的必须取值为0。

作者假设样本分布符合高斯分布,分布函数为:

clip_image010,                                                                                (1)

其中clip_image012                                                                      (2)

即密度函数为标准正态分布:clip_image013

假设W的先验分布为:

clip_image015,                                                                  (3)

其中f为正态分布函数clip_image013[1]

clip_image017的精确后验公式为:

clip_image019

因为clip_image021,

所以:clip_image023,                                              (4)

(1) ,(3)可知(4)为:

clip_image025

clip_image027

clip_image029是对分子clip_image031关于w的积分,所以:

clip_image033

clip_image035                                                            (5)

由公式(2)可知

clip_image037                                                                          (6)

公式6就是关于w的精确后验的公式,从公式中可以看到由于积分区间和积分式中都出现了w,所以没有关于w的解析解。因此,论文使用message passing方法近似求解w的后验概率。

w的精确求解公式(4)可知,近似求解公式为:

clip_image039                                                                                               (7)

其中,clip_image041是先验概率,clip_image043是似然函数,也就是在对w的假设clip_image041[1]的情况下,实际结果y取值0或者1的概率。为了能够对似然函数进行分解,引入了两个隐变量s,t,将似然函数clip_image045分解为clip_image046

所以公式(7)成为这种形式:clip_image047

 

 

    可以理解为一个如下的生成过程:

clip_image048

 

    <1>w的值是从高斯分布中得到的,因为假设其先验符合高斯分布。

    <2>得到w的值之后,可以得到一个分数s,分数s的值为clip_image050,取得这个值的概率为clip_image052,即clip_image054

    <3>得到分数s之后,对这个分数clip_image050[1]加上一个均值为0,方差为clip_image056的标准正态高斯噪声。最终得到变量t的分布为均值为s,方差为clip_image056[1]的正态分布clip_image057

    <4>得到t之后,需要根据t计算y值,是由符号函数sign计算得到的,即y的取值为y = sign(t),只有两种值即y = 0,y = 1,其取值概率为:clip_image058

    由<1>步得到的p(w)等价于w的近似后验公式7中的先验pw);由<2><3><4>步得到的clip_image058[1]等价于w的近似后验公式(7)中的似然函数。

<1><2><3><4>的各个公式的乘积等价于w的近似后验公式(7),另外,由因子图中因子节点的乘积为变量的联合概率分布可知,<1><2><3><4>中各个公式的乘积为变量w,s,t,y的联合分布clip_image059,所以在论文中有讲是等价的:clip_image060

    另外,根据论文中所讲,等价式是变量w,s,t,y的联合分布clip_image059[1],因此,我认为那个factor graph 1应该这么画:

clip_image061

 

    至此,模型已经建立:由于无法精确求解w的后验,将求解w后验的问题转化为一个因子图中的生成过程,并且将求解问题分解为计算一个个的local message,最后将这些local message相乘就行了。

    下面是推理部分

    也就是如何训练模型的过程,

    首先,根据历史数据,比如历史平均点击率,给出W的先验,另外,有训练数据(xy)。根据w的先验和训练数据(x,y),推理出w的后验概率(在factor graphmodel中等价于clip_image059[2]),这个过程叫upward message

clip_image062

其次,根据第一步得到的w的后验概率(此时的w的先验概率是第一步得到的后验概率),以及特征x,可以计算出对于输入的一个特征向量x,得到的预测值y的分布clip_image064,这个过程叫downward message:

clip_image065

 

 

posted on 2013-12-12 15:04  虚若怀谷  阅读(1442)  评论(1编辑  收藏  举报

导航