Practical Lessons from Predicting Clicks on Ads at Facebook读书笔记

Practical

Lessons from Predicting Clicks on Ads at Facebook读书笔记

高英男

         最近阅读了一篇关于数据挖掘的高引论文:Practical Lessons from Predicting Clicks on Ads at Facebook,文章通过引入社交平台Facebook的广告点击预测问题,提出了一种将决策树(GBDT)和逻辑回归(LR)融合的新模型,新模型的预测效果比单一模型提高了3%,得到了很好的效果。文章从数据集准备、评估指标、混合模型的原理、结构和一个在线训练的实验系统等多方面阐述一个预测模型从构思到训练最终得出结果的全过程,让我很受启发,将来可以参考这篇文章来建立和验证自己的模型。文章的最后讨论了影响预测效果的因素,最重要的两个因素是选择正确的特征和模型,其他因素对预测效果的影响很小。

         文章的第一章介绍了数字广告的庞大商业价值和广告点击预测的重要性,准确地投用户喜爱的广告能以最低的成本达到最大的价值。谷歌和微软都有自己的点击预测模型和广告拍卖系统。与谷歌微软不同的是,Facebook公司所使用的点击预测模型不是和查询关联,而是通过统计人口和兴趣确定目标,因此Facebook投放的广告更加符合用户的兴趣和口味。文章通过重点介绍了点击预测系统的核心部分:预测模型,分享从实验和应用中的经验和见解。

         第二章介绍了训练集和验证集的构建,以及评估预测效果的指标。文章将2013年第四周的数据下载作为离线数据集,并将其分为训练数据和测试数据。评估指标有两个:Normalized

Entropy和Calibration。

       第三章提出了一种混合结构的预测模型:决策树和逻辑回归的混合模型。该模型的结构图如下图1.1所示:


图1.1 决策树和逻辑回归的混合模型结构

该模型使用决策树转换输入的特征,将每个决策树的输出作为线性回归分类器的输入。由于线性回归模型的表达能力不够,需要将特征先进行转换。第一种方法是对连续的特征进行分段处理(怎样分段,以及分段的分界点是很重要的);第二种方法是进行特征组合,包括对离散的特征做笛卡尔积,或者对连续的特征使用联合分段,比如使用k-d tree。而使用GBDT能作为一种很好的特征转换的工具,我们可以把GBDT中的每棵树作为一种类别的特征,把一个实例数据经过GBDT的流程(即从根节点一直往下分叉到一个特定的叶子节点)作为一个特征的特征组合的过程。这一部分是本篇文章的重点,基于此模型实现的点击预测系统比单一模型的预测效果提升3%。

         在第三章的第二小节讨论了数据的新鲜程度对预测效果的影响,表示数据产生的日期越近,预测的效果越好。根据这一结论,作者提出了一个在线学习方法训练学习器。第三小节讨论了线性回归模型中learning rate的选择,通过对比发现Per-coordinate learning rate拥有最好的预测效果。同时文章中还对比了SGD-based

LR和BOPR两种模型,SGD-based LR有模型参数少,内存占用少,计算速度快的优点。而BOPR则可以得到完整的预测点击概率分布。

         基于第三章第二小节讨论得出的结论,越新鲜的数据训练出来的模型预测的效果越好,因此作者提出了一个在线学习方法学习器。在第四章中介绍一了个实验系统,可以生成实时训练数据以用于通过在线学习的方式训练线性模型。这个系统的要点主要有在线地将标签和特征对应起来,同时还有选取正负样本的方法,以及等待用户点击的时间窗选择,当时间窗过小时点击拼接不上,过大需要更多存储且时效性差。除此之外,实验系统还需要做保护机制,当点击数据流卡住时,需要将数据拼接器和训练器断开连接。

       第五章中作者讨论了几个因素对预测效果的影响。首先是树的数量对预测效果的影响,作者发现树的数量不是越多越好,效果的提升大多来自前500棵树。接下来作者发现特征的数量对预测结果的影响与树的数量类似,10个特征就能提供约一半的特征重要性,特征数量的增多对效果的增强有衰减的特性。最后,作者研究了历史性特征(HistoricalFeatures)和上下文特征(ContextualFeatures)对预测结果的影响。历史性特征与累计点击数相关,上下文特征与时间、日期相关。作者发现历史性特征比上下文特征提供更多地解释性,前十个重要的特征全部都是历史性特征。但是上下文特征依然对预测结果有不可或缺的影响,因为上下文特征在处理冷启动问题时非常有效,对于新用户和广告的预测非常重要。

       最后,作者讨论了对样本采样的方法以及其对预测效果的影响。作者使用了三种采样方法,其中使用Uniform

subsampling方法时数据量越大效果越好,但是会有衰减,增加10%的数据量只能提高1%的效果。使用Negative down sampling方法时最佳的采样率是0.025。Model

Re-Calibration方法由于是负采样,需要使用ctr进行校准。

你可能感兴趣的:(Practical Lessons from Predicting Clicks on Ads at Facebook读书笔记)