模型思维:简化世界的人工智能模型
  • 推荐0
  • 收藏0
  • 浏览305

模型思维:简化世界的人工智能模型

龚才春 (作者) 

  • 书  号:978-7-121-40898-4
  • 出版日期:2021-06-01
  • 页  数:424
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:王静
纸质版 ¥158.00
对从事人工智能算法研究与算法开发的人来说,模型的学习与使用必不可少。尤其是在目前如日中天的人工智能领域里,人人谈模型,模型也是层出不穷,让人眼花缭乱。
本书将人工智能在现实生活场景中解决的问题分类,并根据这个分类来介绍各种人工智能模型。书中将人工智能问题分为权重问题、状态问题、序列问题、表示问题、相似问题和分类问题六大类,方便读者了解各个模型之间的关系,也方便读者理解各个模型的适用场景。
本书不仅适合希望学习和运用人工智能模型到具体应用场景的企业工程师、科研院所的学生和科研人员,也适合对人工智能模型感兴趣的读者,使其将模型思维应用到生活中。
让读者明白每一个模型的来龙去脉、适用范围
帮助读者分析问题、学习模型、选择模型、建立模型、创新模型
前言
让人又爱又恨的模型
对从事算法研究与算法开发的人来说,模型的学习与使用必不可少。尤其是在目前备受关注的人工智能领域里,人人谈模型,新模型也是层出不穷,让人眼花缭乱。
模型让人又爱又恨:可爱的地方在于它确实能够解决我们的实际问题,而且其有效性一般都经过了检验;可恨的地方在于学习它是一件非常痛苦的事情,尤其是对于人工智能领域的初学者来说。
笔者自2001年开始从事光学字符识别的研究,2004年以后从事自然语言处理的研究,算是国内人工智能行业中的“老鸟”了。在多年的学术研究和产业落地推进的过程中,笔者认为模型的学习是最让人头疼的事情。在攻读博士学位的过程中,笔者经常发现:自己花了很大工夫,终于对某个模型有了初步的理解,忽然有同学说他又看到另一个更好的模型……笔者觉得学习模型就像玩打地鼠游戏,这个洞里冒出来一只地鼠,你刚打下去,另一个洞里又冒出新的地鼠。打地鼠的速度总是跟不上地鼠冒出来的速度。笔者在学习累了的时候,就会冒出一堆奇怪的疑问:到底什么是模型?为什么那些“大牛”提出的任何想法都能成为模型?到底多厉害的人提出的想法才能成为模型?如果没有这些“大牛”,那么我们的学习是不是就不会这么累了?有没有一本书可以把所有模型都介绍清楚?如果没有,那么有没有一本书可以把人工智能领域中常见的模型都介绍清楚?
久病成医,降低模型的学习难度
2018年,笔者创业失败,重新回到职场,此时面临的第一个问题就是向团队中相对年轻的同事们介绍自然语言处理技术。于是笔者萌生了整理各类人工智能模型的念头。笔者并不是什么模型领域中的“大牛”,也没有提出过什么靠谱的模型。笔者只是想把在近20年的模型学习过程中的痛苦进行沉淀和总结,也算是痛定思痛吧。笔者的许多朋友在看了本书的样稿后,都以为笔者对模型颇有研究,而笔者都会自我调侃:笔者不是职业的医生,只是久病成医而已。
笔者在阅读大量前辈的作品及大量的网络技术文档后发现,前辈们都博览群书,理论功底深厚,数学基础扎实,因此他们的作品中都有大量的公式推导和理论证明。这些都是笔者的弱项。于是,笔者又产生了“久病成医”的联想:既然笔者的理论水平欠缺,数学基础不牢,那么或许还有许多人工智能的初学者跟笔者一样。于是,笔者在写作本书时,尽量更多地结合模型的使用场景,更多地介绍实际业务需求之间的关系,更多地采用生活中浅显易懂的例子。这样一方面可以弥补笔者在理论功底方面的欠缺,另一方面可以方便人工智能领域的初学者学习模型。
网络中的许多技术文档经常会出现公式显示异常、图片丢失、格式混乱的情况,这也增加了初学者学习模型的难度。笔者认为:大篇幅的文字描述,在很多情况下不如一张示意图生动;高深的专业术语和技术原理,在很多情况下不如与生活中的场景做类比浅显;复杂的公式计算与理论推导,在很多情况下不如举一个实际例子计算一遍更直观。因此,笔者在本书中列举大量的人工智能场景中的真实案例,将许多现实生活中的场景与高深的模型进行类比,希望可以降低读者的理解难度。
笔者试图将人工智能在现实生活场景中解决的问题分类,并根据这个分类来介绍各种模型。本书将人工智能问题分为权重问题、状态问题、序列问题、表示问题、相似问题和分类问题六大类,方便读者了解各个模型之间的关系,也方便读者理解各个模型的适用场景。当然,这个分类体系只是笔者的一家之言,并不一定是最科学的方法。笔者权且以本书抛砖引玉,期待人工智能行业的专家的批评与指正。
模型日新月异,许多模型在本书中还未来得及介绍,如深度学习中的许多优秀模型、自然语言处理中的许多模型等。虽然笔者非常认真地写作本书,但由于水平有限,经验欠缺,对许多模型的理解还不够到位,书中一定还有许多错误或纰漏之处。恳请业内的同行多多给予批评与指导,恳请读者多提宝贵意见与建议。
致谢
感谢白硕老师、刘群老师、王斌老师对本书的指导,感谢电子工业出版社的编辑王静、吴宏伟、石倩、白涛的辛勤工作。

