灵活应对算法大赛新挑战,极清晰比赛思路你值得拥有

赛程过半,复赛已经进行得如火如荼。各路选手各显神通,将在B部分进行最后的奋力一搏,争夺宝贵的决赛通行证。今天,我们请到了在初赛中表现十分亮眼的优秀选手——小人国的蜗牛与大家进行分享。超强自我纠错能力,高效方案修改力助你灵活应对比赛全部挑战。

在这里插入图片描述
大家好,我是小人国的蜗牛,队伍ID是小人国的蜗牛上分队。很荣幸可以在这里与大家分享自己在初赛到复赛四个阶段的比赛思路。我的线上成绩也不算太好,个人也有很多不足的地方,希望大家看这篇文章时可以多一些包容,若有任何疑问或想法,也非常欢迎来和我交流。

在这里插入图片描述
在一开始分析数据时,我发现和以前做过的别的比赛完全不一样,数据很难搞明白,难以理解要如何生成训练集。最初的时候我按照广告操作数据里面的信息,一天天迭代,得到每一个广告每天的设置,然后从里面提取出当天状态有效,且第二天不被修改的广告为训练集。这样操作完,数据里面有大量曝光量为0的广告,广告训练集大小大概在2w左右。但经过一些尝试以后,我发现自己整的模型很难超越简单的规则,于是确定了以自己规则为主模型为辅的初赛方案,所以整个初赛方案相当的简单。

在这里插入图片描述
首先,我对广告的定义形式为:所有建立时间在测试数据集对应时间之前的广告为旧广告(就算找不到历史曝光记录,也被分成旧广告);反之,在测试数据集对应时间内的广告就是新广告。

对于旧广告,我首先统计了它历史10天的每天曝光量,并以此做了一次指数平滑,平滑后的结果就是预测值;而新广告,由于我们找不到对应的历史曝光数据,所以找了前一天相同账户下的广告曝光量的中位数以及前一天相同商品下的广告曝光量的中位数,分别乘以0.7和0.3后进行加成。这就是我在初赛使用的规则,对于线上a榜的得分应该是87.54左右(如果我的github上的记录没记错的话)。
在这里插入图片描述
由于我的模型只预测新广告,所以这里需要对之前提取出来的训练集进行裁剪,只保留建立时间与需要预测的时间很接近的广告。我使用的模型是nn,总共三层,第一层是并列的cnn 和 lstm,输出结果合并给到第二层;第二层是并列的max-pooling和attention, 第三层是一个fc层,将第二层的结果压缩成一个一维的值,作为最后的结果输出。模型部分的输出会和规则的结果做一个线性加权,它们的权重分别是0.7和0.3,这样线上就可以达到87.8。

在这里插入图片描述
在B部分很多人的方案都崩掉了,当然也包括我自己的。我的方案到B榜刚开始的得分只有83左右,这促使我对测试集a和测试集b进行了研究,然后发现了一些很有意思的事情。
在这里插入图片描述

我通过分析得到了表格里的数据——测试集a中的旧广告大多能在操作数据中找到对应数据,但是测试集b中有很多旧广告找不到对应的操作数据。基于这样的情况,我意识到出题方提供了一种新类型的广告,不能仅用原来的标准简单地把广告分成新广告和旧广告来进行操作。

我将新的广告分成三类,一是有历史数据的旧广告(建立时间很早且可以在操作数据里面找到对应数据的广告);二是没有历史数据的旧广告(建立时间很早但是无法在操作数据里面找到对应数据的广告);三是新广告(同原来一样)。这三种类型广告里面,有历史数据的旧广告和新广告做法同a里面一致。没有历史数据的旧广告全部给4。这样就可以得到和我初赛一样的结果线上第七。

在这里插入图片描述

在复赛部分,我把之前的规则方案全部推翻了, 现在完全是模型在做。到复赛a部分结束时我一共有三个模型,lgb(线上88.85),nn(线上88.3),lgb+lr(线上88.89)。我利用lgb和nn融合得到了88.97的成绩,模型融合这一块没有做很多,这个会在复赛b部分继续认真完善。

在这里,我想分享一下nn的方案。
我将特征分成了三个部分:取值少的离散特征,取值多的离散特征,以及连续特征。取值少的离散特征通过embedding的方式变成连续特征,取值多的离散特征通过转化成频数的方式变成连续特征。然后把这些特征进行整合给到后面的网络结构。我通过多层全连接层,B-Interaction(NFM里面提到的结构)以及Cross Network(Deep & Cross Network提到的结构)这三个结构提取特征,将这些特征拼到一起,输入给一个多层全连接层,这样就得到了最后的预测值。

篇幅有限,分享就到这里了。赛后我会有对自己复赛方案有更加全面的介绍,感谢大家的阅读。

最后,祝愿各位选手都可以在比赛中玩的开心并能取得理想的成绩。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值