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