作者:罗志鹏(深兰科技)

PAKDD 2019 AutoML3+竞赛结果公布,解读冠军团队解决方案

近日,PAKDD 2019 AutoML3+ 挑战赛公布了最终结果:Feedback phase 和 AutoML phase 的 Top3 排名相同,深兰科技 DeepBlueAI 团队斩获第一名,由微软亚洲研究院、北航组成的 ML Intelligence 团队位居第二名,由清华大学组成的 Meta_Learners 团队获得第三名。

PAKDD 是数据挖掘领域历史最悠久,最领先的国际会议之一。它为研究人员和行业从业者提供了一个国际论坛,供大家分享在 KDD 相关领域的新想法,原创研究成果和实践开发经验。

大赛简介

人工智能的时代,许多实际应用程序都依赖于机器学习,然而这些程序的开发人员却并不都具备专业的机器学习算法研发能力,因而非常需要部署 AutoML 算法来自动进行学习。

此外,有些应用中的数据只能分批次获取,例如每天、每周、每月或每年,并且数据分布随时间的变化相对缓慢。这就要求 AutoML 具备持续学习或者终生学习的能力。

这一类的典型问题包括客户关系管理、在线广告、推荐、情感分析、欺诈检测、垃圾邮件过滤、运输监控、计量经济学、病人监控、气候监测、制造等。本次 AutoML for Lifelong Machine Learning 竞赛将使用从这些真实应用程序中收集的大规模数据集。

相比于与之前的 AutoML 比赛,本次比赛的重点是概念漂移,即不再局限于简单的 i.i.d. 假设。要求参与者设计一种能够自主(无需任何人为干预)开发预测模型的计算机程序,利用有限的资源和时间,在终身机器学习环境下进行模型训练和评估。

本次比赛分为 Feed-Back 阶段及 Blind-Test 阶段:

  • Feedback phase : 反馈阶段是代码提交的阶段,可以在与第二阶段的数据集具有相似性质的 5 个数据集上进行训练和测试。最终代码提交将转发到下一阶段进行最终测试。

  • AutoML phase:该阶段不需要提交代码。系统自动使用上一阶段的最后一次提交的代码对 5 个新数据集进行盲测。代码将自动进行训练和预测,无需人工干预。最终得分将通过盲测的结果进行评估。

这次竞赛主要有以下难点:

  • 算法可扩展性:比赛提供的数据集比之前组织的竞赛大 10 到 100 倍;

  • 不同的特征类型:包括各种特征类型(连续,二元,顺序,分类,多值分类,时间);

  • 概念漂移:数据分布随着时间的推移而缓慢变化;

  • 终身环境:本次比赛中包含的所有数据集按时间顺序分为 10 批,这意味着所有数据集中的实例批次按时间顺序排序(请注意,一批中的实例不保证按时间顺序排列)。参与者的算法需要基于前面批次的数据进行训练来预测后一批次的数据,从而测试算法适应数据分布变化的能力。测试后,才能把当前的测试集纳入训练数据中。

大赛结果

本次比赛在五个不同任务数据集上以 AUC 作为评分指标,官方排名规则是把 5 个任务的 Rank(在所有队伍中的排名)值进行平均做为最后的排名依据。DeepBlueAI 团队在 Feedback phase 的 5 项测试任务中斩获了 4 项第一、1 项第二的优异成绩,其中 4 项任务的 AUC 指标大幅度胜出。团队的 Rank 平均指标为 1.2,在所有队伍中具有显著的领先优势。

图 1 Feedback phase 排行榜

对比 Feedback phase 的 Top3 队伍的 AUC 指标,DeepBlueAI 团队在 Set1、Set3、Set4、Set5 的 4 个数据集上分别领先各 Set 第二名 0.57%、1.91%、1.22%、4.18%,在 Set2 上也只比最好的差 0.05%。

AUC 指标是一项相对而言很难提升的指标,通常在竞赛中 top 队伍只能在该指标上拉开千分位、万分位的差距,而 DeepBlueAI 团队在 Set1,3,4,5 这 4 个不同任务上平均领先第二名 1.97%,具有非常明显的优势。

图 2 Top3 AUC 指标对比

Feedback phase 榜单链接:https://competitions.codalab.org/competitions/20675#results

在 AutoML phase 中, 深兰科技的 DeepBlueAI 团队也稳住了 5 项任务总成绩排名第一,Top3 排名如下:

AutoML phase Top3

AutoML phase Top3 排名链接:https://www.4paradigm.com/competition/pakdd2019

冠军团队解决方案

我们团队基于所给数据实现了一个 AutoML 框架,包括自动特征工程、自动特征选择、自动模型调参、自动模型融合等步骤,在类别不平衡的处理上我们使用了自适应采样并在模型训练上有一定的创新,我们也有针对性的对概念漂移问题进行处理,并且利用了多种策略对运行时间和运行内存进行了有效的控制,以确保解决方案能在限制时间和内存下完成整个流程。

(1)自动特征工程

在大部分机器学习工业界应用中,数据和特征对于模型往往是最为关键的,在现有的 AutoML 框架中,大部分特征的提取是基于已有的数值特征进行高阶组合,它们的模型很难提取出跟时序问题或者概念漂移有关的关键特征,而且忽略了类别特征的重要性,然而现实中存在大量的时序问题,而且往往带有概念漂移。

我们构建的自动特征工程不仅是基于时间特征、分类特征、数值特征、多值分类特征做特征间的高阶组合,同时我们自动提取跨时间、样本以及特征的高阶组合。这是我们团队所做出的不同于以往模型的自动特征工程方案,同是也是我们在比赛中能取得显著优势的重要因素。并且我们实现了一个自动快速特征选择方法,进而提取重要特征进行高阶组合,从而避免了指数级的特征组合,并且能挖掘三阶甚至四阶不同类型的特征组合,有效地提升模型性能。

