本期干货我们为大家带来了大名鼎鼎的算法高手郭达雅“郭大”新鲜出炉的经验分享,他的队伍曾是唯一进入决赛的本科生队伍!接下来,郭大将带你深入了解如何处理大数据,让你即使在低配的环境中也能稳中求胜!
大家好,我是郭达雅,人称郭大,目前是中山大学-微软联合培养的博士生。前两届都参加了腾讯广告算法大赛,并且是唯一进入决赛的本科生队伍。如果你第一次参加这样的比赛,那我很高兴的告诉你,你可以从这个比赛学到很多东西,你可以学会如何处理数据,如何进行特征工程,如何在大数据的情况让自己的模型高效的跑起来。同时你也可以见识到许多大佬高深的技(yan)术(ji)。往届的腾讯广告算法大赛质量都很高,问题都很前沿,数据也是真实的,你可以从这个比赛中体会到真实的场景和前沿的问题,并且设计自己的模型。
在2017年的比赛中,复赛的数据量是百万级别的。而在2018年的比赛中,复赛的数据量是千万级的。对于计算资源比较少的选手来说,要一次性把所有数据读进来训练不太现实,但不全部一起训练又会使性能降低。因此,接下来主要跟大家谈谈如何处理大数据,能够在低配置的环境中也能够取得很好的成绩。主要考虑的是时间,空间和性能三个方面。
模型选择
首先我们要考虑使用什么类型的模型。目前比赛使用的模型主要还是GBDT和神经网络两种类型。对于GBDT来说,需要一次性把所有的训练数据读进内存进行训练 (当然还有增量模式,没怎么试过)。而对于神经网络来说,由于是流式训练的,所以不需要一次性读进来,可以训练完一个batch就扔掉,因此