首页>参考读物>计算机科学与技术>人工智能

现代决策树模型及其编程实践:从传统决策树到深度决策树
作者 : 黄智濒 编著
出版日期 : 2022-07-12
ISBN : 978-7-111-70636-6
定价 : 129.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 434
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

决策树是数据分析中广泛使用的机器学习模型,其模型简单、算法快速且具有可解释性。但随着大数据的涌现,将决策树真正应用到实践中还面临诸多困难。本书正是为解决这一痛点而作,旨在帮助读者系统且全面地了解决策树,并成功地将其用于工程实践。

图书特色

图书前言

生活中,我们处处在做决策,这类决策也许是快速而直接的。工作中,我们可能要做出一些重大而复杂的决策,这类决策往往需要我们细致地收集各种影响要素,量化分析其权重,最终得到符合意图的决策结果。正是这种认知行为意识使得决策分析和基于树的决策工具在1500年前就开始使用了,长期的树形分析实践为后来决策树方法的诞生提供了丰富的养分。现代决策树算法的演化是人工智能深入发展过程中的重要组成部分。由于优秀的可解释性、模型的简单性、算法的快速性,使得决策树算法受到了越来越广泛的关注,正在成为数据科学和智能科学领域技术人员的必备工具。我相信决策树还将深入影响未来人工智能模式的发展。
在过去的三年中,我有幸参与了一个以决策树作为主要工具的重点项目。我们通过深入学习、探索和研究各类决策树模型,最终实现了具有良好可解释性、能有效处理超大规模数据且能快速实现预测评估的机器学习模型。本书是我们在项目实践过程中的积累与总结。
本书从决策分析及其应用引入主题,首先介绍决策树与人工智能的关系(第1章),然后介绍经典的决策树算法(第2章),通过对CART、ID3和C4.5等算法的介绍,帮助读者对决策树形成明确且清晰的概念。之后结合分类问题和回归问题进行实践,特别是对回归问题进行了深入讨论——回归模型正成为现代决策树模型与深度学习模型的有效结合点。第3章深入讲解经典的决策树剪枝方法,特别是代价复杂度剪枝、错误率降低剪枝、悲观错误剪枝和最小错误剪枝,通过示例和编程实践进行详细描述。第4章介绍随机森林的基本原理,结合示例和编程实践详细描述了随机森林的构造过程,并对套袋法进行分析。第5章介绍当前较为热门的集成学习方法(提升法、梯度提升法、堆叠法),通过示例和编程实践详细讲解AdaBoost和梯度提升法。第6章着重介绍并行决策树的几种主流算法,包括XGBoost、LightGBM和CatBoost,并简要介绍了较新的NGBoost算法。该章首先对各算法的核心原理做了分析,然后从工程化角度介绍其并行化加速方法,同时还提供了一些应用实例。第7章介绍常见的几类蚁群算法以及在此基础上的蚁群决策树算法和自适应蚁群决策森林。群智模型作为人工智能2.0时代的典型智能模型,其群体智能的全局搜索能力与决策树的可解释性的有效结合,也许会带来预料之外的成功。第8章介绍深度决策树算法,包括深度森林、深度神经决策树、自适应神经决策树、神经支持决策树和深度神经决策森林,并借助PyTorch等工具对程序和示例进行分析。
本书围绕决策树算法和现代决策树模型,通过大量的示例和完整的代码实现详细讲解决策树的精髓,既涵盖必要的公式推导,又考虑具体的应用需求。本书的所有代码均可免费获取,有需要的读者请访问华章网站(www.hzbook.com)搜索本书并下载。通过阅读本书,希望读者能对决策树有系统和全面的了解,并能够将其快速应用在工作和生活实践中。如果这本书能给你带来“开卷有益”的感受,那将是我最大的欣慰了。
最后,感谢家人和朋友的支持和帮助。感谢在本书撰写过程中做出贡献的人,特别是常霄、曹凌婧、刘小萌、洪艺宾、张瑞涛、刘涛、傅广涛、董丹阳、法天昊、靳梦凡、汪鑫等,常霄负责全书代码的编写和整理工作。还要感谢机械工业出版社的各位编辑,以及北京邮电大学计算机学院(国家示范性软件学院)的大力支持。