目录

第1篇 模型为什么这么神奇
模型是一个很常见的名词。与人力资源管理相关的有漏斗模型、人才模型、定级模型等;与工程师相关的有线性回归模型、隐马尔可夫模型、LDA模型等;与业务相关的有价格预测模型、销量预测模型等;与销售相关的有SSM模型、销售漏斗模型、销售能力模型等;与营销相关的有市场冲突矩阵模型、品牌五力模型、区域营销模型等……但到底什么是模型、怎么选择合适的模型、怎么创新模型,则是仁者见仁,智者见智。
第1章 为什么要建立模型 2

1.1 什么是模型 2
1.2 无处不在的模型 4
1.3 模型的意义 4
1.3.1 万有引力定律 4
1.3.2 大陆漂移假说 5
1.3.3 日心说 5
1.4 模型都是对的吗 6
1.4.1 模型可以是错的 6
1.4.2 模型可以是未被证实的 7
1.4.3 模型可以是互相矛盾的 7
1.5 什么模型是好模型 8
1.5.1 表示客观事物的能力 8
1.5.2 简化客观事物的能力 9
1.5.3 评价模型好坏的模型 9
1.6 模型的演化 9
1.7 正确看待模型的价值与缺陷 10
1.7.1 正确看待模型的局限性 10
1.7.2 用历史的观点看模型 10
1.7.3 抛弃对模型的阶级观点 11
1.7.4 用发展的观点看模型 11
1.8 本书的特点 12
1.8.1 对读者的基础要求 12
1.8.2 从场景出发讲模型 12
1.8.3 从方法论的视角讲模型 13
1.8.4 用类比的技巧讲模型 13
1.8.5 避免读者被数学公式吓倒 13
1.8.6 避免“知识的诅咒” 14
1.9 本书主要内容 14
1.9.1 权重模型 15
1.9.2 状态模型 15
1.9.3 序列模型 15
1.9.4 表示模型 16
1.9.5 相似模型 16
1.9.6 分类模型 16

第2章 模型的运用 18

2.1 用知识图谱表示问题 18
2.1.1 知识图谱的基本理念 18
2.1.2 建立知识图谱的一般步骤 19
2.1.3 问题的属性研究 19
2.1.4 问题的关系研究 20
2.2 问题分析的示例 20
2.2.1 前提假设分析 20
2.2.2 已有数据的分析 21
2.2.3 待求数据的分析 21
2.2.4 关系分析 21
2.3 权重问题的判断 22
2.4 状态问题的判断 24
2.5 序列问题的判断 25
2.6 表示问题的判断 25
2.7 相似问题的判断 26
2.8 分类问题的判断 26
2.9 模型之间的关系 27

