ABSTRACT

这篇paper中作者结合GBDT和LR,取得了很好的效果,比单个模型的效果高出3%。随后作者研究了对整体预测系统产生影响的几个因素,发现Feature+Model的贡献程度最大,而其他因素的影响则较小。

1. INTRODUCTION

介绍了先前的一些相关paper。包括Google,Yahoo,MS的关于CTR Model方面的paper。

而在Facebook,广告系统是由级联型的分类器(a cascade of classifiers)组成,而本篇paper讨论的CTR Model则是这个cascade classifiers的最后一环节。

2. EXPERIMENTAL SETUP

作者介绍了如何构建training data和testing data,以及Evaluation Metrics。包括Normalized Entropy和Calibration。

Normalized Entropy的定义为每次展现时预测得到的log loss的平均值,除以对整个数据集的平均log loss值。之所以需要除以整个数据集的平均log loss值,是因为backgroud CTR越接近于0或1,则越容易预测取得较好的log loss值,而做了normalization后,NE便会对backgroud CTR不敏感了。这个Normalized Entropy值越低,则说明预测的效果越好。下面列出表达式:

Calibration的定义为预估CTR除以真实CTR,即预测的点击数除以真实观察到的点击数。这个值越接近1,则表明预测效果越好。

3. PREDICTION MODEL STRUCTURE

作者介绍了两种Online Learning的方法。包括Stochastic Gradient Descent(SGD)-based LR:

和Bayesian online learning scheme for probit regression(BOPR):

BOPR每轮迭代时的更新公式为:

3.1 Decision tree feature transforms

Linear Model的表达能力不够,需要feature transformation。第一种方法是对连续feature进行分段处理;第二种方法是进行特征组合,包括对离散feature做笛卡尔积,或者对连续feature使用联合分段(joint binning),比如使用k-d tree。

而使用GBDT能作为一种很好的feature transformation的工具,我们可以把GBDT中的每棵树作为一种类别的feature,把一个instance经过GBDT的流程(即从根节点一直往下分叉到一个特定的叶子节点)作为一个instance的特征组合的过程。这里GBDT采用的是Gradient Boosting Machine + L2-TreeBoost算法。这里是本篇paper的重点部分,放一张经典的原图:

3.2 Data freshness

探讨了data freshness对预测效果的影响,表明training data的日期越靠近,效果越好。

3.3 Online linear classifier

探讨了对SGD-based LR中learning rate的选择。最好的选择为:

4 ONLINE DATA JOINER

Online Data Joiner主要是用于在线的将label与相应的features进行join。同时作者也介绍了正负样本的选取方式,以及选取负样本时候的waiting time window的选择。

5 CONTAINING MEMORY AND LATENCY

作者探讨了GBDT中tree的个数,各种类型的features(包括contextual features和historical features),对预测效果的影响。

6 COPYING WITH MASSIVE TRANING DATA

作者探讨了如何进行样本采样的过程,包括了均匀采样(Uniform subsampling),和负样本降采样(Negative down sampling),以及对预测效果的影响。

版权声明:

本文由笨兔勿应所有,发布于http://www.cnblogs.com/bentuwuying。如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任。

