描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302594239
源代码下载地址:http://www.tupwk.com.cn/downpage
本书重点涵盖的算法簇包括搜索算法、进化算法与群体智能算法。每簇算法由浅入深分.上下两章,上章 基础篇围绕各种实际案例阐述算法设计理念,下章高级篇则带读者思考如何打造更理想的解决方案。同时,本书以典型机器学习工作流为例,讲解线性回归、决策树、神经网络与强化学习等常见算法类别。读完本书,你将能掌握清洗数据、训练模型、测试模型、调优算法等整个学习流程中的关键技巧一-正所谓万变不离其宗, 这将为你以后进一步探索智能世界打下坚实基础。
承接“图解”系列的一贯作风, 本书中不会出现任何复杂的公式,取而代之的是各种实战图例。只需要具备高中数学水平和基础编程知识,你就可顺利解决书中提及的从智能对弈到停车场寻路的各种案例。更棒的是,算法核心代码往往相对独立地运作,不会像真正意义上的工程代码那样复杂,百十行就能轻松解决集装箱自动化配货之类的问题(书中所有样例代码均在Github. 上免费开源)。触手可得的智能解决方案,为什么不试试看呢?
今天,人工智能在我们的生活中随处可见。它能推送我们喜欢的电视节目,帮助我们诊断疑难杂症,还能向我们推荐商品。因此,让我们掌握人工智能的核心算法,拥抱日新月异的智能世界吧。 与那些充斥着公式和术语的教材不同,本书利用丰富的图表、案例和习题,深入浅出地讲解人工智能的基本概念。你只需要具备高中数学基础知识,即可轻松阅读本书。读完本书之后,你将能亲手设计算法来预测银行交易风险,创造艺术作品甚至配置自动驾驶汽车。
主要内容
●各种人工智能算法的实践场景
●帮助决策的智能搜索算法
●受生物学启发的算法簇
●机器学习与神经网络
●强化学习 与Q-learning
第1章 人工智能初印象 1
1.1 什么是人工智能? 1
1.1.1 定义AI 2
1.1.2 理解数据是智能算法的核心 3
1.1.3 把算法看作“菜谱” 4
1.2 人工智能简史 6
1.3 问题类型与问题解决范式 7
1.4 人工智能概念的直观印象 9
1.5 人工智能算法的用途 13
1.5.1 农业:植物种植优化 13
1.5.2 银行业:欺诈检测 14
1.5.3 网络安全:攻击检测与处理 14
1.5.4 医疗:智能诊断 14
1.5.5 物流:路径规划与优化 15
1.5.6 通信:网络优化 16
1.5.7 游戏:主体创造 16
1.5.8 艺术:创造杰出作品 17
1.6 本章小结 17
第2章 搜索算法基础 21
2.1 什么是规划与搜索? 21
2.2 计算成本:需要智能算法的原因 23
2.3 适合用搜索算法的问题 24
2.4 表示状态:创建一个表示问题空间与解的框架 26
2.4.1 图:表示搜索问题与解 28
2.4.2 用具体的数据结构表示图 28
2.4.3 树:表示搜索结果的具体结构 29
2.5 无知搜索:盲目地找寻解 31
2.6 广度优先搜索:先看广度,再看深度 33
2.7 深度优先搜索:先看深度,再看广度 39
2.8 盲目搜索算法的用例 45
2.9 可选:关于图的类别 46
2.10 可选:其他表示图的方法 47
2.10.1 关联矩阵 47
2.10.2 邻接表 48
2.11 本章小结 48
第3章 智能搜索 51
3.1 定义启发式方法:设计有根据的猜测 51
3.2 知情搜索:在指导下寻求解决方案 54
3.2.1 A*搜索 54
3.2.2 知情搜索算法的用例 61
3.3 对抗性搜索:在不断变化的环境中寻找解决方案 62
3.3.1 一个简单的对抗性问题 62
3.3.2 小-搜索:模拟行动并选择好的未来 63
3.3.3 启发式 64
3.3.4 阿尔法-贝塔剪枝:仅探索合理的路径 72
3.3.5 对抗搜索算法的典型案例 75
3.4 本章小结 75
第4章 进化算法 77
4.1 什么是进化? 77
4.2 适合用进化算法的问题 80
4.3 遗传算法的生命周期 84
4.4 对解空间进行编码 86
4.5 创建解决方案种群 89
4.6 衡量种群中个体的适应度 91
4.7 根据适应度得分筛选亲本 93
4.8 由亲本繁殖个体 96
4.8.1 单点交叉:从每个亲本继承一部分 97
4.8.2 两点交叉:从每个亲本继承多个部分 98
4.8.3 均匀交叉:从每个亲本继承多个部分 98
4.8.4 二进制编码的位串突变 100
4.8.5 二进制编码的翻转位突变 101
4.9 繁衍下一代 101
4.9.1 探索与挖掘 102
4.9.2 停止条件 102
4.10 遗传算法的参数配置 104
4.11 进化算法的用例 105
4.12 本章小结 105
第5章 进化算法(高级篇) 107
5.1 进化算法的生命周期 107
5.2 其他筛选策略 109
5.2.1 排序筛选法:均分赛场 109
5.2.2 联赛筛选法:分组对抗 110
5.2.3 精英筛选法:只选好的 111
5.3 实值编码:处理真实数值 111
5.3.1 实值编码的核心概念 112
5.3.2 算术交叉:数学化繁殖 113
5.3.3 边界突变 113
5.3.4 算术突变 114
5.4 顺序编码:处理序列 114
5.4.1 适应度函数的重要性 116
5.4.2 顺序编码的核心概念 116
5.4.3 顺序突变:适用于顺序编码 116
5.5 树编码:处理层次结构 117
5.5.1 树编码的核心概念 118
5.5.2 树交叉:继承树的分支 119
5.5.3 节点突变:更改节点的值 120
5.6 常见进化算法 120
5.6.1 遗传编程 120
5.6.2 进化编程 121
5.7 进化算法术语表 121
5.8 进化算法的其他用例 121
5.9 本章小结 122
第6章 群体智能:蚁群优化 125
6.1 什么是群体智能? 125
6.2 适合用蚁群优化算法的问题 127
6.3 状态表达:如何表达蚂蚁和路径? 130
6.4 蚁群优化算法的生命周期 134
6.4.1 初始化信息素印迹 135
6.4.2 建立蚂蚁种群 136
6.4.3 为蚂蚁选择下一个访问项目 138
6.4.4 更新信息素印迹 145
6.4.5 更新解决方案 149
6.4.6 确定终止条件 150
6.5 蚁群优化算法的用例 152
6.6 本章小结 153
第7章 群体智能:粒子群优化 155
7.1 什么是粒子群优化? 155
7.2 优化问题:略偏技术性的观点 157
7.3 适合用粒子群优化算法的问题 160
7.4 状态表达:粒子是什么样的? 162
7.5 粒子群优化的生命周期 163
7.5.1 初始化粒子群 164
7.5.2 计算粒子的适应度 166
7.5.3 更新粒子的位置 169
7.5.4 确定终止条件 180
7.6 粒子群优化算法的用例 181
7.7 本章小结 183
第8章 机器学习 185
8.1 什么是机器学习? 185
8.2 适合用机器学习的问题 187
8.2.1 监督学习 188
8.2.2 非监督学习 188
8.2.3 强化学习 188
8.3 机器学习的工作流程 188
8.3.1 收集和理解数据:掌握数据背景 189
8.3.2 准备数据:清洗和整理 191
8.3.3 训练模型:用线性回归预测 196
8.3.4 测试模型:验证模型精度 205
8.3.5 提高准确性 208
8.4 分类问题:决策树 210
8.4.1 分类问题:非此即彼 210
8.4.2 决策树的基础知识 211
8.4.3 训练决策树 213
8.4.4 用决策树对实例进行分类 223
8.5 其他常见的机器学习算法 226
8.6 机器学习算法的用例 227
8.7 本章小结 228
第9章 人工神经网络 231
9.1 什么是人工神经网络? 231
9.2 感知器:表征神经元 234
9.3 定义人工神经网络 237
9.4 前向传播:使用训练好的人工神经网络 243
9.5 反向传播:训练人工神经网络 250
9.6 激活函数一览 259
9.7 设计人工神经网络 260
9.8 人工神经网络的类型和用例 263
9.8.1 卷积神经网络 263
9.8.2 递归神经网络 264
9.8.3 生成对抗网络 264
9.9 本章小结 266
第10章 基于Q-learning的强化学习 269
10.1 什么是强化学习? 269
10.2 适合用强化学习的问题 272
10.3 强化学习的生命周期 273
10.3.1 模拟与数据:环境重现 274
10.3.2 使用Q-learning模拟训练 278
10.3.3 模拟并测试Q表 287
10.3.4 衡量训练的性能 287
10.3.5 无模型和基于模型的学习 288
10.4 强化学习的深度学习方法 289
10.5 强化学习的用例 289
10.5.1 机器人技术 290
10.5.2 推荐引擎 290
10.5.3 金融贸易 290
10.5.4 电子游戏 291
10.6 本章小结 291
《人工智能算法图解》一书主要面向希望掌握智能技术的初学者。通过使用类比法、比较法和图例解释,结合真实世界中的案例分析,我们希望《人工智能算法图解》能使人工智能算法更易于理解和实现,并希望在此基础上帮助读者掌握利用智能技术解决实际问题的途径和方法。
《人工智能算法图解》受众
《人工智能算法图解》是为软件开发人员(或软件相关行业从业人员)设计的,期望通过实际的例子来揭示人工智能背后的概念和算法,以可视化的方式帮助读者理解人工智能教材中那些常见的深奥理论与数学证明。
《人工智能算法图解》的目标读者是那些对计算机编程基础概念(包括变量、数据类型、数组、条件语句、迭代器、类和函数)有所了解的人,不要担心,你只需要掌握任意一门编程语言就足够了;与此同时,你只需要了解下面这几个基本的数学概念:变量、函数以及在图表上绘制变量和函数的方法。
《人工智能算法图解》的组织结构
《人工智能算法图解》包含10章,每一章侧重于不同的人工智能算法或实践方法。书中所涉及的概念由浅入深,前面章节的基本算法和概念将会为后面更复杂的算法奠定基础,以便读者循序渐进地学习。
第1章——人工智能初印象。该章介绍关于人工智能的基本概念,包括数据含义、问题类型、算法分类以及人工智能技术的典型应用。
第2章——搜索算法基础。该章介绍初级搜索算法涉及的数据结构、核心理念、实现方法以及典型应用。
第3章——智能搜索。该章在初级搜索算法的基础上更进一步,引入能寻找更优解决方案的方法——包括如何在竞争环境中寻找解决方案。
第4章——进化算法。该章深入讲解遗传算法的工作原理。通过模仿自然界中的进化过程,算法能反复生成并改进问题的解决方案。
第5章——进化算法(高级篇)。作为上一章的延续,该章深入讨论调整遗传算法中的步骤与参数的方法,以产生更理想的解或解决不同类型的问题。
第6章——群体智能:蚁群优化。该章旨在帮助读者掌握群体智能算法的基本概念,以蚂蚁的生活与工作方式为例,描述蚁群优化算法是如何解决实际难题的。
第7章——群体智能:粒子群优化。该章继续讲解群体智能算法,深入讨论优化问题的本质,并帮助读者掌握使用粒子群优化算法来解决优化问题的方式、方法——群体智能算法常常能在巨大的搜索空间中找到足够理想的解决方案。
第8章——机器学习。结合数据的准备、处理、建模和测试这一常见的机器学习工作流程,讲解如何解决线性回归问题和决策树分类问题。
第9章——人工神经网络。该章揭示训练并使用人工神经网络在数据中寻找模式和进行预测的基本原理、逻辑步骤和计算方法,强调人工神经网络在当代机器学习领域中的地位。
第10章——基于Q-learning的强化学习。该章结合行为心理学讲解强化学习算法的设计思路,并以Q-learning 算法为例,阐明智能体是如何学习在环境中作出决策的。
原则上,建议读者从头到尾依次阅读《人工智能算法图解》的各个章节,并随着阅读进度逐步建立起对书中所述概念的理解。在读完每一章之后,不妨尝试根据书中所给出的伪代码实现并运行算法,以在实践中更好地理解算法原理。
关于代码
《人工智能算法图解》以伪代码的形式给出算法的参考实现——这种方法更加专注于算法背后的原理和逻辑思维。无论你偏好何种编程语言,我们都可确保你理解算法的设计思路。伪代码是非正式的代码实现,它更易于理解,或者说更符合人类的阅读习惯。
话虽如此,对于书中描述的所有算法,你可在Github上获得能直接运行的Python代码示例。源代码中也有安装说明供你参考。在读完每一章之后,不妨尝试运行《人工智能算法图解》给出的代码,来巩固对算法的理解。
需要说明的是,书中给出的Python代码旨在讲解算法实现,因此仅供参考——这些代码是针对学习而非生产用途而设计的。在《人工智能算法图解》中,我们以教学为宗旨,尝试自行编写代码(而非简单调用现存机器学习库)来帮助读者更好地理解算法的实现。对于真正以生产为目的的项目,建议使用业界成熟的库和框架,因为它们通常已经针对性能进行了一系列优化,经过了大量实践检验,并且具备丰富的社区支持。
★★★★★直击要害,价值非凡。
——— Kendall s.
人工智能让生活变得多姿多彩,“ 人工智能”一词的含义宽泛,被蒙上几分“神秘色彩”,引发了我这个门外汉强烈的探知欲。
此书讲解清晰,用语生动,将一系列复杂的人工智能技术讲得清晰明了。作者和编辑的工作十分出色,为广大读者奉献了-本价值非凡的作品。如果你也对人工智能感兴趣,建议你与我共读此书!
★★★★★优秀书籍,令我爱不释手。
——— Duane
我已经在IT行业摸爬滚打了十多年:很遗憾,我并非数学天才,对AI和ML之类需要深厚数学功底的学科心存畏惧。此书犹如一根蜡烛,光亮瞬间驱散了-片黑暗;此书用浅显易懂的文字讲明了深刻的道理,使我这样的笨鸟也能起飞,理解了人工智能的实际工作原理。我极力推荐这本书!
★★★★★指南, 将复杂的技术讲得简单易懂。
——— Melssa Pistorius
很多数据科学书籍和博客中堆砌了大量的数学公式,晦涩难懂;如果你未能从宏观上了解算法,你将备感沮丧和迷茫。此书并未罗列过多数学符号和公式,而是高屋建瓴,指导你弄清人工智能的来龙去脉。如果你想在程序中实现算法,书中的一些伪代码可起到指导作用。
此书示例和插图丰富,语言流畅,读来令人愉悦。无论你是对人工智能算法感兴趣的初学者,还是资深专家,都将在学习此书的过程中获益。
★★★★★一 本很棒的书,点燃了我参与人工智能的热情。
——— Tyler
阅读此书的过程是一次畅快淋漓的学习经历。每章都包含富有价值的信息,有条理地呈现重要的知识点,在示例的引导下抽丝剥茧般阐释核心概念。我迫不及待地想要实现章节中的一些算法。
“在我见过的所有与人工智能相关的书籍中,此书是值得推荐;它不仅能帮你掌握人工智能算法,还能让你明白为什么要使用这一算法,以及如何让算法获得更好的表现。
——— Linda Ristevski,约克公立中学教育委员会
“此书覆盖了多个领域的计算机科学知识,其广度令人难以置信,它能为一线程序员提供一条清晰、完整的通往智能的道路。
——— David Jacobs,高级产品经理
“我读过的容易理解的人工智能算法教材。”
——— Karan Nih,软件解决方案专家
“此书让我们不再害怕了解人工智能的运行机制。”
——— Kyle Peterson,爱荷华大学体育系
评论
还没有评论。