第2篇 权重模型:计算你的分量
世界上的万事万物,纷繁复杂,让人眼花缭乱。几千年来,人类一直在试图发现事物背后的共性规律。在计算机学者眼里,世界上几乎所有问题,最终都可以归结为权重计算的问题。
权重问题是一个通用问题,在各个学科都已经有许多深入的研究,也已经整理了许多计算各种各样权重的方法。将这些权重计算方法进行整理并抽象,就简化为模型了。
第3章 TF-IDF模型 33

3.1 应用场景 33
3.2 词频率—逆文档频率模型的计算 34
3.2.1 词频率模型 34
3.2.2 逆文档频率模型 37
3.2.3 TF-IDF模型 39
3.3 词权重模型的平滑 40
3.4 引申阅读 40
3.4.1 发明历史 41
3.4.2 发明人简介 41
3.4.3 最新研究 42
3.5 本章总结 42

第4章 线性回归模型 43

4.1 应用场景 43
4.2 直观理解回归问题 44
4.3 一元线性回归问题 45
4.3.1 钢轨长度与温度的关系直线 45
4.3.2 判断最合适直线的两个原则 47
4.3.3 最小二乘法 50
4.4 多元线性回归问题 52
4.5 标准方程法 53
4.5.1 一些符号定义 53
4.5.2 矩阵表示 54
4.5.3 参数求解 55
4.5.4 用标准方程法计算银行授信
额度 58
4.6 梯度下降法 60
4.6.1 梯度下降法的直观理解 60
4.6.2 坡度最陡下山法 63
4.6.3 坡度最陡下山法的类比 64
4.6.4 梯度下降法的计算 66
4.6.5 银行授信额度的计算 67
4.7 梯度下降法与标准方程法的区别 68
4.8 引申阅读 69
4.8.1 最小二乘法的发明 69
4.8.2 梯度下降法的发明 69
4.8.3 最新研究 69
4.9 本章总结 71

第5章 PageRank模型 73

5.1 应用场景 73
5.2 PageRank的直观算法 74
5.2.1 PageRank模型的直观理解 75
5.2.2 模型的初始化 77
5.2.3 模型的迭代 79
5.3 直观算法的漏洞修复 81
5.3.1 非连通漏洞 81
5.3.2 过河拆桥型漏洞 82
5.3.3 孤芳自赏型漏洞 85
5.3.4 过分谦虚型漏洞 85
5.3.5 随机游走模型 86
5.4 PageRank模型的计算 88
5.4.1 链接关系表 88
5.4.2 链接浏览矩阵 88
5.4.3 直接浏览矩阵 89
5.4.4 状态转移矩阵 89
5.4.5 迭代计算 90
5.4.6 计算示例 91
5.5 引申阅读 92
5.5.1 收敛性证明 93
5.5.2 发明历史 94
5.5.3 发明人简介 94
5.5.4 相关研究 95
5.6 本章总结 95


第3篇 状态模型:加官进爵的模型
事物是变化的,我们也要从意识形态上跟上客观事物的变化,否则就会犯“刻舟求剑”的笑话。目前,最好的描述事物状态改变的模型是自动机模型,又被称为有限状态自动机模型。
在计算机领域,有很多自动机模型的应用场景。例如常见的正向最大匹配分词算法其实就是一个自动机模型;在自然语言处理中,中文分词、语音识别、词性标注、字符串查找、拼写纠错、模糊匹配等都是自动机模型的变种;在网络安全领域中,我们最熟悉的病毒扫描场景,很多都使用了AC自动机模型,这也是一种状态转移自动机模型。
第6章 有限状态自动机模型 100

6.1 应用场景 100
6.1.1 Java词法分析 100
6.1.2 Java词法分析示例 101
6.2 直观理解与形式化描述 103
6.2.1 自动机模型的直观理解 103
6.2.2 形式化描述 105
6.4 词法分析自动机模型 105
6.4.1 注释识别自动机 105
6.4.2 保留字识别自动机 107
6.5 地址解析自动机模型 108
6.5.1 地址解析场景概述 108
6.5.2 地址解析的难度 109
6.5.3 标准地址库建设 110
6.5.4 地址识别自动机模型 111
6.6 引申阅读 113
6.6.1 发明历史 113
6.6.2 发明人简介 114
6.6.3 最新研究 114
6.7 本章总结 115

第7章 模式匹配自动机模型 116

