KDD Cup 2017双料冠军是如何炼成的?我们向Convolution团队讨教了他们的“成功方法论”

作者:思颖         选择源:雷锋网

KDD 2017日前于加拿大落下帷幕。作为数据挖掘领域全球最高级别的国际会议,KDD 自带光环,不仅吸引无数业内大牛,也引来媒体的争相报导。会议期间,KDD Cup2017的颁奖礼也同期进行。今年,这场顶级赛事的排行榜几乎全被中国团队占领,由微软、美团和北航联合组成的Convolution团队更是一举夺得两个任务的双料冠军。

团队背景

首先恭喜你们获得KDD Cup 2017两个任务的双料冠军,有何感想可以分享一下呢?

KDD Cup是工业界和学术界都很关注的一个比赛,每一届KDD Cup的竞争都很激烈。这次比赛中我们也遇到了很多困难,很幸运两道题目都能拿到第一名。

你们的团队是如何组建起来的呢?为什么给团队取Convolution这个名字?能介绍一下团队各位成员的研究背景吗?

我们很早就在技术社区里认识,大家都对技术感兴趣,经常一起讨论技术细节。给团队取Convolution这个名字也是机缘巧合,因为我们当时正在做一些神经网络方面的尝试。

我们团队有四名队员:

胡可,香港中文大学机器学习方向硕士毕业。现在微软必应广告团队从事机器学习模型与算法研发。

陈欢,北京航空航天大学计算机硕士在读,擅长NLP与特征工程。

黄攀,浙江大学计算机硕士毕业,擅长模型分析与实现。现在微软必应团队从事广告算法研发。

燕鹏,美团点评高级技术专家,喜欢用机器学习解决各类问题。

队员都从事机器学习相关的工作与学习,并且有丰富的大赛经历,比如队员基本都获得过Kaggle冠军,也有队员目前Kaggle全球排名第五。同时我们这方面的背景可以相互促进,合作产生更好的方案。

解决问题的方法论

今年的赛题分为两个任务,预测车辆从路口到收费站的平均用时和预测高速收费站车流量,在比赛中,大家是如何分工的呢?

比赛初期,我们以两位同学为一组主要负责一道题目。在后期再将题目进行互换,对对方的思路进行补充。每位同学都有很强的技术探索能力,能对负责的部分独挡一面。比如黄攀在交通时间预测题的特征工程与模型实现上做出了很多突破。

你们解决这两个任务的具体步骤是什么样的呢?

我们前期根据各自的技术积累讨论,汇总出问题涉及到的技术点以及可能有潜力的方案。比赛中期更多地自由探索,尽可能地发散解决方案的技术点。最后充分融合各自方案,并收敛到几个关键技术点共同提升解决。比如一开始就想以序列建模与用特征表达预测序列两种方式分别尝试解决时间序列问题,相当于从模型与特征两种角度,最后采用是这两种方法的融合。考虑到这个问题本身的特征体系特点以及模型的表达能力,我们选择GBDT和神经网络模型,并对模型的损失函数进行改进,更适合这个比赛的评价指标。

这两个任务比较起来,哪个任务更复杂呢?

第二题比较早地发现了规律,很早确立了领先优势。但后来我们发现第二题的经验在第一题上并不能取得同样的收益,我们在第一题上做了很多改进之后才追上来。我觉得针对具体问题case by case地去研究,提出适合具体问题的解决方案非常重要。

您认为今年的高速路预测的赛题与之前一些机场、公路流量预测的赛题相比,差异点和难点在哪里?侧重需要考虑哪些问题?

很多机器学习的问题都需要一些领域的知识来辅助解决,对于每一个具体的问题,数据的分布不会完全一致,最终比赛获得高分的关键还是一些机器学习的技巧和经验。比如,这次比赛数据方差比较大,不能完全通过增加特征解决这个问题,相对暴力地迭代实验有可能导致过拟合。因此需要更多数据分析来引导实验,并巧妙构造验证集来增加解决方案的稳定性与泛化能力。

在比赛过程中你们还碰到了哪些问题?是如何解决的?

我们在中后期遇到了瓶颈,主要表现为模型提升困难并且在多种验证集中表现不稳定,我们放弃了有过拟合风险的提高模型复杂度的提升方式,转而构建更多模型复杂度不那么高的子模型解决问题。从误差分解的角度,我们没有特别追求bias减少,而是想办法降低variance。

围绕比赛的相关讨论

为比赛所设计的系统和实际应用的系统存在哪些异同?比赛中的系统与实际应用系统有哪些关联性?

异同点:一方面,实际系统中可用的信息更多,会更复杂。另一方面,比赛追求算法极致,现实中会在精度和效率上做一个权衡。比如,比赛有可能会采用较多模型进行融合,而实际系统经常采用少量模型进行融合。但实际中构造少量模型的思想与比赛是一致的。

两者间的关联:在比赛中,产生了一些优秀的模型或方案运用于实际系统,如KDD Cup 2012产出了XGBOOST与FFM的原型,阿里天池14年推荐比赛top队伍的方案在“双十一”活动中挑战线上系统取得成功。 

以往KDD Cup有很多任务集中于推荐系统的设计,近年来逐渐向其它更具体的实际问题转变,比如MOOC逃课率检测,还有今年围绕交通内容而设计的题目。那么您认为以今年为例,KDD Cup对能力的考察更侧重于哪些方面?

随着机器学习的认知程度越来越高,越来越多的领域开始尝试使用机器学习技术解决现实问题。早年KDD Cup着重于解决互联网行业中的典型问题,近年来开始尝试机器学习技术在教育,交通等传统行业的应用。这对选手的要求也随之提高,需要选手具备快速对新问题进行建模的能力。

今年的20强几乎全被中国队伍包揽,在比赛过程中你们有遇到过哪些实力强劲的对手呢?觉得团队获胜的原因有哪些?

这次KDD Cup是历年参加人数最多的一次,高手云集,其中也包括KDD Cup多年的冠军队伍台湾大学,他们这次也曾一度取得领先,带给了我们很大压力。

我认为这次获胜主要取决于这些因素:一是我们队伍的成员都从事机器学习工作,对技术有很高的热情,并且各自有比较丰富的比赛经验。二是我们在做这些机器学习项目和比赛的过程中,向同事和其他队伍学到了很多有趣的建模和分析的思路。第三是因为非常幸运。

如果要为下一年的KDD Cup做准备,您有什么建议和比赛心得可以分享?

我建议有时间可以加强机器学习理论的学习,并尽可能地将理论与实践相结合。 

标签: AI
分享到:   

热门文章
在线客服
服务热线

免费热线
400-852-8980

扫一扫

扫一扫云工厂
赠送神秘大礼