【SPA 大赛】简述一些平滑方法在 CTR 预估中的应用

在网络广告投放指标评估中,CTR(click-through rate)是众多有效的评估手段中的一种,而预测CTR也是数据挖掘上一个热门的领域,在腾讯TSA举办的SPA大赛中,预测移动APP广告转化率,也有一定的相关性,所以前人在预测CTR中用到的方法也很值得在这次比赛中借鉴与学习。而对CTR的平滑处理这是这些方法的其中一种,并且在初赛实践中发现,平滑处理后相较于未平滑处理有0.0005~0.002之间的分数提升(这里面的区别跟统计的方法,还有参数设置等等有关,笔者也没有特别的把握,加了就能有这样的提升)下面文章将分三个方面:1、为什么要加入平滑处理 2、相关细节介绍 3、针对天数不同可以做的额外处理。

一、为什么要加入平滑处理

首先,我们在进行CTR预测时常常会加入一个广告ID或者用户等等过去的转换率作为特征,并且这个特征往往在最后训练中占有较大的权重,但是简单的计算转换率往往会由较大的方差。如:广告A过去被看到200次,而被转换了4次,最后的转换率是2%,广告B被点击了10次,转换了0次,转换率是0%,我们是否就能得出A的转换率比B高呢,我想这里面的稳定性是很低的。

并且时常会出现,近期新出现的广告需要预测,而这类广告的历史出现次数都是很低的。而这时候就需要平滑点击次数少的广告,降低低点击次数的噪音,并且避免对样本多的数据造成较大的影响。

二、相关细节介绍

(1)Add-Lambda Smoothing

首先介绍最简单的Smoothing 方法,

,其中将分子与分母加上lambda(如0.001、1、10等),这样就能够避免上面讲到的,因为没有被点击过而有可能错误的将其点击率估计为0%。

然而Add-One Smoothing 也有它的弊端,即使加上1之后,因为样本少的原因,这样计算出来的点击率仍旧是存在较大的方差的。

(2)Additive smoothing and generalized to the case of known incidence rates

当我们除了这个特征以外,在其他特征上有对应较好的转换率作为先验的话,就可以将这个信息加入到我们的平滑方法中去,

μ = (μ1, …, μd)是对应的其他特征上的转换率。如在TPA比赛中,因为connectionType特征维度低,样本数量够大,我们可以将connectionType的转换率作为我们的μ,使得我们平滑后的转换率噪音更低,避免了过拟合并且符合真实情况,而这个方法也是笔者在Owenzhang在kaggle avazu 上的solution中学到的,读者可以前往进行深入的学习。但是这里仍然存在一个问题,这里的lambda到底要设多少,我也没有很好的解决方案(如果读者有更好的想法,欢迎交流),可能这里也是需要调参的地方,而这会花费大量的时间。

三、针对天数不同可以做的额外处理

首先,我们在统计前几天转换率时,大部分时间我们是对天数统一看待,每一天在统计转换率的权重都是相同的,而真实情况下,前一天的转换率相较于再前一天的转换率有更高的可信度,此时我们可以给每一天设置一定的权重,并增加近期转化率的权重,降低较远时间上转化率的权重,以使得构造的特征更具有可信度。而这个方法是在 Yahoo实验室发的一篇关于CTR的paper上看到的1具体方法,可以前往查看。

(PS:笔者在使用这个方法上得到的提升没有上面的方法得到的提升更有效)

最后,因为刚接触CTR比赛的原因,所以上面的一些见解可能存在偏颇,所以,若有发现,希望能够指出,并希望在比赛中,能够与伙伴们一同进步。

Reference Link:

1.http://cs229.stanford.edu/notes/cs229-notes2.pdf 2.https://www.cs.jhu.edu/~jason/465/PowerPoint/lect05-smoothing.ppt 3.http://www.cs.cmu.edu/~xuerui/papers/ctr.pdf 4.https://github.com/owenzhang/kaggle-avazu

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

连庆的专栏

1 篇文章1 人订阅

我来说两句

1 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

自己动手写推荐系统

在下面介绍的做推荐系统的流程中,我只是想给大家介绍个普通的推荐系统该怎么做,所以很多地方都有偷懒,还请大家见谅。而且由于我不是做的在线的推荐系统,而是属于隔天...

3458
来自专栏美团技术团队

外卖订单量预测异常报警模型实践

前言 外卖业务的快速发展对系统稳定性提出了更高的要求,每一次订单量大盘的异常波动,都需要做出及时的应对,以保证系统的整体稳定性。如何做出较为准确的波动预警,显得...

4793
来自专栏灯塔大数据

每周学点大数据 | No.44 MapReduce 图算法概述

No.43期 MapReduce 图算法概述 Mr. 王:MapReduce 作为一种经典的并行编程框架,可以用于解决很多问题,包括一些图论问题。在客观世界...

3345
来自专栏机器之心

KDD2018 | 电商搜索场景中的强化排序学习:形式化、理论分析以及应用

(1)对电商搜索场景中的多步排序问题进行形式化描述,定义搜索会话马尔科夫决策过程问题模型(Search Session Markov Decision Proc...

1012
来自专栏新智元

谷歌开源超大型视频数据库,含800万视频 (附技术报告)

9月28日,谷歌在官方博客上宣布,将含有800万个Youtube 视频URL 的视频数据库开源,视频总时长达到了50万个小时。一并发布的还有从包含了4800个知...

3456
来自专栏美团技术团队

美团技术团队博客:推荐算法实践

前言 推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。 随着互联网的深...

38211
来自专栏机器之心

学界 | Michael Jordan新研究官方解读:如何有效地避开鞍点

选自BAIR 作者:ChiJin、Michael Jordan 机器之心编译 参与:Panda 今年三月,机器学习领域泰斗级学者 Michael I. Jord...

2908
来自专栏PPV课数据科学社区

【学习】推荐算法实践

前言 推荐系统并不是新鲜的事物,在很久之前就存在,但是推荐系统真正进入人们的视野,并且作为一个重要的模块存在于各个互联网公司,还是近几年的事情。 随着互联网的深...

2733
来自专栏新智元

【揭秘】美团如何用机器学习优化推荐系统算法

本文介绍了美团网推荐系统的构建和优化过程中的一些做法,包括数据层、触发层、融合过滤层和排序层五个层次,采用了HBase、Hive、storm、Spark和机器学...

3356
来自专栏深度学习自然语言处理

【机器学习】如何处理数据不均衡问题

那么如果你随便在大街上找一个人,预测他是喜欢吃梨还是苹果?肯定的,傻子都知道猜他喜欢吃梨呀。因为这样基本不用学习什么知识,就能将准确率控制在90%左右。

743

扫码关注云+社区