7.1 应用场景 116
7.2 形式化描述 118
7.3 BF模式匹配算法 118
7.3.1 BF算法的直观理解 118
7.3.2 BF算法的匹配过程示例 119
7.3.3 BF算法的伪码表示 121
7.3.4 BF算法的自动机模型 121
7.4 RK模式匹配算法 122
7.5 KMP模式匹配算法 123
7.5.1 KMP算法的直观理解 123
7.5.2 KMP算法的匹配过程示例 125
7.5.3 移动长度的计算 127
7.5.4 KMP算法的自动机模型 129
7.5.5 KMP算法的总结 129
7.6 BM模式匹配算法 129
7.6.1 后向BF算法 130

7.6.2 实现跳跃式匹配 131
7.6.3 基于坏字符的模式匹配过程 132
7.6.4 坏字符匹配算法的缺陷 137
7.6.5 好后缀的匹配规则 138
7.6.6 BM模式匹配算法介绍 141
7.6.7 BM算法的自动机模型 143
7.7 AC模式匹配算法 143
7.7.1 TRIE树的使用 144
7.7.2 TRIE树的构建 145
7.7.3 失效指针的直观理解 146
7.7.4 失效指针的设置示例 147
7.7.5 失效指针的设置算法 150
7.7.6 AC算法的匹配过程示例 152
7.8 Wu-Manber模式匹配算法 153
7.8.1 Wu-Manber算法的直观理解 153
7.8.2 Wu-Manber算法的总体思路 155
7.8.3 字符块 156
7.8.4 后移长度数组 157
7.8.5 字符块的哈希值 159
7.8.6 倒排链表 159
7.8.7 前缀哈希值 160
7.8.8 Wu-Manber算法的匹配过程
示例 161
7.9 引申阅读 163
7.10 本章总结 166


第4篇 序列模型:揭示现象背后的规律
序列模型,就是根据可观察的现象序列,探索其背后不可观察的神秘序列。我们能够想到的需要探索现象背后的逻辑、本质、规律、定律、天道等,都可以归结为序列模型。
第8章 隐马尔可夫模型 170

8.1 应用场景 171
8.2 马尔可夫链 171
8.3 隐马尔可夫模型的定义 173
8.3.1 直观定义 173
8.3.2 形式化定义 174
8.3.3 盲人与苔藓的例子 174
8.4 两个假设 176
8.4.1 齐次马尔可夫假设 176
8.4.2 观察独立性假设 176
8.5 评估问题 177
8.5.1 评估问题的应用价值 177
8.5.2 暴力求解法 178
8.5.3 前向算法 179
8.5.4 前向算法的形式化描述 185
8.5.5 前向算法的算法描述 186
8.5.6 后向算法 187
8.6 解码问题 190
8.6.1 暴力求解法 190
8.6.2 维特比算法 190
8.6.3 维特比算法的形式化描述 197
8.7 学习问题 198
8.7.1 监督学习 199
8.7.2 非监督学习 201
8.7.3 一个更简单的EM算法例子 202
8.7.4 更好一点的算法 205
8.7.5 直观方法 206
8.7.6 Baum-Welch算法 207
8.7.7 Baum-Welch算法的伪码描述 212

8.8 引申阅读 213
8.8.1 发明人简介 213
8.8.2 最新研究 214
8.9 本章总结 215

第9章 最大熵模型 216

9.1 应用场景 216
9.1.1 语义消歧 216
9.1.2 音字转换 217
9.1.3 其他常见场景 217
9.2 直观理解最大熵 217
9.2.1 熵增加原理 217
9.2.2 熵的定义 218
9.2.3 不要把鸡蛋放在同一个篮子里 219
9.2.4 不要随意添加主观假设 219
9.3 最简单的最大熵计算示例 220
9.3.1 方程组求解 220
9.3.2 最大熵化 221
9.3.3 拉格朗日乘子法 221
9.3.4 骰子的概率计算 223
9.3.5 计算复杂度分析 225
9.4 形式化定义 226
9.4.1 经验分布 226
9.4.2 特征函数 227
9.4.3 特征模板 228
9.4.4 约束条件及其期望 228
9.4.5 条件熵 230

