华为digix算法大赛2020机器学习赛道-ctr预估初赛/决赛rank1

本文分享华为赛ctr题目方案,包括赛题理解、特征工程和算法实现。重点探索冷启动问题,分析新用户异常,发现测试集冷启动用户比例和日曝光与训练集差异大。提出分布调整方案,如负采样、分布迁移、特征弱化和GNN传递,有效提升成绩,最后总结方案亮点与不足。

写在前面

华为赛(链接)终于是结束了。今年由于疫情原因,线下决赛搬到了线上进行,答辩的时候才去南京。决赛打榜在我们熟悉的环境进行,也给了足足5天时间,所以对我们还是有点好处的。最后队友比较给力,稳住了初赛的成绩,南京答辩也一切顺利,拿到了最后机器学习赛道的冠军。这里偷偷插一句,现场答辩的时候我还是很亢奋的,结果到最后颁奖的时候就紧张了,担心会被逆袭,还好最后的结果还是好的,哈哈哈。

比赛结束后自然是要分享和开源方案。此前初赛结束的时候就分享过搜索相关性题目的方案和开源代码。这里就来讲一下我们ctr题目的方案,整体顺序将依托于我们答辩ppt进行。开源代码地址为链接,欢迎各位大佬来star!

1.比赛成绩

本次华为赛的机器学习赛道在初赛的时候包含两个题目:ctr预估和搜索相关性预测。我们在两个题目的A/B榜上都保持了长久的第一,其中ctr预估题目的第一名从8月24日持续到9月30日,搜索相关性预测题目的第一名从8月25日持续到9月30日。(这里时间差一天是因为我们在8.24登顶ctr题之后才开始做搜索题,然后在第二天登顶)

决赛的时候只做ctr题,在A榜阶段我们掉到了第二,B榜的时候才回到第一。其实当时A榜的时候感觉都要凉了,还好最后B榜给机会了( ̄▽ ̄)"

2.基础方案

2.1.赛题理解

本次ctr预估题目非常传统,给定前7天内每条曝光的点击行为,预测将来某一天内曝光的点击率,评价指标AUC。数据集划分如下:

初赛阶段:训练集1-7天,A榜测试集第8天,B榜测试集第9天。

决赛阶段:训练集1-7天,A榜测试集第8天,B榜测试集第10天。

具体的特征可以看一下官网的描述,我们这里稍微统计了一下,将特征根据内容划分为用户、广告、媒体三方面特征,也可根据数据类型划分为ID特征和连续特征。

数据
其中,关注的重点在于用户特征和ID特征。

2.2.特征工程

我们使用的特征工程非常的常规,以至于大家看完可能都会说一句:就这?包含四个特征:曝光特征、交叉特征、ctr特征、embedding特征:

曝光特征:统计所有ID类特征在8天内的曝光次数(即count特征)

交叉特征:统计用户ID与所有广告侧ID、广告ID与所有用户侧ID的类别交叉,如某个用户ID曝光过多少不同的广告ID(即nunique特征)

CTR特征:统计所有ID类特征前所有天的历史点击率

embedding特征:构建广告曝光序列,训练word2vector得到广告表征,平均广告表征得到用户表征

embedding
对于这些特征,还可以采取用滑窗的方式来统计,效果不一定更好,不过会有一定差异性。

在B榜阶段,由于测试集是第9天或者第10天,与前7天的训

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值