天池全球AI计算挑战赛思路分享

作者 NeuronBlack 日期 2019-04-04
天池全球AI计算挑战赛思路分享

概述

天池的这个比赛需要预测未来的时间段内不同地铁站每十分钟的人流量,我们团队在a榜使用了规则+模型的融合方案取得第四名的成绩,但是由于b榜需要预测的日期为周末,我们a榜中所用的规则直接失效,具体的规则是由队友人畜无害小白兔提出。
由于我们a榜较为依赖规则导致单模分数不是很好,直接造成了b榜雪崩,幸运的是我提取了一组特征,队友融合了不加该组特征和加该组特征的两个模型成功回归前排,思路和代码已经全部开源
这次官方除了提供了流量数据之外,还提供了一张由各个站点组成的领接矩阵,从目前看来大部分队伍几乎都没用这张表,又或是利用这张表做出了GCN一类的模型,直接onehot处理站点特征会丢失站点位置的信息,使用GCN这一类模型结果又无法比上传统的特征工程。综合这两点,可以设想出将图作为特征加入到传统的机器学习模型中是较好的做法。

站点编码

首先先将原始的的领接矩阵进行可视化,如下图:

接着结合流量表寻找一些人流量较大的路线,比如:

重新理解一下上面的图片,将这一条路径看成一句话,那么这里面的每个站点就是一个词,这样转化过后就站点就可以采用常规的文本编码方式,由于需要考虑到站点的位置关系,所以我使用的是word2vec的编码方式。
相比较于传统的onehot编码,这样的编码方式考虑到了站点之间相对的位置,为了方便可视化,我利用PCA降维降到了2维:

具体的流程总结如下图:

总结

在分数上不去并且团队中只做了一个模型的时候不妨试试列采样融合,远比不同种子融合要好的多,对于这次的站点的word2vec编码其实还有改进的方法,就是将站点流量作为图的权重,时间有限我并未尝试这种思路,有兴趣的同学可以试试。