9.4.6 最大熵的定义 230
9.5 最大熵模型的计算流程 231
9.5.1 模型训练 231
9.5.2 模型执行 232
9.6 平滑方法 232
9.6.1 拉普拉斯平滑 233
9.6.2 古德—图灵平滑 235
9.6.3 Jelinek-Mercer平滑 238
9.6.4 Katz平滑 239
9.6.5 绝对折扣平滑 240
9.6.6 Witten-Bell平滑 241
9.6.7 Kneser-Ney平滑 242
9.6.8 各种平滑方法的演化关系 243
9.7 特征选择 244
9.7.1 基于阈值的特征选择 245
9.7.2 增量式特征选择 245
9.8 参数计算 245
9.8.1 参数计算的形式化 246
9.8.2 参数的数值计算 248
9.9 引申阅读 250
9.10 本章总结 250


第5篇 表示模型:万事万物的表示
当人们在看到某个事物或现象后,需要向没有看到这个事物或现象的人描述这个事物或现象时,就需要尽可能找一个让对方可以接受并理解的方式来表示该事物或现象。对事物或现象的表示,是这个事物或现象区别于其他事物或现象的基础,是进行转述、分析、处理的前提。
到了现代社会,表示方法越来越普遍,使用也越来越频繁。重大的科技创新,往往都是从表示方法创新开始的。
第10章 向量空间模型 255

10.1 应用场景 255
10.2 之前的文本表示方法 256
10.3 向量空间模型 257
10.3.1 文档的词袋化 257
10.3.2 文档的向量化 258

10.3.3 词项的权重计算 260
10.4 相似度计算 262
10.5 引申阅读 263
10.5.1 发明人介绍 263
10.5.2 最新研究 263
10.6 本章总结 264

第11章 潜在语义分析模型 265

11.1 应用场景 265
11.2 LSA模型的计算 267
11.2.1 词—文档矩阵 267
11.2.2 奇异值分解 269
11.2.3 降维处理 271
11.3 结果的解读 274
11.3.1 3个矩阵的物理含义 274
11.3.2 实验结果解读 274
11.4 为什么LSA模型有效 276
11.5 LSA模型的应用 277
11.5.1 识别同义词和近义词 277
11.5.2 文档的聚类和分类 279
11.5.3 跨语言语义检索 280
11.6 LSA模型的不足 281
11.7 引申阅读 282
11.7.1 发明人介绍 282
11.7.2 最新研究 282
11.8 本章总结 283


第6篇 相似模型:谁与我臭味相投
在现实生活的许多场景中,都需要判断两个事物有多相似。各种事物之所以可以比较,是因为我们已经潜在地计算了事物之间的相似度。之所以称这种相似度是“潜在的”,是因为我们以为是在寻找事物之间的差异,其实在寻找差异之前我们已经找到了相似之处。
第12章 相似模型 287

12.1 欧几里得距离 287
12.2 曼哈顿距离 288
12.3 切比雪夫距离 291
12.4 闵可夫斯基距离 292
12.5 马哈拉诺比斯距离 292
12.5.1 用欧氏距离计算身材相似度 292
12.5.2 欧氏距离失效的原因 293
12.5.3 引入原因 294
12.5.4 方差与协方差 294
12.5.5 马氏距离的定义 297
12.5.6 马氏距离为什么有效 298
12.6 皮尔逊相关系数 298
12.7 Jaccard相关系数 299
12.8 余弦相似度 301
12.9 汉明距离 303
12.10 KL散度 304
12.11 海林格距离 306
12.12 编辑距离 306
12.13 本章总结 311

第7篇 分类模型:物以类聚,人以群分
分类问题是我们在日常生活中每时每刻都可能遇到的。分类也是所有决策制定的基础,没有分类,就不可能有决策的制定与实施。各行各业每天都在处理各式各样的分类问题:家长要判断孩子是否饿了;高校要根据高考成绩判断是否录用考生;HR要根据候选人简历判断是否安排面试;公司CEO要根据市场情况及时调整产品战略和销售目标;农民要根据天气、作物生长状况等决定是否浇水、施肥;厨师要根据火候判断菜品是否应该出锅;司机要根据目的地和交通状况决定直行还是转向……
现实生活中,我们可能遇到的分类问题千差万别,可以对分类问题进行分类,从而使每一类分类问题可以用一类分类模型来处理。
第13章 感知机模型 315

