猜你喜欢
自动机器学习(AutoML):方法、系统与挑战

自动机器学习(AutoML):方法、系统与挑战

书籍作者:[德] 弗兰克 ISBN:9787302552550
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6625
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书全面介绍自动机器学习,主要包含自动机器学习的方法、实际可用的自动机器学习系统及目前所面临的挑战。在自动机器学习方法中,本书涵盖超参优化、元学习、神经网络架构搜索三个部分,每一部分都包括详细的内容介绍、原理解读、具体运用方法和存在的问题等。此外,本书还具体介绍了现有的各种可用的AutoML系统,如Auto-sklearn、Auto-WEKA及Auto-Net等,并且本书最后一章详细介绍了具有代表性的AutoML挑战赛及挑战赛结果背后所蕴含的理念,有助于从业者设计出自己的AutoML系统。

本书英文版是国际上第一本介绍自动机器学习的英文书,内容全面且翔实,尤为重要的是涵盖了z新的AutoML领域进展和难点。本书作者和译者学术背景扎实,保证了本书的内容质量。

对于初步研究者,本书可以作为其研究自动机器学习方法的背景知识和起点;对于工业界从业人员,本书全面介绍了AutoML系统及其实际应用要点;对于已经从事自动机器学习的研究者,本书可以提供一个AutoMLz新研究成果和进展的概览。总体来说,本书受众较为广泛,既可以作为入门书,也可以作为专业人士的参考书。


作者简介

弗兰克??亨特,德国弗莱堡大学教授,机器学习实验室负责人。主要研究统计机器学习、知识表示、自动机器学习及其应用,获得第一届(2015/2016)、第二届(2018/2019)自动机器学习比赛的世界冠军。

拉斯??特霍夫,美国怀俄明大学助理教授。主要研究深度学习、自动机器学习,致力于构建领先且健壮的机器学习系统,领导Auto-WEKA项目的开发和维护。

华昆??万赫仁,荷兰埃因霍温理工大学助理教授。主要研究机器学习的逐步自动化,创建了共享数据开源平台OpenML.org,并获得微软Azure研究奖和亚马逊研究奖。


译者简介

何明,中国科学技术大学博士,目前为上海交通大学电子科学与技术方向博士后研究人员、好未来教育集团数据中台人工智能算法研究员。

刘淇,中国科学技术大学计算机学院特任教授,博士生导师,中国计算机学会大数据专家委员会委员,中国人工智能学会机器学习专业委员会委员。


前言

前 言


近十年来,不管是机器学习相关的应用还是研究,都迎来了爆发式增长。尤其是深

度学习,使得很多应用领域都取得了关键性突破,如计算机视觉、语音处理和游戏。然而,

多数机器学习方法的性能在很大程度上依赖于过量的模型设计策略,这导致新手难以较

快地掌握和应用机器学习。在深度学习上更是如此,如果人类工程师想要让神经网络在

特定的任务上取得理想的表现性能,就需要很好地选择和设计网络结构、学习过程、正

则化方法及超参等。另外,随着任务的不同,工程师需要重复上述过程。需要说明的是,

即使是专家,在一个特定的数据集上,也需要经过多次的迭代和试错才能找到一组良好

的网络配置参数,新手更是如此。


