一文梳理2019年腾讯广告算法大赛冠军方案

2019 年 9 月 29 日 新智元



  新智元推荐  

来源:DataWhale

作者:曹文财

整理编译:元子

【新智元导读】作为从本次比赛共157队伍中脱颖而出的冠军方案,评分达到87.9683,从数据清洗、模型构建、目标优化等有非常多值得学习的地方。比赛团队也挺有意思,分别来自哈工大、微软研究院和京东,算是学术界和工业界的强强联合,在多个数据竞赛中都有不错的名次。


作为从本次比赛共157队伍中脱颖而出的冠军方案,评分达到87.9683,从数据清洗、模型构建、目标优化等有非常多值得学习的地方。


比赛团队也挺有意思,分别来自哈工大、微软研究院和京东,算是学术界和工业界的强强联合,在多个数据竞赛中都有不错的名次。

评委:“这是最接近腾讯真实业务的方案。”


本文将从源码着手,深度解读该冠军方案是如何一步步从rough data清洗、特征工程到运用多种模型融合实现最佳效果的。作为一名数据竞赛经验薄浅的算法工程师,期望尽可能的将里面涉及到的知识、技巧、模型、算法作一个细致的总结


背景介绍

作为国内领先的大数据营销平台,全新升级的腾讯广告,以更强大的全景连接、更全链的数字智慧、更友好的人本体验等三大核心能力,构建品牌与用户的智慧连接,助力广告主高效实现商业增长。


而复杂的社交场景,多样的广告形态,以及庞大的人群数据,给实现这一目标带来了不小的挑战。为攻克这些挑战,腾讯广告也在不断地寻找更为优秀的数据挖掘方式和机器学习算法。


本次算法大赛[1]的题目是源于腾讯广告业务中一个面向广告主服务的真实业务产品 ——广告曝光预估。


广告曝光预估的目的是在广告主创建新广告和修改广告设置时,为广告主提供未来的广告曝光效果参考。通过这个预估参考,广告主能避免盲目的优化尝试,有效缩短广告的优化周期,降低试错成本,使广告效果尽快达到广告主的预期范围。


比赛中使用的数据经过脱敏处理,通过本次大赛,我们旨在挑选出更为优秀的曝光预估算法以及遴选出杰出的社交广告算法达人。


比赛赛题

数据
主要是三个日志文件,分别为:

  • 历史日志数据:广告请求时间、用户 id、广告位 id、竞价广告信息等

  • 用户信息数据:用户 id、年龄、性别、地域、行为兴趣等

  • 广告设置:广告操作信息、广告静态信息


目标


本次竞赛提供历史 n 天的曝光广告的数据(特定流量上采样),包括对应每次曝光的流量特征(用户属性和广告位等时空信息)以及曝光广告的设置和竞争力分数;测试集是新的一批广告设置(有完全新的广告id,也有老的广告id修改了设置),要求预估这批广告的日曝光。


评价指标


评价指标由两部分组成,准确性指标和出价单调性指标。准确性指标SMAPE衡量了预测的准确度: