首页>参考读物>计算机科学与技术>人工智能

机器学习入门:数学原理解析及算法实践
作者 : 董政 著
出版日期 : 2022-04-20
ISBN : 978-7-111-70344-0
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 228
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书面向初学者,比较全面的介绍了机器学习的基本方法,循序渐进的阐述了其中的数学原理,让读者能够知其然,然后知其所以然。书中结合应用场景,列举了大量编程实例帮助读者开展动手实践,理论与实践相辅相成,对算法原理产生更加直观和感性的认识。作者希望能够通过本书帮助读者揭开人工智能领域的神秘面纱,走进人工智能和机器学习的大门,了解其中的奥秘,甚至成为该领域的学习者、研究者和实践者。

图书特色

图书前言

从发明计算机的第一天起,人们就试图用计算机模拟自身智能。如今,计算机已经从只能完成四则运算的计算器,发展成为能胜任很多复杂任务的智能机器。在各种应用领域中,计算机已经成为人类大脑的延伸。人工智能的研究使计算机能够模拟人类思维的感知、学习、解决问题和推理决策的能力,与此同时,也帮助我们对自身智能有了更加深入的理解。
人工智能的研究者把人工智能分为强人工智能和弱人工智能两类。这种划分既是技术层面的,也是哲学层面的。如果机器表现出像人一样智能的行为,那么是否可以认为机器真的在像人一样思考呢?计算机科学和神经生物科学尚不能回答这个问题,哲学家也没有找到满意的答案。强人工智能的观点认为,人工智能应该像人一样具有自主的意识、情感和心智,能够理解和学习任何智能问题。弱人工智能的观点则仅关注机器在特定任务上所表现出的智能性,并不关心机器是否能真正像人一样自主思考。只要在特定领域能够帮助我们解决一些实际的智能问题,这样的机器都可以视作拥有弱人工智能。
强人工智能现在还是一种理论设想,它如同人一样具有高度的自主性,不仅可以解决不同类型的问题,甚至具有自主选择解决什么问题的能力。它有自己的意识和感情,但是它只存在于电影、小说等科学幻想作品中。
哲学家和科学家通过思想实验,对强人工智能的观点提出了各种怀疑,比如,中文屋子实验和换脑实验。
中文屋子实验设想有一个英语母语者,对中文一窍不通。他被关在一间屋子里,屋子里有一本英文写成的手册来说明中文的语法规则,另外还有一大堆中文符号。屋子外面的人从窗口传进用中文写成的问题,屋子里的人按照手册上的规则将中文符号组成答案传递出去。这个过程足以以假乱真,让屋子外面的人误以为屋子里的人懂得中文,然而事实上他压根不懂中文。强人工智能就如同屋子里的人,如果我们只能看到他表现出智能,如何知道他是否真的在思考呢?
换脑实验则更加科幻。假设我们的神经生理学和计算机硬件已经高度发达,完全了解大脑所有神经元的连接机制,并且能够用微电路模拟大脑神经网络的所有活动。设想我们把生物的大脑替换为电子的大脑,让电子的大脑接管一切输入的感官信号,并做出反应,输出对身体肌肉的控制信号。从外界看来,所有智能行为和活动跟换脑之前并无差异,那么现在电子大脑具有自我意识吗?或者意识还存在于那个生物大脑之中吗?生物大脑中的意识会不会试图呐喊“我什么也看不到”,却无法控制发声的肌肉呢?这个假想的实验有些骇人听闻,但是同样让我们怀疑外在表现出的智能是否等同于自主意识。
弱人工智能不再纠结于机器是否“真的”具有了自主意识,只关注表现出的智能。计算机科学家图灵提出了图灵测试,用来判断机器是否具有智能。测试者通过屏幕和键盘分别与一个真实的人和一台智能机器聊天,如果无法区分屏幕后面是人还是机器,那么就可以认为机器具有如同人一样的智能。相比图灵测试,弱人工智能的定义更加宽泛,它只要求机器能够处理具体领域的特定任务。
在现实生活中,弱人工智能的应用比比皆是。手机可以听懂我们的语音指令;摄像头可以辨别电脑的主人、进出停车场的车辆号牌;电子监控代替了交通警察,辅助查处违章的车辆;翻译软件帮助外国游客把路牌、标识、菜单等翻译成他们熟悉的语言;自动驾驶系统甚至在受限的环境中也可以自主控制车辆,从而解放驾驶员的双手。这些都是弱人工智能的应用。
弱人工智能关注于处理特定的任务,“弱”字用在这里并不完全合适,在限定领域或者特定任务中,“弱”人工智能其实并不“弱”,称作“窄”人工智能更为恰当。相比存在于科学幻想中的强人工智能,人们对应用于各种受限场景的弱人工智能有更加成熟的研究。虽然它不像人的智能一样具有理解、学习任何问题的能力,但是它通常可以在某个领域做得很好,甚至比人做得更好,毕竟机器更准确,更稳定,更迅速,而且不知疲倦。因此,弱人工智能得到了广泛的应用,成为人们生活和工作的得力助手。弱人工智能是我们向强人工智能发起探索的阶段性成果,人们不会放弃对更加通用智能的探索,会持续追寻理解和复现自身智能的梦想。只有逐步扩展弱人工智能的边界,连接和打通各种不同的任务和信息通道,才能帮助我们实现更加复杂和通用的智能。
在人工智能研究并不很长的历史上,研究者探索了很多种不同的方法和路径。比如,符号主义的研究者认为,智能可以通过如同数学推导一样的逻辑推演系统实现,各种知识可以用符号表示出来,组织成计算机能够处理的语言进行演算、分析和推理。再如,联结主义的研究者认为,智能存在于神经元的连接中,采用电子装置模拟生物大脑的神经元连接就可以实现智能。这些不同的学派在早期的人工智能研究中,在相当长的一段时间内占据了主导地位。而机器学习则是在这些研究的基础上,利用统计学的原理取得成功的一类算法和模型。机器学习侧重于从样本或者经验组成的数据中学习统计规律,通过自我修正的方式达到完成特定任务的目标。机器学习与一般计算机算法最显著的区别在于,完成任务的步骤中有一些不确定的参数,人们不需要告诉计算机这些参数的确切取值,机器学习方法会通过数据自己去寻找最为合适的取值。
在这本书中,我们会看到机器学习家族中最为重要和经典的方法。全书内容可以分为两部分:第一部分包含前5章,是比较基本的内容;第二部分包含后5章,是稍微深入一些的内容。
在第一部分,我们首先回顾人工智能最早的实现方法之一——专家系统,从中理解人们为什么走向了机器学习之路。然后,介绍决策树和人工神经元这两种基本的模型。决策树作为一类简明有效的方法,至今仍活跃在各种应用之中,或者成为其他方法的组成元素。人工神经元则是更为复杂的人工神经网络以及深度学习的组成单元。最后,我们会介绍线性回归和逻辑斯蒂回归,了解机器学习中回归和分类这两个核心问题。在第二部分,我们首先介绍人工神经网络,了解深度学习的基本原理。然后,我们会介绍集成学习如何将若干较为简单的模型结合为更强的模型。到此为止,我们还停留在机器学习中的监督学习这一分支上。在随后两章中,我们会看到机器学习的另外两个分支——无监督学习和强化学习。我们通过聚类算法了解无监督学习,然后介绍强化学习如何解决智能体在环境中进行决策的问题。最后,我们对人工智能中较为复杂和综合的自然语言处理问题进行介绍。
机器学习是包含了很多模型、算法和理论的大家族,本书不求覆盖机器学习的所有内容,但是希望能够使读者对这一家族的主要分支都有所了解。作为入门级的知识介绍,我们试图避免引入过于艰深的统计学习理论,但是对于涉及的方法,也应该做到“知其然,知其所以然”。我们尽可能用较为易懂的数学语言将原理解释清楚,并且用一些实例为读者提供直观和感性的认识,使抽象的算法更加容易理解。
在每章中,我们都编写了动手实践的内容,提供了采用Python语言编写的小实验。通过实验,读者可以对相关的算法和模型有更加直观的了解。根据算法和模型的复杂程度不同,有的实验从零开始实现了算法模型,有的实验则采用了现有的软件库,将算法模型加以应用。正所谓“实践出真知”,我们相信,读者完成这些实验后,会对本书理论部分的内容有更加深入的了解。实验采用Python语言,其编程门槛不高,不像C语言或者Java语言这些工程类计算机语言那样需要计算机和软件工程原理作为预备知识。然而,Python语言也并非完全不需要学习,不熟悉Python的读者可以本着“边用边学”的原则,同步进行学习和实践。本书不会介绍Python语言的知识,这些知识很容易从其他书籍或者互联网的在线文档中获取。“世上无难事,只怕有心人”,相信对于有兴趣进行实践的读者,编程工具和程序语言不会成为学习的障碍,反而是学习的得力助手。
我们希望将读者顺利地带入机器学习和人工智能的领域,帮助读者成为机器学习和人工智能领域的学习者、研究者和实践者。我们也希望与读者一起研究和探索,大家共同揭开智能系统研究和应用的神秘面纱,了解其中的奥秘。