自动机器学习(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月





目录

目 录


自动机器学习方法


第1章 超参优化 ··································2


1.1 引言 ··············································2


1.2 问题定义 ·······································4


1.2.1 优化替代方案:集成与边缘化 ·············5


1.2.2 多目标优化 ···········································5


1.3 黑盒超参优化 ·······························6


1.3.1 免模型的黑盒优化方法 ························6


1.3.2 贝叶斯优化 ···········································8


1.4 多保真度优化 ······························13


1.4.1 基于学习曲线预测的早停法 ··············14


1.4.2 基于Bandit的选择方法 ·····················15


1.4.3 保真度的适应性选择 ··························17


1.5 AutoML的相关应用 ····················18


1.6 探讨与展望 ··································20


1.6.1 基准测试和基线模型 ··························21


1.6.2 基于梯度的优化 ··································22


1.6.3 可扩展性 ·············································22


1.6.4 过拟合和泛化性 ··································23


1.6.5 任意尺度的管道构建 ··························24


参考文献···············································25


第2章 元学习 ···································36


2.1 引言 ·············································36


2.2 模型评估中学习 ··························37


2.2.1 独立于任务的推荐 ······························38


2.2.2 配置空间的设计 ··································39


2.2.3 配置迁移 ·············································39


2.2.4 学习曲线 ·············································42


2.3 任务特性中学习 ··························43


2.3.1 元特征 ·················································43


2.3.2 元特征的学习 ·····································44


2.3.3 基于相似任务热启动优化过程 ···········46


2.3.4 元模型 ·················································48


2.3.5 管道合成 ·············································49


2.3.6 调优与否 ·············································50


2.4 先前模型中学习 ··························50


第一篇



XVI


2.4.1 迁移学习 ·············································51


2.4.2 针对神经网络的元学习 ······················51


2.4.3 小样本学习 ·········································52


2.4.4 不止于监督学习 ··································54


2.5 总结 ·············································55


参考文献···············································56


第3章 神经网络架构搜索 ··················68


3.1 引言 ·············································68


3.2 搜索空间 ······································69


3.3 搜索策略 ······································73


3.4 性能评估策略 ······························76


3.5 未来方向 ······································78


参考文献···············································80


自动机器学习系统


第4章 Auto-WEKA ···························86


4.1 引言 ·············································86


4.2 准备工作 ······································88


4.2.1 模型选择 ·············································88


4.2.2 超参优化 ·············································88


4.3 算法选择与超参优化结合

(CASH) ···································89


4.4 Auto-WEKA ·································91


4.5 实验评估 ······································93


4.5.1 对比方法 ·············································94


4.5.2 交叉验证性能 ·····································96


4.5.3 测试性能 ·············································96


4.6 总结 ·············································98


参考文献···············································98


第5章 Hyperopt-sklearn ·················101


5.1 引言 ···········································101


5.2 Hyperopt背景 ····························102


5.3 Scikit-Learn模型选择 ···············103


5.4 使用示例 ····································105


5.5 实验 ···········································109


5.6 讨论与展望 ································111


5.7 总结 ···········································114


参考文献·············································114


第6章 Auto-sklearn ························116


6.1 引言 ···········································116


6.2 CASH问题 ································118


6.3 改进 ···········································119


6.3.1 元学习步骤 ········································119


6.3.2 集成的自动构建 ································121


6.4 Auto-sklearn系统 ······················121


6.5 Auto-sklearn的对比试验 ···········125


6.6 Auto-sklearn改进项的评估 ·······127


6.7 Auto-sklearn组件的详细分析 ···129


6.8 讨论与总结 ································134


6.8.1 讨论 ···················································134


第二篇



XVII


6.8.2 使用示例 ···········································134


6.8.3 Auto-sklearn的扩展 ··························135


6.8.4 总结与展望 ·······································136


参考文献·············································136


第7章 Auto-Net ······························140


7.1 引言 ···········································140


7.2 Auto-Net 1.0 ·······························142


7.3 Auto-Net 2.0 ·······························144


7.4 实验 ···········································151


7.4.1 基线评估 ···········································151


7.4.2 AutoML竞赛上的表现 ·····················152


7.4.3 Auto-Net 1.0与Auto-Net 2.0的对比····154


7.5 总结 ···········································155


参考文献·············································156


第8章 TPOT ··································160


8.1 引言 ···········································160


8.2 方法 ···········································161


8.2.1 机器学习管道算子 ····························161


8.2.2 构建基于树的管道 ····························162


8.2.3 优化基于树的管道 ····························163


8.2.4 基准测试数据 ···································163


8.3 实验结果 ····································164


8.4 总结与展望 ································167


参考文献·············································168


第9章 自动统计 ······························170


9.1 引言 ···········································170


9.2 自动统计项目的基本结构 ·········172


9.3 应用于时序数据的自动统计 ·····173


9.3.1 核函数上的语法 ································173


9.3.2 搜索和评估过程 ································175


9.3.3 生成自然语言性的描述 ····················175


9.3.4 与人类比较 ·······································177


9.4 其他自动统计系统 ····················178


9.4.1 核心组件 ···········································178


9.4.2 设计挑战 ···········································179


9.5 总结 ···········································180


参考文献·············································180


自动机器学习挑战赛


第10章 自动机器学习挑战赛分析 ···186


10.1 引言··········································187


10.2 问题形式化和概述 ···················190


10.2.1 问题的范围 ·····································190


10.2.2 全模型选择 ·····································191


10.2.3 超参优化 ·········································192


10.2.4 模型搜索策略 ·································193


10.3 数据··········································197


10.4 挑战赛协议 ······························201


10.4.1 时间预算和计算资源 ······················201


10.4.2 评分标准 ·········································202


10.4.3 挑战赛2015/2016中的轮次和阶段 ····205


第三篇



10.4.4 挑战赛2018中的阶段 ····················206


10.5 结果··········································207


10.5.1 挑战赛2015/2016上的得分 ···········207


10.5.2 挑战赛2018上的得分 ····················209


10.5.3 数据集/任务的难度 ·······················210


10.5.4 超参优化 ·········································217


10.5.5 元学习 ·············································217


10.5.6 挑战赛中使用的方法 ······················219


10.6 讨论··········································224


10.7 总结··········································226


参考文献·············································229





短评

对自动机器学习做了比较好的梳理,值得一读。

2020-10-24 12:03:45

新书,很好的,平常闲下来再看看

2020-10-26 09:24:44

很快,不错的

2020-10-24 15:49:51

产品特色