近日,素有“大数据奥运会”之称的KDD Cup 2019在美国阿拉斯加成功举行,现场公布了各项竞赛结果,深兰科技DeepBlueAI团队获得KDD Cup 2019 AutoML Track挑战赛第一,并战胜了新加坡国立大学、阿里巴巴集团、清华大学、海康威视、微软亚洲研究院等顶尖学府及机构。

ACM SIGKDD由美国计算机协会数据挖掘与知识专业委员会发起,是数据挖掘领域公认的具有最高学术地位的国际性学术会议。KDD Cup作为目前数据挖掘领域最有影响力、最高水平的国际顶级赛事,至今已有 22 年历史,每年都会吸引来自世界各地数据挖掘领域的顶尖专家、学者和工程师参赛。

今年是KDD Cup举办的第五次AutoML挑战赛,专注于时序相关数据的自动机器学习,参赛队伍达到800多支,是近几次AutoML竞赛中参赛队伍最多的一次。本届KDD Cup AutoML竞赛的Top10队伍均开源了解决方案,其中有许多优秀的思路和方法在竞赛中得以验证,也共同推进了AutoML的发展。此外,由深兰科技领衔的以空气质量预测为主题的论文被KDD 2019 ADS track录取为Oral Paper。

深兰科技DeepBlueAI团队的成员均毕业或就读于北京大学,他们在Feed-back阶段取得4项第一、1项第二,平均成绩排名第一;AutoML阶段平均指标领先第二名0.3,又得3项第一,最终以绝对优势获得冠军。

本次比赛中,选手需要针对时序相关数据来设计AutoML方案,用于解决二分类问题。主办方向选手们提供了5个数据集作为训练集来搭建和调优AutoML系统,每个数据集含有多个相关表格的数据,其中主表带有时间戳。关键挑战在于如何提取有用的时间信息、如何有效地合并多个表间的信息,以及如何避免由时间产生的数据泄露等传统数据挖掘竞赛不容易考虑到的问题。

与传统数据挖掘比赛不同的是,AutoML比赛中,参赛选手只知道数据的类型而不知道数据的含义,这毫无疑问会增加特征工程的难度。DeepBlueAI团队通过LightGBM模型来验证自动特征工程效果,在比赛中取得了显著优势。

而在自动化数据处理和自动化特征工程的过程中,针对类别数据在多类别数据中的位置这一特征,DeepBlueAI团队使用Cython对编码以及一些生成效率较慢的特征进行加速。由于本次竞赛的时间和内存有严格控制,像那些需要超过10秒才能生成的一类特征就算非常耗时的了。因此,在测试这段优化的过程中,纯粹的Python代码经过Cython优化,效率大概能到60秒。再进一步优化后,很轻松就能到达10秒内。

在这次竞赛中主要有几个比较重要的过程:自动化多表数据处理、自动多表连接、自动化特征工程、自动化模型构建、选择和融合。同时为了满足竞赛的时间和内存的需求,团队在代码上做了非常多的优化,比如使用了多线程、Cython、预处理、提前估算等方法。最后测试了大约数十个构造的极端数据集都成功运行,实践证明效果非常好。

时序相关数据的数据挖掘难度较大,在传统的机器学习应用中,需要经验丰富的专家才能从时序关系型数据中挖掘出有效的时序信息,并加以利用提升机器学习模型的效果。即使具备较深的知识储备,专家也需要通过不断的尝试和试错,才能构建出有价值的时序特征,并且利用好多个相关联表来提升机器学习模型的性能。而AutoML系统能够有效地缓解这个问题,相当程度上“解放”了人工智能工程师的双手。而时序关系型数据在在线广告、推荐系统、金融市场分析、医疗等应用场景中非常常见,人们往往需要利用这样的数据去构建机器学习模型,并应用其提升对应业务的效果。以在线广告点击率预测问题为例,每个样本就是向用户展示广告,样本标记为用户是否点击广告。因为是实际的服务系统,所有样本都是时序产生。

深兰科技在自身产品的开发中也已使用了自研AutoML系统,以深兰科技应用于建青实验学校的AI教育“一手通”为例,通过这款系统设备采集的数据,再经过AutoML系统自动建模可以分析出学生的兴趣爱好,随后进行个性化教学。在坚持加强基础研究的道路上,深兰科技披荆斩棘、不忘初心,将继续把更多搭载先进技术的产品推向市场,真正实现服务民生。