黄智濒
于北京邮电大学目录

专家评论

人工智能和数据科学正处于一个关键拐点,回归分类方法使得决策树模型与深度模型有机结合,这也为可解释机器学习和未来决策树模型的发展开辟了广阔的道路。本书对相关概念、原理和方法进行了深入浅出的介绍,涵盖从传统决策树到深度决策树的广泛主题,非常值得一读。书中不仅清晰地讲解了相关算法的原理,还从工程化和实践编程的角度进行了举例分析和演算,对帮助读者了解和应用决策树算法具有重要价值。
马华东,教授,博士生导师,北京邮电大学计算机学院(国家示范性软件学院)前执行院长,国家杰出青年科学基金获得者,国家973计划项目“物联网体系结构基础研究”首席科学家

决策树是人工智能机器学习算法的重要分支,具有条理清晰、定量/定性分析相结合、适用范围广等优点。本书基于作者广泛而深入的研发实践,具有两个显著的特点:系统性,系统地介绍主流的、前沿的决策树模型和算法;实用性,对于每一类决策树算法都给出了实际的编程案例,为读者学习和应用相关算法提供了很好的参考资料。虽然介绍决策树模型和算法的资料较多,但是系统介绍决策树模型、算法、编程实现及发展趋势的书还比较少见。相信本书的出版能够很好地满足希望全面且系统地学习决策树算法的读者的需求。
白鹏,博士,研究员,博士生导师,中国航天空气动力技术研究院科技委常委

对于任何有兴趣进一步了解数据分析决策和相关数据科学技术的人来说,决策树模型都是一个很好的起点,因为它简单快速而且具有可解释性。本书系统地介绍了从传统决策树到深度决策树的各类现代决策树模型,从必要的公式推导,到详尽的实例计算,再到可实践的编程代码,带领读者快速进入决策树领域,并将其应用在自己的工作中。
胡金晖,中电科新型智慧城市研究院有限公司总经理助理

本书详细介绍了以决策树为基础的多种经典方法和新的技术进展,在CNN和Transformer等神经网络范式盛行的今天,向读者展示了另外一条经典的人工智能技术路径。决策树及其变种作为经典的机器学习算法,已经大量应用于实际生产系统,相比于黑盒的深度神经网络,决策树算法有着计算速度快、可解释性强的优点。除了理论介绍外,本书还配备了丰富的实例和相应的代码实现,可以作为决策树模型初学者的入门教材,也可以作为专业人员的参考书。
王均松,华为人工智能系统专家

这是一本精彩的书,涵盖所有核心算法,从经典决策树到创新的深度决策树均有讨论。全书通过公式推导、实例演算和编程实践,以易于理解的方式呈现了决策树的精髓。本书对于推动决策树的实践应用具有重要价值。
张峰,中国电科信息科学研究院认知与智能技术重点实验室副主任

本书是了解和学习现代决策树的必备书籍,对重新认识决策树模型和深度学习方法以及可解释机器学习模型具有重要作用。
孙亭,中电科西北集团有限公司董事、常务副总经理

作为一种现代工具,人工智能正在快速渗透到各行各业并产生深远影响。如果你正在关注人工智能,且试图用人工智能解决一些实际问题,那么,本书非常值得一读。它系统地介绍了现代决策树算法,通过大量的实例和完整的代码实现,帮助你快速了解决策树算法,掌握其精髓,建立用决策树算法解决实际问题的思路,并快速形成代码,体验人工智能的超强能力。
杨武兵,博士,中国航天空气动力技术研究院研究员、博士生导师

决策树具有分类速度快、易于理解等特点,在人工智能领域应用广泛。本书以决策树相关项目实践为基础,全面介绍决策树算法的相关知识,包括决策树发展历史、当前决策树算法面临的主要问题、当前经典决策树算法原理及编程实践、决策树算法的并行化等。本书是数据科学、大数据技术、人工智能等相关领域的技术人员入门或提升技能的不可多得的参考书。
陶袁,博士,吉林师范大学数学学院副教授,吉林师范大学博达学院数学学院院长