(2)自动快速特征选择

高阶组合往往容易导致生成大量特征,一般的特征选择方法是进行穷举搜索,这在大量特征的基础上是不可接受的。我们的自动快速特征选择首先过滤掉方差低的特征,以及通过特征的相似性计算删除相似性特征,并且结合特征重要性及序列后向选择算法,忽略重要性低的特征,这能过滤掉大量的特征并且对于模型的精度影响很小,并且极大地加速了后续的模型训练和预测速度。然后我们进行序列后向选择算法,对重要性极高的特征进行筛选,这能快速地筛选掉过拟合特征,从而大幅度提高模型性能。

(3)缓解类别不平衡

自适应采样:能够自动针对数据情况(数据大小,数据类型不同),以及比赛时间的限制等各种因素的不同,自适应地对数据采取不同的采样方式和比例。既保证了效率的同时又保证了效果。

数据训练方式创新:传统的类别不平衡的数据训练方式,是通过提前对数据进行采样,缓解类别不平衡问题,然后将数据加入模型中训练。但是这样会损失大量的数据信息,所以我们在数据采样的时候,仍然保留大量的高比例样本,并且将其分批,在加入模型中训练时,让模型轮流训练这些批次,这样能够尽可能保留更多的原始数据的信息,同时缓解了类别不平衡问题。

(4)抗概念漂移处理

自适应数据融合:针对数据大小,数据复杂度,自适应选择 batch 数目。同时,对于每个 batch,加入了「不同 batch 间采样率随时间增加」机制。

抗概念漂移特征:特征工程时,加入了大量关于不同 batch 数据之间的信息,实现了抗概念漂移特征。

(5)时间空间优化

针对代码进行了优化,在实现一些复杂操作时,预先进行评估,通过合理的采样,以及代码实现方式,来减少内存的使用以及时间的使用。

(6)模型构建

我们采用了业界常用的 GBDT 模型,其中 GBDT 模型常用的有 LightGBM,XGBoost,CatBoost 等模型,它们基于信息增益学习特征间的高阶非线性组合。其中 LightGBM 模型的运行速度和效果都表现得不错,所以我们采用了 LightGBM 模型。

同时我们引入了深度学习模型,对 Category 类型数据提取 Embedding 特征,将 Embedding 特征以及其余特征进行拼接构建 LightGBM 模型。

(7)自动模型调参

我们通过验证集采用随机搜索自动调整模型学习率、叶子结点、树的深度、行采样及列采样等。

(8)自动模型融合

基于所给时间,我们使用不同的行采样及列采样来训练多个不同的模型,这不仅仅更加充分的利用了样本,也使得每个模型使用的数据和特征具有充分的差异性,同时大大减少了过拟合的风险。一般 GBDT 模型和深度学习模型融合的时候,会单独进行融合,而本次竞赛中,这种融合方式效果提升并不明显,由于时间的限制,深度学习模型在表数据上表现力并不强。

所以我们利用深度学习模型对数据进行 embedding,将 embedding 特征加入到 GBDT 模型中进行训练学习,产生两类不同的模型(使用和不使用 embedding 特征),再对其进行融合。

总结

机器学习的理论进步为产业发展持续赋能,但在应用中还是存在模型训练难和效率低的问题。AutoML 意在构建整套从机器学习模型构建到应用的自动化框架,从而降低应用门槛,缩短项目开发周期,促进机器学习的大规模落地。因此,作为系统级的应用,AutoML 的研发更为复杂。

本次 PAKDD 竞赛延续了 NeurIPS 2018 AutoML 竞赛,并完善了一些竞赛规则问题,竞赛体验得到提高。感谢主办方辛勤的付出,为 AutoML 开发者提供了一次完美的同台竞技分享交流的机会。也感谢所有的参赛队伍让我们不断的优化和完善我们的 AutoML 框架,在角逐中为迸发各自的想法,为 AutoML 框架的各个环节提供了新的思路,取得了效果突破的同时也推进了 AutoML 的发展。

AutoML 领域的研究和产品开发越来越活跃,展现出了强大的发展潜力和空间,也会加速推动 AutoML 在各个垂直领域的应用落地。祝贺所有的 Top 队伍,愿大家在未来都能取得自己满意的成绩!

DeepBlueAI 团队介绍

团队主要成员来自深兰科技,拥有多年的机器学习经验,专注自然语言处理计算机视觉、AutoML 方面研究。在 PAKDD2019、KDD cup2018、NeurIPS 2018 AutoML、CIKM Cup 2018 等国际知名比赛中多次取得冠军的优异成绩。

工程数据挖掘竞赛AutoML
21
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面,智能多媒体,大数据与知识挖掘,人工智能,云和边缘计算,计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的研究,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

随机搜索技术

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

XGBoost技术

XGBoost是一个开源软件库,为C ++,Java,Python,R,和Julia提供了渐变增强框架。 它适用于Linux,Windows,MacOS。从项目描述来看,它旨在提供一个“可扩展,便携式和分布式的梯度提升(GBM,GBRT,GBDT)库”。 除了在一台机器上运行,它还支持分布式处理框架Apache Hadoop,Apache Spark和Apache Flink。 由于它是许多机器学习大赛中获胜团队的首选算法,因此它已经赢得了很多人的关注。

信息增益技术

在决策树学习中,信息增益比是信息增益与固有信息的比率。 它被用来通过在选择属性时考虑分支的数量和大小来减少对多值属性的偏见.

数据融合技术

数据融合技术将来自多个传感器(信息源)的数据和相关数据的信息相结合,以实现比单独使用单个传感器(信息源)所能实现的更高的准确性和更具体的推论。

推荐文章
abcdefg