注册 登录 进入教材巡展
#

出版时间:2022年7月

出版社:西安电子科技大学出版社

以下为《机器学习与Python实践》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 西安电子科技大学出版社
  • 9787560664620
  • 1-1
  • 455931
  • 63231633-7
  • 平装
  • 16开
  • 2022年7月
  • 508
  • 344
  • 自动化技术、计算机技术
  • 本科
内容简介
人工智能是近年来全球最为火热的研究领域之一,随着机器学习、深度学习和强化学习研究的突破,人工智能技术已被应用到图像识别、机器翻译、语音助手和自动驾驶等方面。为了使读者能够深刻理解人工智能的技术,本书基于Python的SCikit Learn库介绍了机器学习的基础知识,如分类、回归、反向传播算法和梯度下降算法以及基于TensorFlow基础框架的深度学习和强化学习等相关知识。本书在内容上尽可能涵盖机器学习、深度学习和强化学习的经典算法(如卷积神经网络、循环神经网络、迁移学习等)并清晰地阐释它们的原理,本书还对多个常见的经典数据集进行了算法模型的实践,如基于MNIST手写体图片和Iris Flowers Dataset鸢尾花数据集的识别、基于NLP数据集的文本分析以及基于OpenAIGym环境的AGV多智能体路径优化等。
本书可作为高等院校计算机科学与技术、信息管理与信息系统等专业的本科生与研究生教材,也适合对机器学习知识感兴趣的学者、研究人员和从业人员使用。
目录
第1章 机器学习简介 1
1.1 人工智能、机器学习与深度学习 1
1.2 机器学习概述 3
1.2.1 有监督学习 4
1.2.2 无监督学习 5
1.2.3 有监督学习与无监督学习的
区别 6
1.2.4 深度学习 6
1.2.5 强化学习 7
1.3 机器学习的具体过程 8
1.3.1 数据采集和标记 8
1.3.2 数据预处理 9
1.3.3 特征工程及特征选择 9
1.3.4 模型选择 10
1.3.5 模型训练和测试 10
1.3.6 模型性能评估、使用和优化 10
1.4 机器学习的重要元素 11
1.4.1 欠拟合和过拟合 11
1.4.2 模型性能评估指标 13
1.4.3 模型评价ROC曲线与AUC值 14
1.5 机器学习的开发环境 16
1.5.1 Jupyter的安装与使用 16
1.5.2 Anaconda 3的安装搭建 16
1.5.3 Python的PyCharm集成
开发环境 18
本章小结 19
习题 19
第2章 机器学习的Python基础库 20
2.1 NumPy 20
2.1.1 ndarray的数据类型 22
2.1.2 数组和标量之间的运算 23
2.1.3 索引和切片 24
2.1.4 数组转置和轴对换 26
2.1.5 利用数组进行数据处理 27
2.1.6 数学和统计方法 29
2.2 Pandas 29
2.2.1 Pandas数据结构 30
2.2.2 Pandas文件操作 31
2.2.3 数据处理 32
2.2.4 层次化索引 33
2.2.5 分级顺序 36
2.2.6 使用DataFrame的列 37
2.3 Matplotlib 39
2.3.1 Figure和Subplot 39
2.3.2 调整subplot周围的间距 41
2.3.3 颜色、标记和线型 42
2.3.4 刻度标签和图例 42
2.3.5 添加图例 43
2.3.6 将图表保存到文件 44
2.4 Scikit-learn 45
2.5 TensorFlow 46
本章小结 48
习题 48
第3章 数据的特征工程 49
3.1 特征工程 49
3.1.1 特征工程的定义 49
3.1.2 特征工程的处理过程 50
3.1.3 特征工程的重要性 51
3.2 数据预处理 51
3.2.1 创建训练集和测试集 51
3.2.2 数据正则化、标准化与归一化 53
3.3 特征选择 58
3.3.1 方差选择法 59
3.3.2 递归消除特征法 59
3.3.3 带惩罚项的特征选择法 59
3.4 数据降维 61
3.4.1 主成分分析法 62
3.4.2 线性判别分析法 65
3.4.3 非线性降维 67
本章小结 73
习题 73
第4章 无监督学习 74
4.1 K-Means算法 74
4.1.1 K-Means算法原理 74
4.1.2 K-Means算法流程 76
4.1.3 K-Means存在的问题 76
4.1.4 K-Means优化(K-Means++算法) 77
4.1.5 K-Means算法实现 77
4.1.6 K-Means算法实例应用 82
4.2 Mean Shift算法 84
4.2.1 核密度估计 84
4.2.2 Mean Shift算法的基本形式 85
4.2.3 Mean Shift算法的基本流程 85
4.2.4 Mean Shift算法实现 86
4.2.5 Mean Shift算法实例应用 90
4.3 DBSCAN聚类算法 91
4.3.1 DBSCAN聚类定义 92
4.3.2 DBSCAN聚类算法 93
4.3.3 DBSCAN算法实现 94
4.3.4 DBSCAN算法实例应用 98
本章小结 101
习题 101
第5章 决策树 102
5.1 决策树简介 102
5.2 决策树构造 103
5.2.1 信息增益 103
5.2.2 信息增益率 104
5.2.3 基尼系数 105
5.2.4 递归构造决策树 105
5.3 决策树剪枝 106
5.4 实例:应用决策树预测鸢尾花
分类 107
5.4.1 鸢尾花数据集简介 107
5.4.2 数据集分析与可视化 107
5.4.3 实现决策树分类 108
5.4.4 决策树存储 111
5.4.5 决策树模型分析 112
5.4.6 K折交叉验证 113
5.5 随机森林 114
5.5.1 随机森林简介 114
5.5.2 随机森林构造 114
5.5.3 袋外错误率 116
5.6 实例:随机森林实现鸢尾花分类 116
5.7 决策树与随机森林的优缺点 119
本章小结 120
习题 121
第6章 朴素贝叶斯 122
6.1 贝叶斯定理 122
6.1.1 贝叶斯定理的提出 122
6.1.2 条件概率 123
6.2 基于朴素贝叶斯的分类方法 125
6.2.1 应用条件概率进行分类 125
6.2.2 分类过程 125
6.2.3 朴素贝叶斯分类过程 126
6.2.4 朴素贝叶斯的实现代码 127
6.2.5 朴素贝叶斯的扩展方法 128
6.3 朴素贝叶斯分类的Python实现 129
6.4 示例:过滤垃圾电子邮件 131
6.4.1 获取并观察数据集 131
6.4.2 读取数据集并转换为字符列表 134
6.4.3 将字符列表转换为特征向量 134
6.4.4 样本集划分 138
6.4.5 调用算法模块并预测分类 139
6.5 EM算法 139
6.5.1 极大似然估计 139
6.5.2 EM算法的基本思想 140
6.5.3 EM算法的原理 140
6.6 示例:EM算法用于鸢尾花分类 142
本章小结 144
习题 145
第7章 关联分析 146
7.1 概述 146
7.2 Apriori的基本概念 147
7.2.1 关联规则 147
7.2.2 支持度与频繁项目集 148
7.2.3 置信度与强关联规则 148
7.3 Apriori算法工作原理 149
7.3.1 发现频繁项目集 149
7.3.2 生成关联规则 151
7.3.3 Apriori算法实现 152
7.3.4 示例:发现毒蘑菇的特征 153
7.4 FP-growth算法介绍 155
7.4.1 构建FP树 156
7.4.2 从FP树中挖掘频繁项目集 158
7.4.3 FP-growth算法实现 159
7.4.4 示例:零售店购物篮挖掘 160
7.5 Apriori算法与FP-growth算法的
优缺点 162
本章小结 163
习题 163
第8章 回归 164
8.1 线性回归 164
8.1.1 最小二乘法 165
8.1.2 梯度下降法 166
8.1.3 示例:波士顿房价预测 168
8.2 局部加权线性回归 174
8.3 回归系数的缩减方法 177
8.3.1 岭回归 177
8.3.2 Lasso回归 181
8.4 逻辑回归 183
8.4.1 分类函数 183
8.4.2 回归方程 184
8.4.3 梯度下降法求解最佳回归系数 184
8.4.4 示例:Iris数据集分类 186
本章小结 188
习题 188
第9章 人工神经网络 189
9.1 概述 189
9.1.1 人工神经网络的发展史 190
9.1.2 人工神经网络的特点 192
9.2 人工神经元MP模型 193
9.2.1 单层神经元——感知机模型 194
9.2.2 常见的激活函数 197
9.3 多层前馈正向传播神经网络 199
9.3.1 正向传播神经网络结构 200
9.3.2 多层神经网络激活函数 201
9.3.3 损失函数 202
9.3.4 前向传播网络Python
代码实现 203
9.4 反向多层传播BP神经网络 204
9.4.1 BP算法的基本思想 204
9.4.2 BP算法的数学推导 206
9.4.3 梯度计算及梯度下降 207
9.4.4 BP神经网络举例 208
9.4.5 反向传播神经网络Python
代码实现 213
9.4.6 BP神经网络的优缺点 215
本章小结 215
习题 216
第10章 TensorFlow深度学习框架 217
10.1 TensorFlow简介 217
10.2 TensorFlow安装和使用 219
10.2.1 安装环境介绍 219
10.2.2 安装TensorFlow 220
10.3 TensorFlow基础知识 222
10.3.1 TensorFlow使用 222
10.3.2 张量 223
10.3.3 张量的各种操作变换 224
10.4 基于TensorFlow求解线性回归问题
234
10.5 利用TensorBoard进行数据
可视化 238
10.5.1 在TensorBoard中查看
图结构 239
10.5.2 TensorBoard查看数据趋势
变化 240
本章小结 243
习题 243
第11章 卷积神经网络 244
11.1 卷积神经网络简介 244
11.1.1 研究背景 244
11.1.2 卷积神经网络的基本特性 245
11.1.3 卷积神经网络的应用 246
11.2 卷积神经网络的基本运算 247
11.2.1 卷积神经网络的输入 248
11.2.2 卷积运算 248
11.2.3 图像边界填充 254
11.2.4 激活函数 256
11.2.5 池化计算 257
11.2.6 全连接层 258
11.2.7 卷积神经网络的训练过程 259
11.3 用TensorFlow实现卷积神经网络 260
11.3.1 TensorFlow的卷积操作 261
11.3.2 用TensorFlow实现MNIST
手写体识别 262
11.4 几种经典的卷积神经网络 264
11.4.1 LeNet网络 264
11.4.2 AlexNet网络 267
11.4.3 VGGNet网络 269
11.4.4 ResNet网络 270
本章小结 271
习题 272
第12章 循环神经网络 273
12.1 循环神经网络与自然语言处理 274
12.1.1 序列数据建模 274
12.1.2 序列数据的One-Hot编码 275
12.1.3 神经语言模型 277
12.1.4 字词转换为向量Word2Vec模型
278
12.2 循环神经网络基本原理 282
12.2.1 循环单元结构 282
12.2.2 RNN算法原理 283
12.2.3 RNN前向传播算法 284
12.2.4 RNN反向传播算法推导 284
12.2.5 循环神经网络的不足 285

