2020腾讯广告算法大赛:高分进阶

巧了我就是萌 提交于 2020-12-05 04:23:10


写在前面

最近腾讯赛分享成为“Coggle数据科学”的主推文章,从筹备竞赛到逐步上分之路的分享,助力大家取得优异成绩。当然,这也将延续到大赛结束。持续关注Coggle,大家一起学起来~

上回说到如何晋升到尊贵白金,发现很多同学在这个阶段遇到很多问题,在开启新的征程前,我们一起先来看看可能遇到的问题。
1. TF-IDF细节
第一个是内存问题,这里可以对参数做些调整,比如max_features=100000,最后仅选出100000列。
第二个是tfidf的id类特征选择,凡是id类的都可以进行tfidf,我连time都加进去了。
2. 五折交叉统计
这里可以考虑将年龄和性别进行one-hot,然后统计每一个类别的概率,主键可以是任意id类特征,当然也可以进行交叉组合后的id特征。
在本文中,Coggle的目标是带领大家突破1.42分,同时对于1.42之后的提升,比如1.43,或者1.43+,也会给出更多建议和思考方向。
每个分数阶段都有不同的知识点需要去学习,在这次历程中,我们一起探寻永恒钻石和至尊星耀的上分之路。

永恒钻石

分数达到1.41,更多特征工程技巧,后处理方法
梳理下我们还有哪些特征可以加的,我想到的其实并不多,对于有效的特征会进行一系列的扩展,比如提取用户行为序列中 creative_id的向量表示,可以使用不同的embedding方式,基本的word2vec、deepwalk或者fasttext都是取尝试的。对于tfidf后的结果进行主题分类,基本的SVD、LDA、NMF也都有尝试。
后处理方法在目前阶段还是有千分位的提升,方法比较简单,在很多分类问题中都会产生奇效。下面给出优化过程,对应本赛题,输入的概率矩阵是n*10。


至尊星耀

分数达到1.42,你该有一个好的nn结构
简单的三输入,在加上我之前提到的特征,轻轻松松达到1.42+的分数,结构也是非常的简单。我们首先选取三个比较强的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等操作基本上已经成为这道赛题的标配,暴力尝试组合就常常会有效果,就如同堆积木一样,使用这些通用方式堆出你想要的结构。
在之后的文章还将 " 可能 "分享最强王者段位的上分之路,希望大家持续关注。Coogle也将带来更多干货分享!!!


更多学习资料



历届腾讯赛答辩PPT获取

关注我们并后台回复【2020腾讯赛

加负责人微信后,回复关键词 -竞赛 即可进群。



长按识别下方二维码关注公众号,然后在后台回复“加群”即可加入AI交流群

本文分享自微信公众号 - 从数据分析到人工智能(close_3232479263)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!