《人工智能算法图解》简介:

今天,人工智能在我们的生活中随处可见。它能推送我们喜欢的电视节目,帮助我们诊断疑难杂症,还能向我们推荐商品。因此,让我们掌握人工智能的核心算法,拥抱日新月异的智能世界吧。

与那些充斥着公式和术语的教材不同,本书利用丰富的图表、案例和习题,深入浅出地讲解人工智能的基本概念。你只需要具备高中数学基础知识,即可轻松阅读本书。读完本书之后,你将能亲手设计算法来预测银行交易风险,创造艺术作品甚至配置自动驾驶汽车。

主要内容

●各种人工智能算法的实践场景

●帮助决策的智能搜索算法

●受生物学启发的算法簇

●机器学习与神经网络

●强化学习 与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
· · · · · ·