[笔记]Practical Lessons from Predicting Clicks on Ads at Facebook的更多相关文章

  1. Practical Lessons from Predicting Clicks on Ads at Facebook (2014)论文阅读

    文章链接: https://quinonero.net/Publications/predicting-clicks-facebook.pdf abstract Facebook日活跃度7.5亿,活跃 ...

  2. Practical Lessons from Predicting Clicks on Ads at Facebook

    ABSTRACT 这篇paper中作者结合GBDT和LR,取得了很好的效果,比单个模型的效果高出3%.随后作者研究了对整体预测系统产生影响的几个因素,发现Feature(能挖掘出用户和广告的历史信息) ...

  3. 广告点击率 CTR预估中GBDT与LR融合方案

    http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate Pred ...

  4. 利用GBDT模型构造新特征具体方法

    利用GBDT模型构造新特征具体方法 数据挖掘入门与实战  公众号: datadw   实际问题中,可直接用于机器学**模型的特征往往并不多.能否从"混乱"的原始log中挖掘到有用的 ...

  5. ML学习分享系列(2)_计算广告小窥[中]

    原作:面包包包包包包 改动:寒小阳 && 龙心尘 时间:2016年2月 出处:http://blog.csdn.net/Breada/article/details/50697030 ...

  6. 用深度学习(DNN)构建推荐系统 - Deep Neural Networks for YouTube Recommendations论文精读

    虽然国内必须FQ才能登录YouTube,但想必大家都知道这个网站.基本上算是世界范围内视频领域的最大的网站了,坐拥10亿量级的用户,网站内的视频推荐自然是一个非常重要的功能.本文就focus在YouT ...

  7. GBDT原理及利用GBDT构造新的特征-Python实现

    1. 背景 1.1 Gradient Boosting Gradient Boosting是一种Boosting的方法,它主要的思想是,每一次建立模型是在之前建立模型损失函数的梯度下降方向.损失函数是 ...

  8. 机器学习算法GBDT

    http://www-personal.umich.edu/~jizhu/jizhu/wuke/Friedman-AoS01.pdf https://www.cnblogs.com/bentuwuyi ...

  9. 主流CTR预估模型的演化及对比

    https://zhuanlan.zhihu.com/p/35465875 学习和预测用户的反馈对于个性化推荐.信息检索和在线广告等领域都有着极其重要的作用.在这些领域,用户的反馈行为包括点击.收藏. ...

随机推荐

  1. /home 和 /root

    /root     Linux超级权限用户root的家目录./home 如果我们建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用 ...

  2. python 基础学习-总结1

    1.Python 简介 易学易懂,语法简单 不需编译,即可运行 比其他语言更简洁 不需要管理内存 1.1 什么是Python? python 是由Guido.van.Rossum于1989年始创,其根 ...

  3. myeclipse6.0安装svn插件

    myeclipse6.0安装svn插件 转载地址:http://www.cnblogs.com/danica/archive/2011/07/12/2104323.html myeclipse6.0安 ...

  4. 为什么 把单一元素的数组放在一个struct的尾端问题

    问题摘自<深度探究c++对象模型>: struct mumble { /* stuff */ char pc[ 1 ];};[sizeof(mumble)是一个字节 .pc则代表的是指向这 ...

  5. zTree模糊查询人员姓名:getNodesByParamFuzzy

    以前使用zTree,不知道有getNodesByParamFuzzy这个模糊查询的方法,所以用了比较笨的方法,比如:功能要求(模糊查询人员姓名),先获得用户输入的名称,然后到数据库或者缓存中去查找,然 ...

  6. RMIC命令提示找不到类的问题

    问题环境: RMI服务类已经写好. 目录结构: -- A ----- B -------- C ------------- RMIImpl.class RMIImpl.java : package B ...

  7. 第一百零六节,JavaScript变量作用域及内存

    JavaScript变量作用域及内存 学习要点: 1.变量及作用域 2.内存问题 JavaScript的变量与其他语言的变量有很大区别.JavaScript变量是松散型的(不强制类型)本质,决定了它只 ...

  8. 第一百零五节,JavaScript正则表达式

    JavaScript正则表达式 学习要点: 1.什么是正则表达式 2.创建正则表达式 3.获取控制 4.常用的正则 假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一 ...

  9. [妙味JS基础]第三课:自定义属性、索引值

    知识点总结 自定义属性 元素.自定义属性 = 值: 比如: oDiv.abc = 100; =>abc为自定义属性 索引值 index  =>也是自定义属性 oDiv.index = '' ...

  10. spring的@Transactional注解详细用法

    概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性.Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型, ...