腾讯社交广告高校算法大赛决赛
第二周周冠军
他们的名字叫nju_newbiew
进入决赛之后他们的成绩是火速提升
直到稳定在第一名
这又是一支谜一般的队伍
今天小编就来给大家揭开神秘大佬的面纱
三个偶像与实力派兼顾的大男孩
祝贺你们
小编对咱们的周冠军同学进行了短暂的采访
于是就有了下面这篇分享
.....
周冠军 nju_newbiew
大家好, 我们是nju_newbiew队。 我们的队伍都来自于南京大学, 分别是yy, cold rain 和 sf。群里似乎有位大佬名字也是newbiew, 纯属巧合。 这里我们要为给这位大佬造成的困扰道歉。能够拿到这次比赛的周冠军, 我们感到非常幸运。 其实这个周冠军拿的也是比较勉强, 我们A榜的最佳成绩0.101717其实是多个模型的加权平均, 单模型最佳成绩并不优于后面的各位大佬, 可以说这个周冠军更多是因为我们模型融合的比较早而已。
言归正传, 下面我们分享一下比赛的心得:
1、数据处理
进入决赛后数据量变得很大, 文件读写很慢, 而且经常会导致内存不足。 所以我们会对原始数据简单处理一下, 能用int8存储的就用int8存储, 此外, 我们使用h5格式存储文件, 读写都非常快。 其次, 关于选用哪些数据进行训练。 目前, 我们是用全集进行训练的, 会删除一些异常数据, 相信大家稍微观察一下数据就可以发现这些异常数据。
2、线下验证集
相信大家都遇到了线下提升, 线上下降的情况。 构造线下的验证集确实是一件比较棘手的事, 我们的观点与上周的周冠军ThreeIdiots相同, 严格按照时序关系构造测试集, 否则容易发生信息泄露。 通常情况下, 我们会比较一组参数或模型在27号, 28号, 29号这三天分别作为测试集时的性能, 通过这样的方式, 我们线下与线上一致性还是挺强的, 不过仍然偶尔会出现相反的情况。
3、特征工程
特征这一块可以说是我们的短板, 至今还不懂群里各位大佬说的trick。 我们的特征主要是一些基本的统计信息, 最好的单模型用到的特征算上原始特征只有40几维。 关于群里讨论最多的转化率, 我们试过全局统计, 窗口统计, 平滑与不平滑, 并没有发现太多的差异性。 目前我们采用的转化率是统计点击日之前的转化率, 不统计出现次数过少的, 这么做纯粹是因为简单, 速度快, 而且在我们的实验里效果并不差于那些复杂的手段, 可能在我们的模型里转化率并不重要。 其次, 我们也尝试过使用Word2vec, Doc2vec等思想为user, app学习低维向量特征, 但实验结果都不太理想, 我们已经放弃了使用安装列表。
4、模型
再次与上周的周冠军ThreeIdiots一致, 我们初赛时使用了GBDT与FFM等模型, 发现线上GBDT的性能要好于FFM, 而决赛反了过来。 与大家关注于特征工程不同, 我们大多数时间都在进行模型调参和模型改进上面(纯粹是因为兴趣, 并不是说这样做是对的), 最好的单模性其实也是FFM模型, wide&deep模型也有不错的结果。 我们最近的工作主要集中于改进模型的训练效率, 因为模型训练速度实在太重要了, 特别是需要进行stacking的时候, 相信大家也都体验到了这一点。 最后一个星期, 我们应该会主要集中于更好的进行模型融合吧。
最后说两句感言, 也是对自己的勉励: 希望大家把比赛当做乐趣, 而不是煎熬。 有时间多看看别人的比赛经验和相关的论文, 比赛最终的目的还是学习。
祝大家都能取得好成绩。