本书面向初学者,比较全面的介绍了机器学习的基本方法,循序渐进的阐述了其中的数学原理,让读者能够知其然,然后知其所以然。书中结合应用场景,列举了大量编程实例帮助读者开展动手实践,理论与实践相辅相成,对算法原理产生更加直观和感性的认识。作者希望能够通过本书帮助读者揭开人工智能领域的神秘面纱,走进人工智能和机器学习的大门,了解其中的奥秘,甚至成为该领域的学习者、研究者和实践者。
董 政:计算机软件与理论专业博士,2016年毕业于复旦大学。研究生期间,师从人工智能学者危辉教授,在上海市智能信息处理重点实验室的认知模型与算法课题组从事研究工作,研究方向包括视觉的脑神经机制和计算机建模,以及图像中的物体形状识别和定位等,研究成果发表于认知计算和神经网络等领域的期刊。毕业后,进入微软亚太科技有限公司云计算与人工智能事业部,担任云存储服务组软件工程师,负责云服务的自动化监控告警和故障诊断处理,采用专家系统、异常检测、关联分析等方法将人工智能引入云服务的自动化运维。
序言
前言
第一部分
第 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
部分目录