实验代码下载地址:https://github.com/mlaibook/aipractice。

上架指导

计算机\人工智能

封底文字

本书面向初学者,比较全面地介绍了机器学习的基本方法,循序渐进地阐述了其中的数学原理,让读者能够知其然,然后知其所以然。书中结合应用场景,列举了大量编程实例帮助读者开展动手实践,理论与实践相辅相成,让读者对算法原理产生更加直观和感性的认识。我相信这本书会让人工智能爱好者有所收获。
—— 危辉,复旦大学计算机科学技术学院,教授、博士生导师
机器学习近年来已经成为人工智能乃至计算机科学领域最热门的方向之一,引起了各行各业的研究人员和技术人员的关注。
本书作者董政博士在机器学习领域耕耘多年,在前沿理论和实践经验方面都建树颇丰。
本书以原理和实践相结合的方式将读者带入机器学习领域,内容丰富、深入浅出,是初学者必读的佳作。在此向想要入门机器学习的读者诚挚推荐此书。
—— 李东胜,微软亚洲研究院(上海),高级研究经理
机器学习是人工智能的重要组成内容,本书提供的生动典型的案例使读者能够更容易地进入机器学习的学习情境中,便于理解所学的算法和过程。
对于很多让读者头痛的算法数学原理,书中进行了通俗易懂的阐述,这对深入理解算法的概念和后续提升能力是必要的。
对于有志于从事人工智能专业的朋友来说,这是一本不可多得的好书。
—— 郎波,北京师范大学(珠海校区),教授

图书序言

人工智能是研究智能本质、用机器模拟智能的学科。在谈人工智能之前需要首先看一下人的智能,它是长期生物进化的产物,被高度优化过了。人的智能可以细分为推理、决策、问题求解、理解和学习5个方面,具有很强的自学习、自适应和自更新的能力。这5个方面还仅是智能中较为理性、适合进行定量化研究的成分。智能几乎人人都有,但这样一件看起来平常的事情却又是不可触及的,因为其内在的脑机制我们还知之甚少。当我们观察一个普通出租车司机的日常工作时,就会发现一系列典型的人工智能问题——行车路线规划、交通信号与标志识别、路况判别、解答乘客的问询、提供导游服务等,其中任何问题都需要整合众多先验知识,融合多通道的信息,才能最终高效地给出一个可行的方案。完成这些问题对人来说并非难事,然而要让计算机自动完成这些任务,不仅是对技术的挑战,更是对科学的挑战。虽然智能如此复杂,但却是人工智能研究吸引人的地方。
虽然我们对人类自身智能的本质依然知之甚少,实现通用智能的目标任重而道远,但是在模拟智能方面,将人工智能应用于特定场景已经解决了很多实际问题。实用主义的研究和探索积累了丰硕的成果。近年来阿尔法围棋算法战胜人类棋手的新闻,更让人工智能的概念进入了大众视野,成为热门讨论话题。实际上,人工智能技术早已渗透到日常生活中,给我们带来了许多便利。互联网文本、图像和视频信息检索,基于计算机视觉的人脸识别、车牌识别乃至辅助驾驶,基于自然语言处理的智能语音助手、问答机器人和机器翻译,以及电子商务应用中的内容推荐等,都是人工智能技术的应用。这些应用背后是人工智能的一个重要分支——机器学习。机器学习的算法和模型利用了概率论与统计学、线性代数、数值优化理论等学科的成果,让计算机可以从经验数据中自动分析、学习数据中的统计规律,完成特定场景下的应用任务。随着计算机性能的日新月异和互联网兴起带来的数据积累,机器学习方法得到了快速发展和广泛应用。
本书面向初学者,比较全面地介绍了机器学习的基本方法,循序渐进地阐述了其中的数学原理,让读者能够知其然并知其所以然。书中结合应用场景,列举了大量编程实例,帮助读者开展动手实践,理论与实践相辅相成,让读者对算法原理产生更加直观和感性的认识。这些内容有助于消除普通人对人工智能的畏惧感和神秘感,让大家看到人工智能内在的实现细节。这些介绍让大众能够看清楚从原始问题的提出到实现的完整过程,这些将需求形式化、设计特异性算法、在有限的资源中完成计算的步骤几乎就是计算机解决问题的全部奥秘。人工智能也是由一行行的程序代码来实现的,其中不允许出现一丝一毫的逻辑错误。我们现在常说“细节是魔鬼”,或者说“细节决定成败”,就是说脱离实现细节谈人工智能只能流于空谈。这是本书在具体科学内容之外想传递给读者的务实理念。
本书适合人工智能和计算机行业的学习者和从业者阅读,可引导读者从机器学习这个分支走进人工智能的广阔领域,帮读者打下理论和应用的基础。本书还可作为进一步探索的导引。本书的著者曾是我的硕士和博士研究生,在10年的复旦大学求学生涯中,他非常系统地进行了人工智能的学习,并就参考视觉神经生物学机制的算法模型进行了长期探索,拥有非常好的学术积累。我相信这本书会给人工智能爱好者带来有益的收获。

