微软的一篇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->(),特征的每一个维度有M个取值,即: ->(),其中的取值只能是0或者1,且中所有元素的和等于1,也就是说中的元素只能有一个取值为1,其余的必须取值为0。
作者假设样本分布符合高斯分布,分布函数为:
, (1)
其中 (2)
即密度函数为标准正态分布:
假设W的先验分布为:
, (3)
其中f为正态分布函数。
的精确后验公式为:
,
因为,
所以:, (4)
由(1) ,(3)可知(4)为:
是对分子关于w的积分,所以:
(5)
由公式(2)可知
(6)
公式(6)就是关于w的精确后验的公式,从公式中可以看到由于积分区间和积分式中都出现了w,所以没有关于w的解析解。因此,论文使用message passing方法近似求解w的后验概率。
由w的精确求解公式(4)可知,近似求解公式为:
(7)
其中,是先验概率,是似然函数,也就是在对w的假设的情况下,实际结果y取值0或者1的概率。为了能够对似然函数进行分解,引入了两个隐变量s,t,将似然函数分解为
所以公式(7)成为这种形式:
可以理解为一个如下的生成过程:
<1>w的值是从高斯分布中得到的,因为假设其先验符合高斯分布。
<2>得到w的值之后,可以得到一个分数s,分数s的值为,取得这个值的概率为,即。
<3>得到分数s之后,对这个分数加上一个均值为0,方差为的标准正态高斯噪声。最终得到变量t的分布为均值为s,方差为的正态分布
<4>得到t之后,需要根据t计算y值,是由符号函数sign计算得到的,即y的取值为y = sign(t),只有两种值即y = 0,y = 1,其取值概率为:
由<1>步得到的p(w)等价于w的近似后验公式(7)中的先验p(w);由<2><3><4>步得到的,等价于w的近似后验公式(7)中的似然函数。
<1><2><3><4>的各个公式的乘积等价于w的近似后验公式(7),另外,由因子图中因子节点的乘积为变量的联合概率分布可知,<1><2><3><4>中各个公式的乘积为变量w,s,t,y的联合分布,所以在论文中有讲是等价的:。
另外,根据论文中所讲,等价式是变量w,s,t,y的联合分布,因此,我认为那个factor graph 1应该这么画:
至此,模型已经建立:由于无法精确求解w的后验,将求解w后验的问题转化为一个因子图中的生成过程,并且将求解问题分解为计算一个个的local message,最后将这些local message相乘就行了。
下面是推理部分
也就是如何训练模型的过程,
首先,根据历史数据,比如历史平均点击率,给出W的先验,另外,有训练数据(x,y)。根据w的先验和训练数据(x,y),推理出w的后验概率(在factor graphmodel中等价于),这个过程叫upward message:
其次,根据第一步得到的w的后验概率(此时的w的先验概率是第一步得到的后验概率),以及特征x,可以计算出对于输入的一个特征向量x,得到的预测值y的分布,这个过程叫downward message:
微软的一篇ctr预估的论文:Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine。的更多相关文章
- 某篇ctr预估ppt的链接
csdn上面有一篇ppt,但是下载分太贵了.里面东西看起来讲的还可以.看看能不能嵌入. http://download.csdn.net/detail/u012289698/9371461 <i ...
- 广告点击率 CTR预估中GBDT与LR融合方案
http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate Pred ...
- CTR预估中GBDT与LR融合方案(转载)
1.背景 CTR预估,广告点击率(Click-Through Rate Prediction)是互联网计算广告中的关键环节,预估准确性直接影响公司广告收入.CTR预估中用的最多的模型是LR(Logis ...
- CTR预估之LR与GBDT融合
转载自:http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate ...
- (读论文)推荐系统之ctr预估-DeepFM模型解析
今天第二篇(最近更新的都是Deep模型,传统的线性模型会后面找个时间更新的哈).本篇介绍华为的DeepFM模型 (2017年),此模型在 Wide&Deep 的基础上进行改进,成功解决了一些问 ...
- (读论文)推荐系统之ctr预估-NFM模型解析
本系列的第六篇,一起读论文~ 本人才疏学浅,不足之处欢迎大家指出和交流. 今天要分享的是另一个Deep模型NFM(串行结构).NFM也是用FM+DNN来对问题建模的,相比于之前提到的Wide& ...
- ctr预估论文梳理和个人理解
问题描述 ctr的全称是click through rate,就是预估用户的点击率,可以用于推荐系统的ranking阶段.ctr预估可以理解为给用户的特征.item的特征以及context的特征(比如 ...
- 闲聊DNN CTR预估模型
原文:http://www.52cs.org/?p=1046 闲聊DNN CTR预估模型 Written by b manongb 作者:Kintocai, 北京大学硕士, 现就职于腾讯. 伦敦大学张 ...
- 深度CTR预估模型中的特征自动组合机制演化简史 zz
众所周知,深度学习在计算机视觉.语音识别.自然语言处理等领域最先取得突破并成为主流方法.但是,深度学习为什么是在这些领域而不是其他领域最先成功呢?我想一个原因就是图像.语音.文本数据在空间和时间上具有 ...
随机推荐
- javascript实现jsp页面的打印预览
1.加载WebBrowser打印预览控件 <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" heigh ...
- 在Python的Flask框架下Address already in use [地址已在使用中]
出现这种错误提示, 说明你已经有一个流程绑定到默认端口(5000).如果您之前已经运行过相同的模块,则很可能该进程仍然绑定到端口. 首先使用端口窗口查找进程 : sudo lsof - i : 5 ...
- python利用urllib实现的爬取京东网站商品图片的爬虫
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...
- 【C#多线程编程实战笔记】二、 线程同步
使用Mutex类-互斥锁 owned为true,互斥锁的初始状态就是被主线程所获取,否则处于未获取状态 name为定义的互斥锁名称,在整个操作系统只有一个命名未CSharpThreadingCookb ...
- C++中模板Template的使用
1. 在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?class用于定义类,在模板引入c++后,最初定义模板的方法为 ...
- java基于注解的redis自动缓存实现
目的: 对于查询接口所得到的数据,只需要配置注解,就自动存入redis!此后一定时间内,都从redis中获取数据,从而减轻数据库压力. 示例: package com.itliucheng.biz; ...
- 自制EIGRP配置实验大全
EIGRP综合实验 本实验可能会有一两个出错的地方,希望大家进行实验测试后,可以指正!当然绝大部分都是正确滴! 实验A:基本配置 A.0)实验目的: 熟悉eigrp的基本配置 A.1)实验拓扑: A. ...
- 转:深入Java集合学习系列:HashSet的实现原理
0.参考文献 深入Java集合学习系列:HashSet的实现原理 1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特 ...
- 201521123084 《Java程序设计》第2周学习总结
第2周作业-Java基本语法与类库 1. 本周学习总结 1.学会使用码云管理代码: 2.学会使用Eclipse关联jdk源代码,并查看对象的源代码: 3.学会String类和StringBuilder ...
- Swing-JDialog示例代码-用户登陆UI
JDialog是一种对话框组件,它常常与JOptionPane配合使用.JOptionPane提供对话框内部的消息.按钮等内容,JDialog提供对话框窗体,提供模态/非模态等属性.JDialog与J ...