13.1 应用场景 315
13.2 神经元的工作原理 317
13.3 感知机模型的原理 320
13.3.1 感知机模型的数学表示 320
13.3.2 感知机模型的分类原理 320
13.3.3 距离的计算 323
13.3.4 代价函数 323
13.4 参数训练 324
13.4.1 梯度下降法 324
13.4.2 计算示例 325
13.5 引申阅读 326
13.5.1 发明历史 326
13.5.2 最新研究 327
13.5.3 与其他模型的关系 327
13.6 本章总结 328

第14章 逻辑回归模型 329

14.1 应用场景 329
14.2 直观理解逻辑回归模型 330
14.2.1 逻辑回归的目标模型 330
14.2.2 逻辑回归模型的工作原理 332
14.3 逻辑回归模型的计算 333
14.3.1 相关符号表示 333
14.3.2 代价函数 334
14.3.3 梯度下降法 335
14.4 引申阅读 336
14.4.1 发明人简介 336
14.4.2 发明历史 336
14.4.3 最新研究 337
14.5 本章总结 338

第15章 朴素贝叶斯模型 339

15.1 应用场景 339
15.2 先验概率和后验概率 340
15.3 贝叶斯公式 341
15.3.1 全概率公式 341
15.3.2 逆概率公式 342
15.4 独立假设 343
15.5 文本分类的案例 344
15.5.1 训练样本介绍 345
15.5.2 词典与先验概率 345
15.5.3 直接使用贝叶斯公式 346
15.5.4 拉普拉斯平滑 347
15.6 引申阅读 349
15.7 本章总结 349

第16章 决策树模型 350

16.1 应用场景 350
16.2 决策树模型的直观理解 351
16.2.1 猜数字的游戏 351
16.2.2 猜动物的游戏 352
16.2.3 决策树模型要解决的问题 354
16.3 最佳决策树 354
16.3.1 蛮力的方法 355
16.3.2 从数据中领悟审批原则 355
16.3.3 什么是好问题 356
16.4 信息量的计算 357
16.4.1 信息熵的定义 357
16.4.2 熵的计算示例 358
16.4.3 熵的单位 359
16.5 信息增益与ID3算法 359
16.5.1 条件熵的定义 360
16.5.2 信息增益的计算 360
16.5.3 使用信息增益选择特征 361
16.5.4 ID3算法 364
16.6 信息增益比与C4.5算法 364
16.6.1 信息增益比的定义 364
16.6.2 计算示例 365
16.6.3 C4.5算法 365
16.7 基尼系数与CART算法 366
16.7.1 基尼系数定义 367
16.7.2 基尼系数计算示例 368
16.7.3 CART分类树算法 372
16.7.4 CART回归树 373
16.8 引申阅读 375
16.8.1 发明历史 375
16.8.2 最新研究 377
16.9 本章总结 377

第17章 支持向量机模型 378

17.1 应用场景 378
17.2 一元支持向量机 379
17.3 二元支持向量机 383
17.3.1 实例场景描述 383
17.3.2 最佳分类面 384
17.3.3 最佳分类直线的函数形式 385
17.3.4 分类间隔的计算 387
17.3.5 最大化问题的数学表示 388
17.3.6 拉格朗日乘子法 389
17.4 支持向量机的对偶问题 391
17.4.1 SVM模型的数学描述 391
17.4.2 SVM模型的对偶问题 392
17.5 支持向量机的参数求解 396
17.5.1 SMO算法的形式描述 396
17.5.2 SMO算法的整体思路 397
17.5.3 参数更新过程 399
17.5.4 乘子的启发式选择 401
17.6 引申阅读 402
17.6.1 发明历史 402
17.6.2 发明人简介 403
17.6.3 最新研究 403
17.7 本章总结 404




读者评论

相关博文

  • 如何正确地运用人工智能模型?

    如何正确地运用人工智能模型?

    博文小编 2021-06-24

    模型,是客观事物的简化表示! 历史上,每一个伟大模型的提出,都极大地推动了科学和社会的发展,比如历史上出现的3个非常有名的模型——万有引力定律、大陆漂移假说、日心说。 在人工智能领域,也有很多模型用来解决现实生活中遇到的千千万...

    博文小编 2021-06-24
    317 0 0 0