人工智能:原理与实践
书籍作者:查鲁·C.阿加沃尔 |
ISBN:9787111710677 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:5727 |
创建日期:2023-06-01 |
发布日期:2023-06-01 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
本书介绍了经典人工智能(逻辑或演绎推理)和现代人工智能(归纳学习和神经网络)之间的覆盖范围。分别阐述了三类方法:
演绎推理方法: 这些方法从预先定义的假设开始,并对其进行推理,以得出合乎逻辑的结论。底层方法包括搜索和基于逻辑的方法。这些方法在第 1 章到第 5 章中讨论。归纳学习方法:这些方法从例子开始,并使用统计方法来得出假设。示例包括回归建模、支持向量机、神经网络、强化学习、无监督学习和概率图形模型。这些方法在第 6 章到第 11 章中讨论。整合推理和学习:第 12 章和第 13 章讨论整合推理和学习的技术。例子包括知识图谱和神经符号人工智能的使用。
前言
前 言
“人工智能可能是发生在我们身上的最好的事情,也可能是最坏的事情。”
—斯蒂芬·霍金
人工智能是一个跨学科的领域,包括经典逻辑编程、机器学习和数据挖掘。自这个领域诞生以来,演绎推理和归纳学习之间存在着明显的二分法。在演绎推理的观点中,我们先介绍各种形式的领域知识(通常存储为知识库),然后使用领域知识的形式进行推理。这样的方法具有高度的可解释性。领域知识可用于创建假设,然后利用这些假设进行预测。例如,在国际象棋游戏中,关于棋子的重要性和位置的领域知识可用于创建关于位置质量的假设。这个假设可以通过搜索特定移动数量的可能移动树来预测移动。在学习方法中,数据驱动的证据用于学习如何进行预测。例如,可以使用自我对弈的方式从国际象棋游戏中生成数据,然后学习哪种棋式最适合哪种(类型)位置。由于可能的替代移动序列的数量太大,无法显式计算,因此国际象棋程序通常使用各种类型的机器学习方法将棋盘上的典型棋子图案关联起来,从精心挑选的序列中进行预测。这种方法有点类似于人类移动棋子的方法。尽管归纳学习方法近年来越来越流行,但在早期演绎推理方法更受欢迎。人工智能领域的许多书籍倾向于关注演绎推理,正是因为其早期的主导地位。本书试图找到演绎推理和归纳学习之间的平衡。
归纳学习方法的主要缺点是不可解释,以及通常需要大量的数据。一个关键点是,人类不需要大量的数据来学习。例如,一个孩子通常能够通过少量的例子学会如何识别一辆卡车。虽然人工智能中许多问题的最佳解决方案整合了演绎推理和归纳学习领域的方法,但通常很少讨论这类整合。本书着重介绍人工智能的整合观点,同时讨论人工智能不同观点的优势。
在第1章的概述之后,本书的其余内容主要分为以下三部分。
1. 基于演绎推理的方法:第2~5章讨论演绎推理方法,主要关注领域包括搜索和逻辑。
2. 基于归纳学习的方法:第6~11章讨论归纳学习方法,涵盖的主题包括机器学习、神经网络、无监督学习、强化学习和概率图模型。
3.基于演绎推理和归纳学习的方法:第12章和第13章讨论一些基于演绎推理和归纳学习的方法,包括知识图谱和神经符号人工智能等技术。
本书也讨论了一些近期的重要话题,如迁移学习和终身学习。
在本书中,向量或者多维数据点用上划线标记,如、,其中字母用小写或者大写表示都行,上划线必须要有。向量的点积用中心圆点表示,如·。矩阵则用无上划线的大写斜体字母表示,如R。在本书中,n行d列的矩阵对应整个训练集,用D表示,代表n个数据点和d维特征。因此D中的单个数据点为d维行向量,通常表示为X1, …, Xn。另一方面,数据点的某一个分量上的向量是n维列向量,如n个数据点的n维列变量。观测值yi与预测值的区别在于变量顶部的“^”符号。
美国
纽约州约克敦高地
Charu C. Aggarwal
目录
目 录
推荐序一
推荐序二
译者序
前言
第1章 人工智能导论 1
1.1 引言 1
1.2 两大流派 1
1.3 通用人工智能 9
1.4 代理的概念 10
1.5 人工智能中的演绎推理 12
1.5.1 实例 13
1.5.2 演绎推理的经典方法 17
1.5.3 演绎推理的优势和局限 19
1.6 人工智能中的归纳学习 19
1.6.1 学习的类型 20
1.6.2 无监督学习任务 21
1.6.3 监督学习任务 23
1.7 人工智能中的生物进化 24
1.8 总结 25
1.9 拓展阅读 26
1.10 练习 26
第2章 搜索状态空间 27
2.1 引言 27
2.2 不知情搜索算法 30
2.2.1 案例研究:八个拼图问题 35
2.2.2 案例研究:在线迷宫搜索 36
2.2.3 通过双向搜索提高效率 36
2.3 知情搜索:佳优先搜索 37
2.3.1 贪婪佳优先搜索 39
2.3.2 A*-搜索算法 40
2.4 具有特定于状态的损失函数
的局部搜索 41
2.4.1 爬山 43
2.4.2 禁忌搜索 45
2.4.3 模拟退火 47
2.5 遗传算法 48
2.6 约束满足问题 50
2.6.1 作为约束满足的旅行
推销员问题 50
2.6.2 作为约束满足的图着色 51
2.6.3 数独作为约束满足 51
2.6.4 约束满足的搜索算法 52
2.6.5 利用特定于状态的
损失值 53
2.7 总结 53
2.8 拓展阅读 53
2.9 练习 53
第3章 多代理搜索 55
3.1 引言 55
3.2 不知情搜索:AND-OR
搜索树 56
3.2.1 处理两个以上的代理 59
3.2.2 处理非确定性环境 59
3.3 具有特定于状态的损失函数
的知情搜索树 60
3.3.1 启发式变化 63
3.3.2 适应对抗环境 63
3.3.3 预存储子树 65
3.3.4 设计评估函数面临的挑战 66
3.3.5 极小极大树的缺点 67
3.4 alpha-beta剪枝 69
3.5 蒙特卡罗树搜索:归纳视图 71
3.5.1 对预期结果模型的改进 74
3.5.2 演绎与归纳:小值
和蒙特卡罗树 77
3.5.3 应用于非确定性和部分
可观测游戏 78
3.6 总结 79
3.7 拓展阅读 79
3.8 练习 80
第4章 命题逻辑 81
4.1 引言 81
4.2 命题逻辑:基础 82
4.3 命题逻辑定律 86
4.3.1 蕴涵和等价的有用性质 88
4.3.2 重言式和可满足性 89
4.3.3 子句和规范形式 90
4.4 命题逻辑作为专家系统的
先驱 91
4.5 命题逻辑中表达式的等价性 92
4.6 知识库中的证明基础 94
4.7 矛盾证明法 96
4.8 具有明确子句的有效蕴涵 100
4.8.1 正向链接 100
4.8.2 反向链接 102
4.8.3 比较正向链接和
反向链接 103
4.9 总结 103
4.10 拓展阅读 104
4.11 练习 104
第5章 一阶逻辑 106
5.1 引言 106
5.2 一阶逻辑的基础 108
5.2.1 量词的使用 109
5.2.2 一阶逻辑中的函数 112
5.2.3 一阶逻辑如何建立在
命题逻辑上 113
5.2.4 标准化问题和范围扩展 115
5.2.5 否定与量词的相互作用 116
5.2.6 置换和斯科伦化 117
5.2.7 为什么一阶逻辑更具
表现力 119
5.3 填充知识库 120
5.4 一阶逻辑专家系统示例 122
5.5 系统推断程序 123
5.5.1 矛盾证明法 123
5.5.2 正向链接 125
5.5.3 反向链接 126
5.6 总结 126
5.7 拓展阅读 127
5.8 练习 127
第6章 机器学习:归纳观点 129
6.1 引言 129
6.2 线性回归 131
6.2.1 随机梯度下降 132
6.2.2 基于矩阵的解决方案 133
6.2.3 偏差的使用 134
6.2.4 为什么正则化很重要 134
6.3 小二乘分类 135
6.4 支持向量机 138
6.5 逻辑回归 140
6.5.1 计算梯度 140
6.5.2 比较支持向量机和
逻辑回归 140
6.5.3 逻辑回归作为概率
分类器 142
6.6 多类设置 143
6.6.1 一对其余,一票反对
一票 143
6.6.2 多项式逻辑回归 144
6.7 Na?ve Bayes模型 145
6.8 近邻分类器 147
6.9 决策树 148
6.9.1 决策树构建的训练阶段 148
6.9.2 拆分节点 151
6.9.3 将决策树推广到随机
森林 152
6.10 基于规则的分类器 153
6.10.1 顺序覆盖算法 154
6.10.2 将基于规则的分类器与
专家系统中的逻辑规则
进行比较 155
6.11 分类的评估 155
6.11.1 分为训练和测试部分 157
6.11.2 绝对准确度测量 158
6.11.3 排名措施 159
6.12 总结 162
6.13 拓展阅读 163
6.14 练习 163
第7章 神经网络 164
7.1 引言 164
7.2 计算图简介 165
7.2.1 神经网络作为定向
计算图 168
7.2.2 softmax激活函数 169
7.2.3 常见损失函数 170
7.2.4 非线性如何增加
表达能力 170
7.3 有向无环图的优化 172
7.3.1 计算图的挑战 172
7.3.2 坡度计算的广泛框架 173
7.3.3 使用暴力计算节点到
节点的导数 174
7.3.4 计算节点到节点导数
的动态规划 177
7.3.5 将节点到节点导数转换
为损失到权重导数 181
7.3.6 带有向量变量的计算图 183
7.4 应用:神经网络中的反向传播 185
7.4.1 常用激活函数的导数 187
7.4.2 softmax的特殊情况 187
7.4.3 以向量为中心的反向
传播 188
7.4.4 以向量为中心的反向
传播示例 190
7.5 计算图的一般视图 192
7.6 总结 194
7.7 拓展阅读 194
7.8 练习 194
第8章 特定领域的神经架构 198
8.1 引言 198
8.2 卷积神经网络的基本原理 198
8.3 卷积神经网络的基本架构 200
8.3.1 填充 204
8.3.2 步幅 205
8.3.3 典型的设置 205
8.3.4 ReLU层 206
8.3.5 池化 206
8.3.6 完全连接层 208
8.3.7 层之间的交错 208
8.3.8 分层特性工程 210
8.4 卷积架构的案例研究 211
8.4.1 AlexNet 212
8.4.2 VGG 214
8.4.3 ResNet 216
8.5 递归神经网络的基本原理 218
8.6 递归神经网络的结构 220
8.6.1 RNN语言建模实例 222
8.6.2 通过时间反向传播 224
8.6.3 多层迭代网络 226
8.7 长短期记忆 227
8.8 特定于领域的架构的应用 231
8.8.1 自动图像字幕的应用 231
8.8.2 序列到序列学习和机器
翻译 232
8.9 总结 233
8.10 拓展阅读 234
8.11 练习 234
第9章 无监督学习 235
9.1 引言 235
9.2 降维和矩阵分解 236
9.2.1 对称矩阵分解 237
9.2.2 奇异值分解 237
9.2.3 非负矩阵分解 242
9.2.4 神经网络降维 246
9.3 聚类 250
9.3.1 基于代表的算法 250
9.3.2 自底向上的凝聚方法 252
9.3.3 自顶向下的方法 255
9.3.4 基于概率模型的算法 256
9.3.5 科赫仑自组织映射 259
9.3.6 谱聚类 261
9.4 为什么无监督学习很重要 262
9.4.1 机器学习的特征工程 262
9.4.2 特征工程的径向基函数
网络 264
9.4.3 半监督学习 265
9.5 总结 269
9.6 拓展阅读 269
9.7 练习 269
第10章 强化学习 271
10.1 引言 271
10.2 无状态算法:多臂老虎机 272
10.2.1 Na?ve算法 273
10.2.2 ?-?贪心算法 273
10.2.3 上界方法 273
10.3 强化学习框架 274
10.4 蒙特卡罗抽样 276
10.4.1 蒙特卡罗抽样算法 276
10.4.2 用函数近似器进行
蒙特卡罗rollout 278
10.4.3 连接到蒙特卡罗树搜索 279
10.5 自举法与时间差异学习 280
10.5.1 Q-学习 280
10.5.2 使用函数近似器 282
10.5.3 例子:用于电子游戏
设置的神经网络细节 284
10.5.4 策略上与非策略的
方法:SARSA 284
10.5.5 建模状态与状态–
动作对 286
10.6 策略梯度方法 288
10.6.1 似然比原则 289
10.6.2 将监督学习与策略梯度
相结合 290
10.6.3 玩家–评委算法 290
10.6.4 持续的动作空间 292
10.6.5 策略梯度的利与弊 292
10.7 重温蒙特卡罗树搜索 292
10.8 案例研究 294
10.8.1 AlphaGo:围棋的
冠军级对弈 294
10.8.2 自学习机器人 297
10.8.3 自动驾驶汽车 300
10.9 强化学习的弱点 301
10.10 总结 302
10.11 拓展阅读 302
10.12 练习 303
第11章 概率图模型 304
11.1 引言 304
11.2 贝叶斯网络 305
11.3 机器学习中的基本概率模型 307
11.4 玻尔兹曼机 309
11.4.1 玻尔兹曼机如何产生
数据 311
11.4.2 学习玻尔兹曼机的
权重 311
11.5 受限玻尔兹曼机 312
11.5.1 训练RBM 314
11.5.2 对比发散算法 315
11.5.3 实际问题和即兴 316
11.6 受限玻尔兹曼机的应用 317
11.6.1 降维与数据重构 317
11.6.2 协同过滤的RBM 319
11.6.3 条件因子分解:一个
简洁的正则化技巧 321
11.7 总结 321
11.8 拓展阅读 322
11.9 练习 322
第12章 知识图谱 323
12.1 引言 323
12.2 知识图谱概述 326
12.2.1 例子:词网 330
12.2.2 例子:雅虎 331
12.2.3 例子:数据库百科
全书 332
12.2.4 例子:自由基 332
12.2.5 例子:维基数据 333
12.2.6 例子:基因本体 333
12.3 如何构建知识图谱 334
12.3.1 知识图谱的一阶逻辑 335
12.3.2 从非结构化数据中提取 336
12.3.3 处理不完全性 336
12.4 知识图谱的应用 337
12.4.1 搜索中的知识图谱 338
12.4.2 聚类知识图谱 339
12.4.3 实体分类 340
12.4.4 链接预测和关系分类 341
12.4.5 推荐系统 342
12.5 总结 342
12.6 拓展阅读 343
12.7 练习 343
第13章 综合推理与学习 344
13.1 引言 344
13.2 偏差–方差权衡 348
13.3 一个泛型演绎–归纳集合 351
13.4 迁移学习 354
13.4.1 图像数据 355
13.4.2 文本数据 356
13.4.3 跨域迁移学习 357
13.5 终身机器学习 359
13.6 神经符号人工智能 363
13.7 总结 366
13.8 拓展阅读 366
13.9 练习 366
参考文献 367
短评
人工智能是一个多计算机技术融合、多实践应用领域交叉的热门研究方向,其研究涵
盖了经典逻辑编程、机器学习和数据挖掘。随着人工智能领域的发展和演化,演绎推理和
归纳学习两种主流思想之间的碰撞愈发激烈。
在演绎推理观点中,人们根据各种形式化表达的知识自上而下学习,并使用这些形式的
领域知识进行推理。这种自上而下的严谨逻辑推理方法通常具有高度可解释性的理论优势
我们可以用己有定理来建立假设,然后利用这此假设进行合理预测。例如,在国际象棋游戏
中,棋子重要性和位置的联系可以用来创建关于位置优劣评估的假设。基于这个假设可以通
过搜索一棵可能的移动树来预测棋子的移动位置,其最多可以搜素特定数量的移动树。在该
学习方法中,数据驱动的证据被用来学习如何进行合理预测。例如,我们可以从象棋游戏实
例中生成数据,然后学习预测对于任何特定(类型)位置,哪种走法是最好的。由于国际象
棋中可能的各选移动序列数量太过庞大,无法明确计算,因此国际象棋程序经常使用各种
头型的机器学习方法将棋盘上典型的棋子模式关联起来,以便从选出的序列中做出预测。这
种方法已经向人类下棋的方式靠近。在早期,演绎推理方法更受主流学术界所认可
2023-02-06 14:16:09