上架指导

计算机\人工智能

封底文字

人工智能和数据科学正处于一个关键拐点,回归分类方法使得决策树模型与深度模型有机结合,这也为可解释机器学习和未来决策树模型的发展开辟了广阔的道路。本书对相关概念、原理和方法进行了深入浅出的介绍,涵盖从传统决策树到深度决策树的广泛主题,非常值得一读。
——马华东 教授,博士生导师,北京邮电大学计算机学院(国家示范性软件学院)
前执行院长,国家杰出青年科学基金获得者,国家973计划项目
“物联网体系结构基础研究”首席科学家

本书基于作者广泛而深入的研发实践,具有两个显著特点:系统性,系统地介绍主流的、前沿的决策树模型和算法;实用性,对于每一类决策树算法都给出了实际的编程案例,为读者学习和应用相关算法提供了很好的参考资料。
——白鹏 博士,研究员,博士生导师,中国航天空气动力技术研究院科技委常委

本书对决策树的实践应用具有重要价值,特别是对于那些对数据科学和人工智能感兴趣的人来说,这是了解决策树模型的一本很棒的参考书。
——肖利民 博士,教授,博士生导师,北京航空航天大学计算机科学技术系
主任,计算机系统结构研究所所长

本书系统地介绍了各类现代决策树模型,从必要的公式推导,到详尽的实例计算,再到可实践的编程代码,带领读者快速进入决策树领域,并将其应用在自己的工作中。
——胡金晖 中电科新型智慧城市研究院有限公司总经理助理

在CNN和Transformer等神经网络范式盛行的今天,本书向读者展示了另外一条经典的人工智能技术路径。相比于黑盒的深度神经网络,决策树算法有着计算速度快、可解释性强的优点。本书既可以作为决策树模型初学者的入门教材,也可以作为专业人员的参考书。
——王均松 华为人工智能系统专家

推荐序

推荐序一
美国东部时间1986年1月28日上午11时39分,美国挑战者号航天飞机由于发射时右侧航天飞机固体助推器的O形环碎裂,在发射后第73秒时解体并导致参与本次飞行任务的所有7名成员罹难。有关固体火箭助推器设计上的安全隐患,某些决策者已在决策过程中提出过,但由于决策过程的复杂以及数据信息传递的不精确,导致决策失误,最终导致发射失败。
信息并非组织决策过程中的次要构件,决策过程本身也是一个信息传播的过程,或者意义生成的过程。智能问题其实可以分为感知、认知推理和决策三个步骤,而决策是所有智能最终的目标。智能是指在不确定的环境中能采取合适的行动,或者做出合适的选择和决定的能力,也就是决策智能。这里的环境,是指我们试图用人工智能更好地了解、探索、建模和驾驭的物理世界、人类社会等系统。
20多年前,我们就围绕决策支持系统对航天气动设计与优化过程展开了深入研究,通过与专家系统的结合,以知识推理的形式实现了航天气动与故障的快速定性分析,同时发挥了决策支持系统以模型计算为核心解决定量分析问题的优势,充分做到了定性分析和定量分析的有机结合,使得解决问题的能力和范围得到了较大的提升。智能决策支持系统和决策智能是决策支持系统发展过程中的一个新阶段。决策树模型兼具可解释性和快速性的特征,它的“白盒”推理能力对于航天气动设计的智能化具有重要价值,甚至未来还可以探索与专家经验和知识结合的方法,从而为将人工智能有效应用到传统科学的关键问题中提供一种新途径。
本书系统地介绍了各种决策树模型,围绕传统决策树算法,对各种基本概念和核心思想进行了深入浅出的讲解。本书讨论了各类集成学习方法,介绍了决策树与未来人工智能模型的结合途径,并涵盖处理大数据的决策树模型,从中可以看到未来决策树在传统科学研究中将大有用武之地。关于蚁群决策树和深度决策树模型的讨论,让我们相信未来人工智能2.0时代,决策树依然是一种有效的人工智能模型。本书不仅包括对基本原理的介绍和推导,还通过大量的示例一步一步完成计算,帮助读者理解公式。而且,本书侧重于编程实现,提供了大量代码,可以帮助读者进一步学以致用。
相信本书的出版定将推动决策树与智能决策支持系统的研究与应用。