12.3 长短期记忆网络 287
12.3.1 LSTM的单元基本结构 287
12.3.2 LSTM的核心思想 288
12.3.3 GRU神经网络模型介绍 292
12.3.4 LSTM和GRU的核心思想对比
293
12.4 用TensorFlow实现循环神经网络 294
12.4.1 理解tf.contrib.rnn.BasicRNNCell
函数 295
12.4.2 理解tf.contrib.rnn.BasicLSTMCell
函数 295
12.4.3 理解tf.contrib.rnn.GRUCell函数
297
12.4.4 解读tf.contrib.rnn.DropoutWrapper
函数 298
12.5 BERT深度网络模型介绍 299
本章小结 302
习题 302
第13章 强化学习 303
13.1 强化学习简介 303
13.1.1 强化学习基本原理 304
13.1.2 强化学习的特点 304
13.1.3 强化学习要素 304
13.1.4 强化学习与监督学习、非监督
学习之间的关系 305
13.1.5 强化学习的学习过程 306
13.1.6 价值函数的计算过程 307
13.2 马尔可夫(Markov)决策过程 308
13.3 强化学习方法 312
13.3.1 强化学习方法分类 312
13.3.2 时序差分法 313
13.3.3 基于动态规划的算法 317
13.3.4 策略梯度算法 320
13.4 强化学习实例 323
本章小结 330
习题 331
参考文献 332