复旦大学计算机科学技术学院教授,博士生导师
危 辉
2021 年 8 月 5 日

图书目录

序言
前言
第一部分
第 1 章 专家系统 2
1.1 早期的专家系统 2
1.2 正向推理 4
1.3 逆向推理 5
1.4 谓词逻辑 6
1.5 专家系统的贡献和困难 7
1.6 动手实践 9
1.6.1 简化的专家系统 10
1.6.2 正向推理 10
1.6.3 逆向推理 11
参考文献 13
第 2 章 决策树 14
2.1 分类问题 15
2.2 构造决策树 16
2.3 ID3 算法 17
2.4 信息熵 19
2.5 基尼不纯度 21
2.6 动手实践 22
2.6.1 计算信息熵 22
2.6.2 构造决策树 23
2.6.3 使用 scikit-learn软件包 27
参考文献 30
第 3 章 神经元和感知机 31
3.1 生物神经元 31
3.2 早期感知机模型 33
3.3 现代的模型 34
3.4 学习模型参数 36
3.4.1 梯度下降法 36
3.4.2 Delta 法则 37
3.5 动手实践 38
3.5.1 实现感知机模型 38
3.5.2 识别手写数字 43
参考文献 48
第 4 章 线性回归 49
4.1 线性回归概述 49
4.2 最小二乘法 51
4.3 矩阵形式 52
4.4 一般性的回归问题 54
4.5 动手实践 54
4.5.1 实现一维线性回归 54
4.5.2 实现最小二乘法 56
4.5.3 使用 numpy 软件包 59
第 5 章 逻辑斯蒂回归和分类器 64
5.1 分类问题 64
5.2 最大似然估计 66
5.3 交叉熵损失函数 67
5.4 多类别分类 68
5.4.1 多类别逻辑斯蒂回归 69
5.4.2 归一化指数函数 70
5.4.3 交叉熵误差和均方误差的比较 72
5.5 分类器的决策边界 73
5.6 支持向量机 75
5.6.1 支持向量 77
5.6.2 拉格朗日乘子法 78
5.6.3 非线性分类与核函数 80
5.7 动手实践 82
5.7.1 使用逻辑斯蒂回归 82
5.7.2 观察分类边界 83
5.7.3 使用支持向量机 85
参考文献 87
第二部分
第 6 章 人工神经网络 90
6.1 异或问题和多层感知机 90
6.2 反向传播算法 92
6.3 深度神经网络 94
6.3.1 生物神经机制的启示 94
6.3.2 解决深度神经网络面临的问题 95
6.4 卷积和池化 98
6.4.1 神经连接的局部性 98
6.4.2 平移不变性 99
6.4.3 卷积处理图像的效果 99
6.4.4 简单细胞和复杂细胞的仿生学 102
6.5 循环神经网络 103
6.6 使用 PyTorch 软件包 104
6.7 动手实践 106
6.7.1 识别手写数字 106
6.7.2 准备训练数据 109
6.7.3 训练神经网络模型 110
6.8 物体检测 113
6.8.1 YOLO 模型 114
6.8.2 YOLO 模型的损失函数 115
6.8.3 缩微 YOLO 模型的网络结构 116
6.8.4 实现缩微 YOLO 模型 118
6.8.5 加载模型权值数据 123
6.8.6 处理真实图像 125
6.8.7 观察物体检测结果 128
参考文献 129
第 7 章 集成学习 131
7.1 随机森林 131
7.2 自适应增强算法AdaBoost 133
7.2.1 弱分类器的迭代组合 134
7.2.2 AdaBoost 算法的正确性 136
7.3 梯度提升算法 139
7.3.1 回顾梯度下降法 139
7.3.2 梯度提升算法的一般描述 140
7.3.3 均方误差的梯度提升算法 142
7.4 偏差和方差 143
7.5 动手实践 146
7.5.1 使用 pandas 软件包处理数据 146
7.5.2 使用集成学习算法 149
参考文献 152
第 8 章 聚类分析 153
8.1 有监督学习和无监督学习 153
8.2 K 均值聚类 154
8.3 距离的度量 156
8.4 期望最大化算法 157
8.5 高斯混合模型 158
8.6 DBSCAN 算法 160
8.7 SOM 神经网络 162
8.8 动手实践 164
8.8.1 实现 K 均值聚类算法 164
8.8.2 图像色彩聚类 166
8.8.3 使用 scikit-learn软件包 167
参考文献 168
第 9 章 强化学习 169
9.1 马尔可夫决策过程 169
9.2 值函数 171
9.3 蒙特卡洛法 173
9.4 时间差分法 175
9.5 深度值网络 DQN 177
9.6 动手实践 178
9.6.1 扫地机器人示例 179
9.6.2 描述机器人与环境的交互 179
9.6.3 实现值函数的神经网络模型 183
9.6.4 实现回放记忆 184
9.6.5 实现基于时间差分法的训练过程 185
9.6.6 扫地机器人对房间的探索过程 189
参考文献 190
第 10 章 自然语言处理 191
10.1 隐马尔可夫模型 192
10.2 维特比算法 194
10.3 词向量的表示方法 195
10.3.1 独热表示 196
10.3.2 词嵌入 196
10.3.3 统计语言模型 197
10.4 循环神经网络 199
10.4.1 长短期记忆和门控循环单元 200
10.4.2 编码器–解码器模型 202
10.4.3 注意力机制 203
10.5 动手实践 206
10.5.1 英文人名翻译 206
10.5.2 实现编码器和解码器 206
10.5.3 人名翻译实验结果 209
参考文献 212

教学资源推荐
作者: Joseph C. Giarratano, Gary D. Riley
作者: [印]狄柏丽·班赛尔(Dipali Bansal) 拉什玛·马哈詹(Rashima Mahajan) 著
作者: [西]何塞·曼努埃尔·戈麦斯-佩雷斯(Jose Manuel Gomez-Perez),[西]罗纳德·德诺(Ronald Denaux),[西]安德烈·加西亚-席尔瓦(Andres Garcia-Silva) 著
作者: [美] 纪强(Qiang Ji) 著
参考读物推荐
作者: 林宙辰 李欢 方聪 著
作者: 陆平 张晗 张再军 田江磊 等编著
作者: [瑞士] 翁贝托·米凯卢奇(Umberto Michelucci)著