艾邦成
博士,研究员,博士生导师
中国航天空气动力技术研究院副院长
中国空气动力学会高超声速专业委员会主任



推荐序二
现在人们常说选择比努力更加重要,说的就是在面对众多可能性时,保持清晰的思路,做出最有利于自己的决策并为之坚持不懈。这体现了决策在生活中的意义。决策可大可小,大到国家政策,小到生活琐事。但是无论决策大小,都需要决策者对所面临的问题以及内外部各种因素进行综合考量,这样才能够做出最佳决策。尤其是在当下这个大数据时代,各种数据和因素都会影响决策者的判断,这就需要决策者学会利用数据分析方法,从而不会迷失在数据海洋中。
在数据分析领域,决策树是一种非常流行的方法,此方法能够保证我们在面临各种干扰的时候做出理性的判断。近年来随着高性能计算、大数据和深度学习技术的飞速发展,决策树算法及其应用也得到了更为广泛的关注和更加快速的发展。尤其是决策树与深度学习相结合而发展起来的深度强化学习技术已取得若干突破性进展。
经典决策树算法诞生在20世纪90年代之前,它是一种非参数化的有监督学习方法,可用于分类和回归任务。与人工神经网络等算法不同,决策树相对来说更容易理解和解释,因为它共享内部决策逻辑。许多数据科学家认为这是一种老方法,而且存在过拟合问题,对其准确性也有一些怀疑。但最近的基于树的模型,特别是随机森林、梯度提升和XGBoost等建立在决策树算法之上的机器学习模型,已经获得了巨大的成功。我们相信,未来决策树算法将在数据分析领域拥有更广阔的应用前景。
因此,现在可以说是深入学习决策树算法的最佳时机,而本书则是入门和精通决策树算法的不二选择。书中系统地讲解了决策树算法的概念、基础知识和原理。从内容广度上来看,本书汇总了经典的决策树算法,不仅分析了各个决策树算法的核心原理,同时还进行了代码实现。从内容深度上来看,本书既介绍了传统的决策树算法(CART、ID3、C4.5等),也包括最近发展起来的深度决策树算法(并行决策树、蚁群决策树、深度决策树等)。通过阅读本书,读者能够快速、准确地了解决策树的全貌,并明晰未来决策树算法在数据分析领域的用途。

杨文胜
国家市场监督管理总局广州数据中心(灾备中心)主任
北京信城通数码科技有限公司CEO


推荐序三
决策无处不在。没有什么比事实更好,当我们要做出决策时,如果有事实可以依赖,往往会根据事实做决策。从事实(原始数据)到影响因素(特征数据)再到决策(信息、结论),我们有众多的工具可用,其中人工智能和机器学习方法是目前学术界和产业界正在如火如荼地研究和实践的领域。然而,在所有的机器学习算法中,决策树应该是“最友好”的了。它的整个运行机制具有良好的可解释性和人类模仿性。人类可以在可接受的时间内,采用输入数据和决策树模型参数,经过每个计算步骤,得到预测结果。这种模型特性更容易获得人类的信任,而且有助于通过正反馈不断改进该模型。
目前人工智能应用已经渗透到生活的方方面面,成为我们生活中重要的一部分。未来有望产生一个能够感知、学习、做出决策和采取独立行动的自主系统。但是,如果这些系统无法向人类解释为何做出这样的决策,那么它们的有效性将会受到限制。人类要想理解、信任和管理这些智慧的“合作伙伴”,可解释性和模仿性至关重要。正是这种强需求让传统决策树方法焕发新生机,特别是回归任务催生的一些应用,使得深度学习模型与梯度提升决策树模型形成了有机的结合,使决策树算法和模型的研究进入了新的阶段。周志华教授等提出的深度森林,将集成学习方法与决策树模型相结合,示范了另一种深度模型的构建方法。决策树模型在未来人工智能的创新发展中具有重要的地位。
本书从经典决策树入手,介绍了核心的原理和机制,从公式推导、实例演算到代码实现,以易于理解且可实践的方式呈现了决策树的方方面面。特别是详细介绍了各类新的决策树模型及其工程化优化原理,包括并行决策树、蚁群决策树以及多种深度决策树。
本书对决策树的实践应用具有重要价值,特别是对于那些对数据科学和人工智能感兴趣的人来说,这是了解决策树模型的一本很棒的参考书。

