前 言
近十年来,不管是机器学习相关的应用还是研究,都迎来了爆发式增长。尤其是深
度学习,使得很多应用领域都取得了关键性突破,如计算机视觉、语音处理和游戏。然而,
多数机器学习方法的性能在很大程度上依赖于过量的模型设计策略,这导致新手难以较
快地掌握和应用机器学习。在深度学习上更是如此,如果人类工程师想要让神经网络在
特定的任务上取得理想的表现性能,就需要很好地选择和设计网络结构、学习过程、正
则化方法及超参等。另外,随着任务的不同,工程师需要重复上述过程。需要说明的是,
即使是专家,在一个特定的数据集上,也需要经过多次的迭代和试错才能找到一组良好
的网络配置参数,新手更是如此。
自动机器学习(AutoML)旨在以一种数据驱动、目标导向及自动化的方法实现上
述过程。换言之,用户只需要提供数据,AtuoML系统就能够自动学习出使得该应用取
得最佳性能的机器学习模型。因此,自动机器学习能够让那些想要使用机器学习方法但
是缺乏机器学习资源或背景知识的领域科学家使用到最新的机器学习模型。这可以被视
为一种机器学习的民主化,即通过AutoML,每个人都能获得定制化的且达到行业最新
水准的机器学习模型。
正如本书所展现的,自动机器学习方法已经成熟到可以与人类机器学习专家相竞争
的水平,甚至在有些时候,自动机器学习的表现可以超越人类机器学习专家。简单来说,
机器学习专家一方面比较稀缺,另一方面人力成本较高,而自动机器学习却可以在节省
大量时间和金钱的前提下提升算法性能。自动机器学习的这种优势使得自动机器学习的
商业关注度在近几年得到极大提升,而且几家有影响力的科技公司目前正在开发自己的
AutoML系统。需要强调的是,让机器学习民主化的最好方式是通过开源的自动机器学
XII
习系统,而非专营付费的黑盒服务。
本书对正在快速发展的自动机器学习领域进行了整体介绍。值得说明的是,目前大
家都非常关注深度学习,导致很多研究者错误地将自动机器学习和神经网络架构搜索
(NAS)画上了等号。如果你阅读这本书,你就会了解到,NAS只是自动机器学习的一
个极佳案例,而自动机器学习实际所涵盖的内容远不止NAS。本书一方面可以为那些想
要研究出自己的自动机器学习方法的研究者提供背景知识和起点;另一方面可以为那些
想要将自动机器学习应用到实际问题的实践者提供可用的AutoML系统。而对于那些已
经从事自动机器学习的研究者而言,本书可以提供一个AutoML最新研究成果和进展的
概览。根据自动机器学习所涵盖的内容,本书主要分为三个篇章。
第一篇主要对自动机器学习方法进行介绍,一可以为新手提供全面的自动机器学习
概述,二可以为有自动机器学习经验的研究者提供参考。具体如下:
.第1章主要讨论超参调优、自动机器学习中最为关键和普遍的问题,同时介绍
各种各样的自动机器学习方法,并对那些目前较为有效的方法进行重点介绍和
说明。
.第2章主要介绍如何学会学习,举例而言,如何利用评价机器学习模型中的经
验为新的数据设计新的学习方法。这样的技术可以最小化为一个机器学习新手
向一个机器学习专家的转换过程,同时能够极大地降低在一个新的机器学习任
务上获得期望性能的所需时间。
.第3章主要介绍NAS方法。NAS是自动机器学习领域中最具挑战性的任务,因
为神经网络的设计空间极其巨大且神经网络的单次评估极其耗时。虽然NAS相
关的研究极具挑战性,但这个领域的研究非常活跃,定期都会有一些令人振奋
的解决NAS问题的新方法。
第二篇主要介绍了新手也可以使用的自动机器学习系统。如果你更多地是想要将自
动机器学习系统应用到自己的实际问题上,可以重点学习该篇。这一篇中的章节评估所
介绍的自动机器学习系统,目的是让读者对这些系统在实际任务中的表现性能有一个直
观的认识和了解。具体如下:
.第4章介绍第一个自动机器学习系统——Auto-WEKA。该系统主要基于WEKA
机器学习工具包,支持各种分类方法、回归方法自动搜索,同时支持方法所对
应的超参自动设置和数据自动预处理。所有这些功能可以直接通过WEKA图形
化用户界面一键点击使用,不需要一行代码。
.第5章主要介绍基于scikit-learn框架的自动机器学习系统——Hyperopt-sklearn,
同时给出了若干个如何使用该系统的代码案例。
.第6章介绍同样基于scikit-learn工具包的自动机器学习系统——Auto-sklearn。
该系统使用了与Auto-WEKA类似的优化方法,同时增加了一些改进,如针对
优化热启动的元学习和自动集成方法。此外,第6章比较了Auto-sklearn和自动
机器学习系统Atuo-WEKA及Hyperopt-sklearn的性能。在两个不同的版本上,
Auto-sklearn在本书第三篇所介绍的自动机器学习挑战赛上都取得了最好成绩。
.第7章介绍能够选择深度神经网络结构和超参的自动深度学习系统——Auto-
Net。在自动机器学习挑战赛上,一个早期版本的Auto-Net所生成的第一个自动
学习神经网络的表现性能超过了人类专家所设计的模型。
.第8章介绍可以自动组建和优化基于树的机器学习管道的自动机器学习系统——
TPOT。显而易见,这些经过自动学习出的管道的灵活性明显优于那些以预先定
义好的连接方式所形成的固定机器学习管道。
.第9章介绍自动统计系统,该系统能够自动生成一份含有数据分析、预测模型
分析及模型性能比较的完整数据报告。尤为重要的是,该系统能够以自然语言
的方式对分析结果进行表述,较好地契合了非机器学习专家的需求。
最后,第三篇(即第10章)对自2015年以来自动机器学习系统相关的挑战赛进行
概述。介绍这些挑战赛的目的是促进从业者能够设计出在实际任务中表现得更好并能够
从众多备选中挑出最佳模型的方案和方法。第10章详细介绍这些挑战赛,以及相应设
计和过往挑战赛结果背后所蕴含的理念和概念。
据我们所知,这是第一本全面介绍自动机器学习系统的书a,主要包含自动机器学
习的方法、实际可用的自动机器学习系统及目前所面临的挑战。本书能够为实践者提供
开发自己的AutoML系统所需的背景知识和方法,同时提供能够快速应用到广泛的机器
学习任务中的自动机器学习系统的详细内容。自动机器学习领域的发展可谓一日千里,
我们希望通过这本书能够对近期的众多进展进行组织和梳理。同时,我们希望诸位读者
能够喜欢这本书,加入日益壮大的自动机器学习队伍中。
a 译者注:本书英文版是第一本全面介绍自动机器学习系统的书,在译者翻译过程中,又有一些本领域的
新书出版,特此说明。
致谢
感谢所有章节的作者,没有他们的贡献和付出,该书无法成型和出版。同时,感谢“欧
盟地平线2020研究&创新项目”为本书所提供的费用支持(弗兰克ERC启动基金,基
金编号:716721)。
德国弗莱堡大学教授,弗兰克·亨特
美国怀俄明大学助理教授, 拉斯·特霍夫
荷兰埃因霍温理工大学助理教授,华昆·万赫仁
2018年10月