力美大事记

联系公关团队

mail:pr@limei.com

狮猿汇:浅谈点击率(CTR)预估

在上篇文章《浅析RTB的竞价策略》中谈到,受限点击成本出价策略会依赖一个预估的点击率(CTR)值,如果对CTR预估的值偏低,那么出价就会相对保守,难以覆盖足够多的目标受众;反之,如果对CTR预估偏高,那出价就会相对激进,造成ECPC太高成本浪费。从这个角度来来看,CTR的准确预估就显得非常重要。

我们先看一下世界上各大在线广告巨头如何来进行CTR预估的,Google基于《Ad Click Prediction:a View from the Trenches》,整体上使用LR(逻辑回归),通过Follow-The-Regularized-Leader (FTRL) Proximal来实现模型更新,属于频率主义学派。Google AdWords 使用的正是这种模型,这个模型有上千亿的特征,每个人、每个广告、每个query的组合都在其中,使用较为简单的逻辑回归模型,属于典型的“复杂特征+简单模型”的思路。微软公司则是基于Web-Scale Bayesian Click-Through Rate Prediction forSponsored Search Advertising in Microsoft’s Bing Search Engine, 属于贝叶斯学派基于贝叶斯推理:首先基于一些假设的先验分布,通过The approximate messagepassing algorithm 算法使用数据来近似计算后验概率,并更新特征权重的均值和方差,然后将这些新的参数用作下一轮的先验分布,来指导、计算新的后验分布。这种模型非常强大,从理论上克服了频率派机器学习算法对数据的拟合问题,同时又可以model每个特征的置信度,属于“宏观特征+复杂模型”的思路。

大体而言,目前行业通用的是宽度模型即“复杂特征+简单模型”,如google;另一种是深度模型即“宏观特征+复杂模型”,如雅虎、微软等,到底哪种思路更好?其实,没有哪一条更好。Wolpert和 Macready 在1995 年提出一个定理,No Free-Lunch Theory,他们证明,对于任意算法或优化算法 A 与 B,如果在某一种损失函数上 A 优于B,则一定存在另一个损失函数保证 B 优于 A。更直观的描述是,总能找出一个损失函数让任何算法都比随机猜更好,我们一定要根据自己的业务情况有所取舍。

不同业务使用不同的模型,不同的模型有不同的特点。对比宽度模型与深度模型发现,宽度模型有比较准确的记忆能力,深度模型有比较强的推理能力;宽度模型可以记录行为历史,在什么情况下点过什么广告,深度模型会推理出下次可能喜欢哪一类东西;宽度模型是依靠层次化特征进行泛化,虽说特征很多,但每一个预估、为什么有这样的预估、原因是什么,可以非常清晰的解释,而深度模型相对较难解释,你很难知道为什么给出这样的预估;宽度模型对平台、对工程要求非常高,需要训练数据非常多、特征非常多,对计算能力要求很高;深度模型对训练数据、对整个模型要求相对较低。

力美科技科技作为中国领先的程序化广告技术公司,综合考虑目前行业有限的计算资源和工程实现情况,我们选择深度模型,使用较为宏观的统计特征+较为复杂的模型,同样基于Web-Scale Bayesian Click-ThroughRate Prediction for Sponsored Search Advertising in Microsoft’s Bing SearchEngine的理论,我们实现了较为准确的CTR预估,以AUC作为衡量指标的话,目前能稳定在0.85以上,预估相对准确,也正基于此,我们的受限点击成本出价非常有效,既保证了对目标受众的足够覆盖,也大大降低出价成本,为广告主竞得更具性价比的优质流量。

欢迎各位工程狮、程序猿留言交流。