肖利民
博士,教授,博士生导师
北京航空航天大学计算机科学技术系主任
计算机系统结构研究所所长前言

图书目录

赞誉
推荐序一
推荐序二
推荐序三
前言
第1章决策树与人工智能1
1.1决策与智能1
1.2决策树算法的起源2
1.3决策树的核心术语4
1.4决策树的可解释性5
1.5作为决策分析工具的决策树7
1.5.1决策分析8
1.5.2基于决策分析流程的决策树9
1.6作为机器学习算法的决策树15
1.6.1机器学习算法的类型15
1.6.2基于数据的决策树18
1.6.3决策树算法面临的基本问题24
1.6.4基于规则的机器学习27
1.7作为特征学习与决策融合的决策树30
1.8参考文献31
第2章经典决策树算法33
2.1经典决策树应用的一般流程33
2.1.1缺失值的处理33
2.1.2连续数值属性的离散化处理34
2.2CART算法34
2.2.1基尼不纯度、基尼增益与基尼指数34
2.2.2CART分类决策树的原理38
2.2.3CART分类决策树的编程实践43
2.2.4回归问题与回归算法55
2.2.5CART回归决策树的特征和分割点选择准则65
2.2.6CART回归决策树的原理66
2.2.7CART回归决策树的编程实践70
2.3ID3算法75
2.3.1信息熵与信息增益75
2.3.2ID3算法示例78
2.3.3ID3算法的编程实践84
2.4C4.5算法87
2.4.1信息增益率88
2.4.2连续属性的处理88
2.4.3缺失值的处理88
2.4.4基于C4.5算法处理连续属性生成分类决策树的示例91
2.4.5C4.5算法的后续改进——C5.0算法96
2.5决策树的评估98
2.6决策树的5种可视化方法100
2.7小结107
2.8参考文献107
第3章决策树的剪枝109
3.1代价复杂度剪枝110
3.1.1CCP算法的基本原理110
3.1.2CCP算法的编程实践113
3.1.3基于sklearn的CCP示例121
3.2错误率降低剪枝127
3.2.1REP算法的基本原理127
3.2.2REP算法的编程实践128
3.3悲观错误剪枝133
3.3.1PEP算法的基本原理133
3.3.2PEP算法的编程实践135
3.4最小错误剪枝139
3.4.1MEP算法的基本原理139
3.4.2MEP算法的编程实践140
3.5其他决策树剪枝算法简介145
3.6小结147
3.7参考文献147
第4章随机森林149
4.1随机森林的基本原理149
4.1.1构造随机森林的步骤150
4.1.2随机森林的简单示例151
4.1.3基于sklearn的随机森林编程示例152
4.1.4选择最优的随机特征属性数量153
4.2套袋法156
4.2.1套袋法的算法流程157
4.2.2套袋法的偏差和方差157
4.2.3套袋法的优缺点159
4.3随机森林的参数设置与调优159
4.3.1sklearn随机森林的参数159
4.3.2调参示例161
4.3.3OOB错误率与交叉验证166
4.4随机森林的优缺点174
4.5使用随机森林进行特征属性的重要性区分的示例175
4.5.1基于基尼指数的特征属性重要性评估175
4.5.2基于袋外数据错误率的特征属性重要性评估177
4.6使用随机森林进行无监督聚类的示例179
4.7使用随机森林进行回归分析的示例182
4.8随机森林与核方法的结合184
4.9小结186
4.10参考文献186
第5章集成学习方法188
5.1提升法188
5.1.1AdaBoost算法原理189
5.1.2AdaBoost算法实现199
5.1.3AdaBoost算法的编程实践——基于sklearn解决分类问题203
5.1.4AdaBoost算法的编程实践——基于sklearn解决回归问题205
5.1.5提升法的分类、优点和挑战207
5.2梯度提升法208
5.2.1梯度提升法的原理和示例208
5.2.2梯度提升决策树211
5.2.3梯度提升分类决策树213
5.2.4梯度提升回归决策树223
5.2.5随机梯度提升树227
5.2.6基于梯度提升法的机器学习库228
5.3堆叠法233
5.3.1简单的二阶段堆叠算法234
5.3.2基于K折交叉验证的二阶段堆叠法237
5.3.3基于sklearn的K折交叉验证的二阶段堆叠法的编程实践238
5.3.4多阶段堆叠模型247
5.4套袋法、提升法、堆叠法的比较250
5.5小结252
5.6参考文献253
第6章并行决策树256
6.1随机森林的并行化256
6.2XGBoost基础259
6.2.1XGBoost核心原理260
6.2.2XGBoost系统设计及其并行化加速270
6.2.3XGBoost编程基础272
6.2.4XGBoost回归问题编程275
6.2.5XGBoost分类问题编程277
6.2.6XGBoost随机森林编程278
6.2.7XGBoost特征筛选编程281
6.2.8XGBoost与传统提升树的比较283
6.2.9XGBoost的缺点284
6.3LightGBM基础284
6.3.1LightGBM核心原理285
6.3.2LightGBM系统设计及其并行化加速291
6.3.3LigthGBM编程基础294
6.3.4LightGBM与sklearn结合的示例300
6.3.5LightGBM回归问题编程302
6.3.6LightGBM分类问题编程303
6.3.7LightGBM的优缺点305
6.4CatBoost基础306
6.4.1CatBoost核心原理306
6.4.2CatBoost系统设计及其并行化加速313
6.4.3CatBoost编程基础313
6.4.4CatBoost分类问题编程(不带分类特征属性)317
6.4.5CatBoost回归问题编程(不带分类特征属性)319
6.4.6CatBoost回归问题编程(带分类特征属性)321
6.4.7CatBoost的优缺点323
6.4.8XGBoost、LightGBM、CatBoost的比较324
6.5NGBoost简介325
6.6小结326
6.7参考文献326
第7章蚁群决策树329
7.1蚁群元启发式算法329
7.1.1典型蚁群算法330
7.1.2MMAS算法331
7.1.3ACS算法332
7.2基于蚁群的分类规则提取333
7.2.1Ant-Miner规则提取方法334
7.2.2Ant-Miner算法实现339
7.2.3Ant-Miner算法的早期变种345
7.2.4MYRA——开源实现349
7.2.5Ant-MinerMA+G算法350
7.2.6AMclr算法353
7.3蚁群决策树的算法原理355
7.3.1Ant-Tree-Miner决策树生成算法356
7.3.2ACDT算法360
7.4自适应蚁群决策森林362
7.4.1自适应ACDF算法364
7.4.2ACDF算法中的长期提升366
7.5小结367
7.6参考文献367
第8章深度决策树370
8.1深度森林370
8.1.1gcForest的基本原理370
8.1.2gcForest的编程实践376
8.1.3DF21开源库378
8.1.4改进的深度森林模型381
8.2深度神经决策树381
8.2.1DNDT的基本原理382
8.2.2DNDT的编程实践385
8.3自适应神经决策树388
8.3.1ANT的基本原理389
8.3.2ANT的编程实践392
8.4神经支持决策树401
8.4.1NBDT的基本原理401
8.4.2NBDT的编程实践406
8.5深度神经决策森林409
8.5.1dNDF的基本原理410
8.5.2dNDF模型的优缺点414
8.5.3dNDF的编程实践414
8.6小结421
8.7参考文献422

教学资源推荐
作者: [美]安柯·莫特拉(Ankur Moitra) 著
作者: 李玉鑑 张婷 等著
参考读物推荐