【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 条评论
登录 后参与评论

相关文章

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

机器学习和统计模型的差异

在各种各样的数据科学论坛上这样一个问题经常被问到——机器学习和统计模型的差别是什么? 这确实是一个难以回答的问题。考虑到机器学习和统计模型解决问题的相似性,两者...

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

这是一份「不正经」的深度学习简述

作为人工智能领域里最热门的概念,深度学习会在未来对我们的生活产生显著的影响,或许现在已经是了,从 AlphaGo 到 iPhone X 上的人脸识别(FaceI...

2915
来自专栏AI科技评论

大会 | 腾讯优图CVPR 2018论文:图片去模糊及快速肖像处理等多项技术解读

AI 科技评论按:CVPR 2018 将在美国盐湖城举行。腾讯优图实验室继在 ICCV 有 12 篇论文被收录(含 3 篇口头报告)后,在今年的 CVPR 20...

1052
来自专栏AI科技评论

学界 | François Chollet谈深度学习的局限性和未来(上)

AI 科技评论按:本文来自 Keras 作者 François Chollet,同时也是根据他撰写的《Deeping Learning with Python》...

863
来自专栏钱塘大数据

IBM长文解读人工智能、机器学习和认知计算

人工智能的发展曾经经历过几次起起伏伏,近来在深度学习技术的推动下又迎来了一波新的前所未有的高潮。近日,IBM 官网发表了一篇概述文章,对人工智能技术的发展过程进...

34213
来自专栏人工智能头条

OpenAI NLP最新进展:通过无监督学习提升语言理解

651
来自专栏专知

深度强化学习在NLP怎么用?看清华黄民烈老师这一份120页《自然语言处理和搜索中的深度强化学习应用》讲义

【导读】深度强化学习(Deep Reinforcement Learning - DRL)是机器学习领域发展迅速的一类算法,广泛应用在决策类任务中,如Alpha...

1374
来自专栏大数据文摘

DeepMind:深度学习原理初探

1344
来自专栏人工智能

技术词条 机器学习篇

机器学习(Machine Learning) ? 解释讲述人工智能领域内的专业词汇和算法,是AI君在2018年最先要做的事情,我们第一个要讲的就是大名鼎鼎的“机...

2315
来自专栏机器之心

深度 | 迁移学习全面概述:从基本概念到相关研究

选自sebastianruder.com 作者:Sebastian Ruder 机器之心编译 参与:马亚雄、吴攀、李亚洲 将在一个场景中学习到的知识迁移到另一个...

2717

扫码关注云+社区