超值赛题分享大礼包,你的“六一”礼物来咯!

2020腾讯广告算法大赛初赛正在紧张而又激烈的进行中,我们邀请前两周的周冠军为参赛选手准备了一份实用赛题干货分享,希望给大家一些参考和借鉴,助你轻松高效应战!

大家好,我是王贺,在本届腾讯广告算法大赛初赛阶段的得分为1.458744,暂列排行榜第一名。上一次分享的文章——《大神干货:冠军选手分享解题思路,助你轻松突围初赛》,是否对大家上分有所帮助?这一次我又结合之前的实战经验,总结了一些赛题思路以供参考和讨论。

01

特征提取

CountVectorizer, TfidfVectorizer

可以考虑词频统计特征,保留用户历史序列中的所有点击ID信息,当然tfidf也可以一起使用,这样下来会有90多w维;也可以考虑在参数上进行设置,如max_feature和min_df,以减少维度。可以考虑对所有ID类特征都进行这样的操作。

梳理下我们还有哪些特征可以加的,我想到的其实并不多,对于有效的特征会进行一系列的扩展,比如提取用户行为序列中creative_id的向量表示,可以使用不同的embedding方式,基本的glove、word2vec、deepwalk或者fasttext都是可以尝试的。对于tfidf后的结果进行主题分类,基本的SVD、LDA、NMF也都有尝试。

02

后处理方法

后处理方法还是有千分位的提升,方法比较简单,在很多分类问题中都会产生奇效。下面给出优化过程,对应本赛题,输入的概率矩阵是n*10。
超值赛题分享大礼包,你的“六一”礼物来咯!

03

模型选择

Lightgbm:使用起来非常方便,不过很难往高分突破,用来进行融合还是蛮不错的。另外,在实践中使用gender的概率结果进行融合不能产生正向的效果,建议仅使用age的概率结果与nn进行融合。

BiLSTM:我们首先选取三个比较强的ID特征,例如creative_id,ad_id和advertiser_id(这是我所选择的三输入,当然还能进行更多尝试,或者进行ID交叉组合构建新的序列),然后进行word2vec预训练得到embedding向量,对应三个bilstm层。对于其它构造出来的特征对应Dense层,最后进行concat。结构非常简单,收益也是非常高的。

经过bilstm后进行mean pooling或者max pooling,可以进一步考虑bilstm后接attention层。然后与其它特征concat后,再经过几层的mlp后作为接sigmoid或者softmax得到最终结果。

像attention、gru、lstm等操作基本上已经成为这道赛题的标配,暴力尝试组合就常常会有效果,如同堆积木一样,使用这些通用方式能堆出你想要的结构。

DIN:序列建模,我们可以将本赛题任务转化为CTR问题,模型能够利用用户行为序列有效地刻画用户的行为兴趣,在用户行为丰富的情况下,有效利用用户历史行为数据精准地预估CTR(age/gender)。DIN引入attention模块,对用户行为序列中的embedding向量进行weighted-sum pooling。

最后祝各位取得优异成绩。

这份赛题大礼是否直击你的需求,让你有种茅塞顿开的感觉?希望各位选手再接再厉,继续享受这场技术人专属的竞技盛宴,取得优异的成绩!

扫码加入大赛官方QQ群

或搜索群号:1094257162

和小伙伴一起解锁更多内容超值赛题分享大礼包,你的“六一”礼物来咯!