西安交大&百度竞赛总结

cover

西安交大&百度竞赛总结

比赛的相关介绍见:百度点石竞赛总结 ,数据分为遥感图像和用户访问数据两部分,要求参赛者根据这两部分数据预测新地点的标签,分类内容如下图

1561900835759

第一版思路

这是第一次参加接触相关领域的知识,作为一个小白,很想从这个竞赛入手来学习深度学习相关的知识技能。起初分别对遥感图像和用户访问数据建立单网进行深度学习,整体使用的是keras框架,考虑到keras易于学习和使用,且能够以较快的尝试更多的创意。

1561952095923

图像处理

对图像部分的数据尝试了Inception系列、VGG系列、NasNet及Xception等,构建模型时,初始采用各个模型在imgnet网络上的训练权重,在各网的基础结构后添加9个神经元的Dense层,用于最后的分类。经过实验,发现NASNet的Accuracy的结果较好,在0.42左右。

用户访问数据处理

对用户数据部分试验了Rnn、Xgboost及Lightgbm等网络

数据融合

数据融合实际上一开始用了权重相加,效果不好,只有0.71左右,后来认为为什么不将不同所求的概率作为输入,用验证集作为最后的一个xgboost的训练集来训练融合模型,最后效果为0.7240,比直接通过加权相加的效果好了很多,可以调节xgboost的参数来提高效果。

第二版思路

数据预处理

经队员提醒,发现所给的遥感图像中有很多脏数据,如下图所示

1561964040175

有一部分图块是全黑的,还有一部分图块是被云朵遮盖的,剩下的就是只能看到部分区域图,这也许会影响到模型的质量,我们第二版的思路就是将这些图片剔除掉之后再使用NasNet进行建模。

随后又对图像做了一些预处理,包括去雾、旋转等,后来还使用GNN对图片进行了增强,从100×100的小矩阵增强到了224×224的矩阵形式,随后送入到神经网络中进行训练,最后的得到的实验结果是…。

尝试用户访问数据新模型思路

虽然用户的访问数据比较适合序列的训练方式,我们团队尝试将访问数据按照不同的特征问题归类,如一些人数、假期等等。归类之后将其作为24维的输入即7×26×24,送到NasNet等卷积神经网络中进行训练,通过将图片数据和用户数据送到同一个网络中进行训练,得到了的0.68的效果。

总结

通过参加此次竞赛,我基本了解了大数据相关竞赛的参赛思路,如何去构建模型,如何去调整参数,如何从loss及accuracy等的变化中读取模型构建的情况,是否产生了过拟合等等。也了解了当前比较流行的几个深度学习框架同时,我也认识到了讨论区的重要性,有些大佬会把最初的demo分享在github上, 通过学习、讨论及复现能够了解别人的思路,能够发现自己忽略的问题。竞赛是了解相关知识的较好途径,大佬们分享的代码简直就是宝物。

下面附上几版代码以便自己和别人后续的学习使用:

  1. baseline
  2. 69.4成绩

参考

第五届百度&西安交通大学大数据竞赛初赛思路总结

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2015-2024 YuleZhang's Blog
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信