【SPA大赛】移动app广告转化率预估算法优化思路及解决办法

一、引言

本次腾讯社交广告算法大赛以移动app广告转化率预估为背景,以移动App广告为研究对象,预测App广告点击后被激活的概率:pCVR=P(conversion=1 | Ad,User,Context),即给定广告、用户和上下文情况下广告被点击后发生激活的概率。大赛为我们提供了非常珍贵的真实数据,使得我们有机会把平时所接触到的理论加以实践,下面我们分享一些我们参赛过程中的心得体会。

二、数据,特征与模型

数据使用方面,几位周冠军同学都做了很好的分享,合理的选择线下测试集,使线下线上同步即可,唯一需要注意的就是数据的时序性,提取特征时要小心不要发生数据泄漏。在模型方面,因为之前没有转化率预测方面的经验,我们查看了kaggle上类似的几个比赛的成功经验,发现在这类问题上表现较好的大概有两类模型:ftrl与ffm这类针对id类稀疏特征的模型,以及xgboost这类主要采用dense特征的模型。

经过了一些尝试,我们发现ftrl,并没有取得预期的结果,这个不知道是我们的使用姿势不正确,还是app激活数据本身与广告ctr数据有所区别。后来通过同学们在公众号以及qq群中的分享,我们转向了xgboost模型,专注于点击数,激活数,转化率等各类统计特征,并进行组合特征的提取。这样粗暴的做法使得我们的特征维数很快就超过了100维,但是成绩并没有相应的提高,反而大大的增加了模型训练时间,于是我们开始着手精简手上的特征,精简的方式,一方面是通过查看xgboost的feature importance的结果,另一方面对于一些通过我们对业务的理解觉得重要的特征我们进行单独的验证,渐渐的我们的成绩有了提高。做特征时我觉得最重要的就是要细心,每一个细节可能都会有小小的提高。

这里分享一下我们最初做的数据分析:

初赛后期很多队伍进行了模型融合,取得了非常显著的提高,这里我们介绍一下我们的融合策略。我们分别尝试了模型加权平均,blending,stacking三种模型融合方式。采用融合的模型为xgboost模型,lightgbm模型以及scikit learn的ExtraTreesClassifier模型,对于不同的模型我们进一步的采取了不同的特征进行训练,进一步的增加模型的多样性。其中stacking方法提升最为显著,这里详细介绍一下。

相比于简单的模型加权平均以及blending,stacking可以更好的利用训练数据,这以 5-Fold Stacking 为例,说明下说明下我们的融合策略,train集上的操作如下图所示:

我们在stacking第一层选取xgboost1,xgboost2,lightgbm1,lightgbm2,ExtraTreesClassifier五个模型进行融合,上图即描述了具体的融合过程。对于模型1xgboost1,首先我们将训练数据随机的分成5份,用其中的4份数据(上图左侧蓝色部分)预测余下的1份数据(上图左侧黄色部分),重复上面过程5次,将5次预测结果放到一起就得到了上图中右侧的新特征1,对于五个要融合的模型重复上述过程,我们就的到了5维新特征。这5维度新特征将会在stacking第二层的中起到训练数据特征的作用。

对与test数据在是在stacking第二层的5维特征,我们通过下图方式得到:

以模型1xgboost1为例,上面已经说了在train集上用其中的4份数据预测余下的1份数据这个行为被重复了5次,每一次我们不止预测余下的1份数据,我们也对整个test数据集进行预测,这样我们就对test集预测了5次,对5次预测取平均,我们就得到了test集上的新特征1。对模型2到模型5我们在test集上重复上述过程,得到另外的4维特征。这样我们便在test集上得到了与train集上5维新特征对应的特征。在stacking第二层,我们依然选取xgboost模型,此时train和test集上的特征即为地一层stacking生成的新特征。

我们目前采取的融合策略还是相对简单的,模型数量和种类相对较少,所选模型都是tree based model,复赛中我们希望能结合ftrl,ffm等差异性较大的模型进行融合得到更好的结果。

三、展望

初赛已经接近了尾声,整个过程学到了非常多的知识,从特征的处理再到模型的选择,参数的调节,都有了更深的认识,非常感谢主办方能让我们接触到这么珍贵的数据,期待复赛更大数据给我们带来的挑战。

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

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

编辑于

何颖的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【新华网】新算法让机器像婴儿一样学习视觉世界

【新智元导读】 美国科学家日前报告说,他们从人类大脑的学习方式中获得灵感,研发出一种新的“深度学习”算法,可以让机器像人类婴儿一样自主学习视觉世界。 新华社洛杉...

3395
来自专栏数据科学与人工智能

【机器学习】一文读懂机器学习,大数据/自然语言处理/算法全有了……

作者:计算机的潜意识 在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是...

36210
来自专栏CDA数据分析师

一文读懂机器学习,大数据/自然语言处理/算法全都有!

在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外...

1888
来自专栏ATYUN订阅号

每个机器学习项目必须经过的五个阶段

机器学习和预测分析在我们今天的生活中非常普遍。它几乎可以影响我们所做的一切,包括零售和批发定价,消费者习惯和行为,市场营销,娱乐,医药,物流,游戏,AI语音识别...

3635
来自专栏华章科技

一文读懂机器学习,大数据/自然语言处理/算法全有了……

机器学习是什么,为什么它能有这么大的魔力,这些问题正是本文要回答的。同时,本文叫做“从机器学习谈起”,因此会以漫谈的形式介绍跟机器学习相关的所有内容,包括学科(...

801
来自专栏人工智能快报

科学家提出超越传统机器学习的量子算法

1499
来自专栏AI星球

从机器学习谈起

机器学习[Machine Learning]在当今社会的火热程度有目共睹,自己也一直想写一下自己对Machine Learning(简称ML)的认识,今天偶然看...

1053
来自专栏机器人网

AI科学家李飞飞告诉我们:超越 ImageNet 的视觉智能

说起人工智能,孕育了卷积神经网络和深度学习算法的 ImageNet 挑战赛恐怕是世界上最著名的 AI 数据集。8 年来,在 ImageNet 数据集的训练下,人...

1043
来自专栏专知

【深入浅出】一篇超棒的机器学习入门文章

【链接】http://www.cnblogs.com/subconscious/p/4107357.html 在本篇文章中,我将对机器学习做个概要的介绍。本文的...

3399
来自专栏智能算法

史上最强----机器学习经典总结---入门必读

导读:在本篇文章中,将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对...

3687

扫码关注云+社区