今天,人工智能在我们的生活中随处可见。它能推送我们喜欢的电视节目,帮助我们诊断疑难杂症,还能向我们推荐商品。因此,让我们掌握人工智能的核心算法,拥抱日新月异的智能世界吧。
与那些充斥着公式和术语的教材不同,本书利用丰富的图表、案例和习题,深入浅出地讲解人工智能的基本概念。你只需要具备高中数学基础知识,即可轻松阅读本书。读完本书之后,你将能亲手设计算法来预测银行交易风险,创造艺术作品甚至配置自动驾驶汽车。
主要内容
●各种人工智能算法的实践场景
●帮助决策的智能搜索算法
●受生物学启发的算法簇
●机器学习与神经网络
●强化学习 与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
温馨提示:请使用广州市白云区图书馆的读者帐号和密码进行登录
★★★★★直击要害,价值非凡。
——— Kendall s.
人工智能让生活变得多姿多彩,“ 人工智能”一词的含义宽泛,被蒙上几分“神秘色彩”,引发了我这个门外汉强烈的探知欲。
此书讲解清晰,用语生动,将一系列复杂的人工智能技术讲得清晰明了。作者和编辑的工作十分出色,为广大读者奉献了-本价值非凡的作品。如果你也对人工智能感兴趣,建议你与我共读此书!
★★★★★优秀书籍,令我爱不释手。
——— Duane
我已经在IT行业摸爬滚打了十多年:很遗憾,我并非数学天才,对AI和ML之类需要深厚数学功底的学科心存畏惧。此书犹如一根蜡烛,光亮瞬间驱散了-片黑暗;此书用浅显易懂的文字讲明了深刻的道理,使我这样的笨鸟也能起飞,理解了人工智能的实际工作原理。我极力推荐这本书!
★★★★★必备指南, 将复杂的技术讲得简单易懂。
——— Melssa Pistorius
很多数据科学书籍和博客中堆砌了大量的数学公式,晦涩难懂;如果你未能从宏观上了解算法,你将备感沮丧和迷茫。此书并未罗列过多数学符号和公式,而是高屋建瓴,指导你弄清人工智能的来龙去脉。如果你想在程序中实现算法,书中的一些伪代码可起到指导作用。
此书示例和插图丰富,语言流畅,读来令人愉悦。无论你是对人工智能算法感兴趣的初学者,还是资深专家,都将在学习此书的过程中获益。
★★★★★一 本很棒的书,点燃了我参与人工智能的热情。
——— Tyler
阅读此书的过程是一次畅快淋漓的学习经历。每章都包含富有价值的信息,有条理地呈现重要的知识点,在示例的引导下抽丝剥茧般阐释核心概念。我迫不及待地想要实现章节中的一些算法。
“在我见过的所有与人工智能相关的书籍中,此书是最值得推荐;它不仅能帮你掌握人工智能算法,还能让你明白为什么要使用这一算法,以及如何让算法获得更好的表现。
——— Linda Ristevski,约克公立中学教育委员会
“此书覆盖了多个领域的计算机科学知识,其广度令人难以置信,它能为一线程序员提供一条清晰、完整的通往智能的道路。
——— David Jacobs,高级产品经理
“我读过的更容易理解的人工智能算法教材。”
——— Karan Nih,软件解决方案专家
“此书让我们不再害怕了解人工智能的运行机制。”
——— Kyle Peterson,爱荷华大学体育系