[套装书]深度学习之PyTorch物体检测实战+Python数据挖掘与机器学习实战(2册)

作者
董洪义方巍
丛书名
出版社
机械工业出版社
ISBN
9781912201116
简要
简介
内容简介书籍计算机书籍 ---------------------------深度学习之PyTorch物体检测实战--------------------------- 本书从物体检测的概念、发展、经典实现方法等几个方面系统地介绍了物体检测的相关知识,重点介绍了Faster RCNN、SDD和YOLO这三个经典的检测器,并利用PyTorch框架从代码角度进行了细致讲解。另外,本书进一步介绍了物体检测的轻量化网络、细节处理、难点问题及未来的发展趋势,从实战角度给出了多种优秀的解决方法,便于读者更深入地掌握物体检测技术,从而做到在实际项目中灵活应用。 本书共10章,涵盖的主要内容有物体检测与PyTorch框架基础概念与背景;PyTorch基础知识;基础卷积网络Backbone;两阶经典检测器Faster RCNN;单阶多层检测器SSD;单阶经典检测器YOLO;模型加速之轻量化网络;物体检测细节处理;物体检测难点问题;物体检测的未来发展。本书适合PyTorch框架爱好者和物体检测相关从业人员阅读,也适合深度学习和计算机视觉领域的研究人员阅读。 ---------------------------Python数据挖掘与机器学习实战--------------------------- 本书作为数据挖掘入门读物,基于真实数据集进行案例实战,使用Python数据科学库,从数据预处理开始一步步介绍数据建模和数据挖掘的过程。主要介绍了数据挖掘的基础知识、基本工具和实践方法,通过循序渐进地讲解算法,带领读者轻松踏上数据挖掘之旅。本书采用理论与实践相结合的方式,呈现了如何使用逻辑回归进行环境数据检测,如何使用HMM进行中文分词,如何利用卷积神经网络识别雷达剖面图,如何使用循环神经网络构建聊天机器人,如何使用朴素贝叶斯算法进行破产预测,如何使用DCGAN网络进行人脸生成等。本书也涉及神经网络、在线学习、强化学习、深度学习、大数据处理等内容。 本书适合对传统数据挖掘和机器学习算法开发感兴趣的读者阅读,也适合需要系统掌握深度学习的开发人员阅读。
目录



---------------------------深度学习之PyTorch物体检测实战---------------------------


前言
第1篇 物体检测基础知识
第1章 浅谈物体检测与PyTorch 2
1.1 深度学习与计算机视觉 2
1.1.1 发展历史 2
1.1.2 计算机视觉 7
1.2 物体检测技术 9
1.2.1 发展历程 10
1.2.2 技术应用领域 11
1.2.3 评价指标 12
1.3 PyTorch简介 17
1.3.1 诞生与特点 17
1.3.2 各大深度学习框架对比 17
1.3.3 为什么选择PyTorch 19
1.3.4 安装方法 20
1.4 基础知识准备 22
1.4.1 Linux基础 22
1.4.2 Python基础 24
1.4.3 高效开发工具 29
1.5 总结 36
第2章 PyTorch基础 37
2.1 基本数据:Tensor 37
2.1.1 Tensor数据类型 37
2.1.2 Tensor的创建与维度查看 39
2.1.3 Tensor的组合与分块 41
2.1.4 Tensor的索引与变形 42
2.1.5 Tensor的排序与取极值 46
2.1.6 Tensor的自动广播机制与向量化 46
2.1.7 Tensor的内存共享 47
2.2 Autograd与计算图 48
2.2.1 Tensor的自动求导:Autograd 49
2.2.2 计算图 50
2.2.3 Autograd注意事项 51
2.3 神经网络工具箱torch.nn 52
2.3.1 nn.Module类 52
2.3.2 损失函数 55
2.3.3 优化器nn.optim 56
2.4 模型处理 59
2.4.1 网络模型库:torchvision.models 59
2.4.2 加载预训练模型 60
2.4.3 模型保存 61
2.5 数据处理 61
2.5.1 主流公开数据集 61
2.5.2 数据加载 63
2.5.3 GPU加速 65
2.5.4 数据可视化 66
2.6 总结 68
第3章 网络骨架:Backbone 69
3.1 神经网络基本组成 69
3.1.1 卷积层 70
3.1.2 激活函数层 72
3.1.3 池化层 75
3.1.4 Dropout层 76
3.1.5 BN层 77
3.1.6 全连接层 79
3.1.7 深入理解感受野 81
3.1.8 详解空洞卷积(Dilated Convolution) 82
3.2 走向深度:VGGNet 83
3.3 纵横交错:Inception 87
3.4 里程碑:ResNet 93
3.5 继往开来:DenseNet 95
3.6 特征金字塔:FPN 99
3.7 为检测而生:DetNet 106
3.8 总结 110
第2篇 物体检测经典框架
第4章 两阶经典检测器:Faster RCNN 112
4.1 RCNN系列发展历程 112
4.1.1 开山之作:RCNN 112
4.1.2 端到端:Fast RCNN 113
4.1.3 走向实时:Faster RCNN 114
4.2 准备工作 114
4.3 Faster RCNN总览 115
4.4 详解RPN 117
4.4.1 理解Anchor 117
4.4.2 RPN的真值与预测量 119
4.4.3 RPN卷积网络 120
4.4.4 RPN真值的求取 122
4.4.5 损失函数设计 124
4.4.6 NMS与生成Proposal 125
4.4.7 筛选Proposal得到RoI 126
4.5 RoI Pooling层 127
4.6 全连接RCNN模块 130
4.6.1 RCNN全连接网络 130
4.6.2 损失函数设计 131
4.7 Faster RCNN的改进算法 131
4.7.1 审视Faster RCNN 132
4.7.2 特征融合:HyperNet 133
4.7.3 实例分割:Mask RCNN 134
4.7.4 全卷积网络:R-FCN 137
4.7.5 级联网络:Cascade RCNN 139
4.8 总结 141
第5章 单阶多层检测器:SSD 142
5.1 SSD总览 142
5.1.1 SSD的算法流程 142
5.1.2 代码准备工作 143
5.2 数据预处理 144
5.2.1 加载PASCAL数据集 144
5.2.2 数据增强 144
5.3 网络架构 148
5.3.1 基础VGG结构 148
5.3.2 深度卷积层 149
5.3.3 PriorBox与边框特征提取网络 150
5.3.4 总体网络计算过程 153
5.4 匹配与损失求解 154
5.4.1 预选框与真实框的匹配 154
5.4.2 定位损失的计算 155
5.4.3 难样本挖掘 156
5.4.4 类别损失计算 156
5.5 SSD的改进算法 157
5.5.1 审视SSD 157
5.5.2 特征融合:DSSD 158
5.5.3 彩虹网络:RSSD 160
5.5.4 基于SSD的两阶:RefineDet 162
5.5.5 多感受野融合:RFBNet 165
5.6 总结 166
第6章 单阶经典检测器:YOLO 167
6.1 无锚框预测:YOLO v1 167
6.1.1 网络结构 167
6.1.2 特征图的意义 168
6.1.3 损失计算 169
6.2 依赖锚框:YOLO v2 171
6.2.1 网络结构的改善 171
6.2.2 先验框的设计 173
6.2.3 正、负样本与损失函数 175
6.2.4 正、负样本选取代码示例 176
6.2.5 工程技巧 179
6.3 多尺度与特征融合:YOLO v3 180
6.3.1 新网络结构DarkNet-53 180
6.3.2 多尺度预测 181
6.3.3 Softmax改为Logistic 182
6.4 总结 183
第3篇 物体检测的难点与发展
第7章 模型加速之轻量化网络 186
7.1 压缩再扩展:SqueezeNet 188
7.1.1 SqueezeNet网络结构 188
7.1.2 SqueezeNet总结 190
7.2 深度可分离:MobileNet 191
7.2.1 标准卷积 191
7.2.2 深度可分离卷积 192
7.2.3 MobileNet v1结构 193
7.2.4 MobileNet v1总结 198
7.2.5 MobileNet v2 198
7.3 通道混洗:ShuffleNet 200
7.3.1 通道混洗 201
7.3.2 网络结构 202
7.3.3 ShuffleNet v2 205
7.4 总结 207
第8章 物体检测细节处理 209
8.1 非极大值抑制:NMS 209
8.1.1 NMS基本过程 210
8.1.2 抑制得分:Soft NMS 212
8.1.3 加权平均:Softer NMS 213
8.1.4 定位置信度:IoU-Net 215
8.2 样本不均衡问题 217
8.2.1 不均衡问题分析 217
8.2.2 在线难样本挖掘:OHEM 219
8.2.3 专注难样本:Focal Loss 221
8.3 模型过拟合 224
8.3.1 数据增强 226
8.3.2 L1与L2正则化 227
8.4 总结 229
第9章 物体检测难点 230
9.1 多尺度检测 230
9.1.1 多尺度问题 230
9.1.2 降低下采样率与空洞卷积 232
9.1.3 Anchor设计 233
9.1.4 多尺度训练 235
9.1.5 特征融合 235
9.1.6 尺度归一化:SNIP 236
9.1.7 三叉戟:TridentNet 238
9.2 拥挤与遮挡 239
9.2.1 遮挡背景 240
9.2.2 排斥损失:Repulsion Loss 242
9.2.3 OR-CNN 244
9.3 总结 247
第10章 物体检测的未来发展 248
10.1 重新思考物体检测 248
10.1.1 精度与速度的权衡 249
10.1.2 卷积网络的可解释性与稳定性 249
10.1.3 训练:微调还是随机初始化 250
10.1.4 考虑物体间关系的检测 251
10.1.5 优化卷积方式 252
10.1.6 神经架构搜索:NAS 253
10.1.7 与产业结合的创新 255
10.2 摆脱锚框:Anchor-Free 257
10.2.1 重新思考Anchor 257
10.2.2 基于角点的检测:CornerNet 258
10.2.3 检测中心点:CenterNet 262
10.2.4 锚框自学习:Guided Anchoring 264
10.3 总结 266



---------------------------Python数据挖掘与机器学习实战---------------------------


前言
第1章 机器学习基础 1
1.1 机器学习概述 2
1.2 机器学习的发展历程 2
1.3 机器学习分类 3
1.3.1 监督学习 3
1.3.2 无监督学习 3
1.3.3 强化学习 4
1.3.4 深度学习 4
1.4 机器学习的应用 4
1.5 开发机器学习的步骤 7
1.6 Python语言的优势 8
1.6.1 可执行伪代码 8
1.6.2 Python语言使用广泛 8
1.6.3 Python语言特色 8
1.6.4 Python语言的缺点 9
1.7 Python开发工具介绍 9
1.7.1 IDLE简介 10
1.7.2 IPython简介 11
1.7.3 PyCharm简介 11
1.7.4 Jupyter Notebook简介 12
1.7.5 Anaconda和Spyder简介 13
1.8 本章小结 15
第2章 Python语言简介 16
2.1 搭建Python开发环境 16
2.1.1 安装Anaconda 16
2.1.2 安装Spyder 18
2.1.3 运行和保存Python程序 19
2.2 Python计算与变量 19
2.2.1 用Python做简单的计算 20
2.2.2 Python的运算符 20
2.2.3 Python的变量 21
2.3 Python的字符串 22
2.4 Python的列表 23
2.5 Python的元组 25
2.6 Python的字典 27
2.7 网络爬虫的发展历史和分类 28
2.7.1 网络爬虫的发展历史 28
2.7.2 网络爬虫的分类 30
2.8 网络爬虫的原理 30
2.8.1 理论概述 30
2.8.2 爬虫的工作流程 31
2.9 爬虫框架介绍 36
2.9.1 Scrapy介绍 36
2.9.2 XPath介绍 39
2.10 网络爬虫的设计与实现 40
2.10.1 网络爬虫的总体设计 40
2.10.2 具体实现过程 40
2.10.3 爬虫结果与分析 45
2.11 本章小结 49
第3章 回归分析 50
3.1 回归分析概述 50
3.1.1 基本概念 50
3.1.2 可以解决的问题 51
3.1.3 回归分析的步骤 51
3.2 线性回归 51
3.2.1 简单线性回归分析 51
3.2.2 多元线性回归分析 52
3.2.3 非线性回归数据分析 52
3.3 用Python实现一元线性回归 53
3.4 用Python实现多元线性回归 56
3.4.1 使用pandas读取数据 56
3.4.2 分析数据 57
3.4.3 线性回归模型 58
3.5 基于线性回归的股票预测 62
3.5.1 数据获取 62
3.5.2 数据预处理 63
3.5.3 编码实现 64
3.5.4 结果分析 65
3.6 逻辑回归 66
3.6.1 构造预测函数 67
3.6.2 构造损失函数J 68
3.6.3 梯度下降法求解最小值 69
3.7 基于逻辑回归的环境数据检测 71
3.7.1 数据来源 71
3.7.2 数据处理 72
3.7.3 异常数据分析 72
3.7.4 数据预测 74
3.8 本章小结 76
第4章 决策树与随机森林 77
4.1 决策树 77
4.1.1 决策树的基本原理 77
4.1.2 决策树的分类 78
4.1.3 决策树的优缺点 81
4.2 使用决策树对鸢尾花分类 82
4.2.1 Iris数据集简介 82
4.2.2 读取数据 83
4.2.3 鸢尾花类别 83
4.2.4 数据可视化 84
4.2.5 训练和分类 85
4.2.6 数据集多类分类 86
4.2.7 实验结果 86
4.3 随机森林 87
4.3.1 随机森林的基本原理 87
4.3.2 随机森林的收敛性 88
4.3.3 随机森林的OOB估计 89
4.3.4 随机森林的随机特征选取 89
4.3.5 随机森林的优缺点 90
4.4 葡萄酒数据集的随机森林分类 91
4.4.1 数据收集 91
4.4.2 相关库函数简介 92
4.4.3 数据基本分析 93
4.4.4 使用随机森林构建模型 97
4.4.5 实验结果 98
4.5 本章小结 99
第5章 支持向量机 100
5.1 SVM的工作原理及分类 100
5.1.1 支持向量机的原理 100
5.1.2 线性可分的支持向量机 101
5.1.3 非线性可分的支持向量机 102
5.2 核函数 103
5.2.1 核函数简介 103
5.2.2 几种常见的核函数 104
5.2.3 核函数如何处理非线性数据 104
5.2.4 如何选择合适的核函数 105
5.3 SVR简介 106
5.3.1 SVR原理 106
5.3.2 SVR模型 106
5.4 时间序列曲线预测 107
5.4.1 生成训练数据集 107
5.4.2 运用不同的核函数进行支持向量回归 108
5.4.3 生成测试数据集 109
5.4.4 预测并生成图表 110
5.4.5 获取预测误差 111
5.4.6 创建数据集 112
5.4.7 选取最优参数 112
5.4.8 预测并生成图表 112
5.4.9 获取预测误差 113
5.5 本章小结 114
第6章 隐马尔可夫模型 115
6.1 隐马尔可夫模型简介 115
6.1.1 隐马尔可夫模型的概念 115
6.1.2 详例描述 116
6.1.3 HMM流程 117
6.2 Viterbi算法 117
6.3 HMM模型用于中文分词 119
6.3.1 UI界面 119
6.3.2 数据及其编码 119
6.3.3 HMM模型 121
6.3.4 实验结果 122
6.4 本章小结 124
第7章 BP神经网络模型 125
7.1 背景介绍 125
7.2 结构特点 126
7.3 网络模型 126
7.4 人工神经网络简介 127
7.4.1 神经元 127
7.4.2 单层神经网络 128
7.4.3 双层神经网络 129
7.4.4 多层神经网络 130
7.5 BP神经网络 131
7.6 通过TensorFlow实现BP神经网络 132
7.7 本章小结 134
第8章 卷积神经网络 135
8.1 传统图像识别技术 135
8.1.1 图像预处理 135
8.1.2 图像特征提取 136
8.1.3 图像分类方法 136
8.2 卷积神经网络结构简介 137
8.2.1 卷积神经网络发展历程 137
8.2.2 卷积神经网络结构简介 137
8.3 卷积神经网络的结构及原理 139
8.3.1 卷积层 139
8.3.2 池化层 140
8.3.3 激活函数 142
8.3.4 全连接层 144
8.3.5 反馈运算 144
8.4 卷积神经网络的优点 146
8.5 雷达剖面图识别模型 148
8.5.1 数据准备 148
8.5.2 构建模型 150
8.6 模型测试分析 157
8.6.1 部署基本模块 157
8.6.2 创建项目结构 157
8.6.3 训练网络 158
8.6.4 自动化测试 158
8.7 本章小结 160
第9章 循环神经网络 161
9.1 自然语言处理 161
9.1.1 自然语言处理概述 161
9.1.2 自然语言处理应用 162
9.2 对话系统 163
9.2.1 对话系统分类 163
9.2.2 聊天机器人分类 164
9.3 基于LSTM结构的循环神经网络 165
9.3.1 循环神经网络 165
9.3.2 通过时间反向传播 166
9.3.3 长短期记忆网络(LSTM) 169
9.4 Seq2Seq模型 172
9.4.1 Encoder-Decoder框架 173
9.4.2 Attention机制 174
9.5 聊天机器人的程序实现 176
9.5.1 准备数据 176
9.5.2 创建模型 178
9.5.3 训练模型 179
9.5.4 测试模型 180
9.6 本章小结 181
第10章 聚类与集成算法 182
10.1 聚类方法简介 182
10.1.1 聚类定义 183
10.1.2 聚类要求 183
10.2 聚类算法 184
10.2.1 划分方法 184
10.2.2 层次方法 184
10.2.3 基于密度的方法 184
10.2.4 基于网格的方法 185
10.2.5 基于模型的方法 185
10.3 K-Means算法 185
10.3.1 K-Means算法概述 185
10.3.2 K-Means算法流程 185
10.3.3 K-Means算法实现 186
10.3.4 实验结果及分析 188
10.3.5 K-Means算法存在的问题 188
10.4 K-Means++算法 189
10.4.1 K-Means++的基本思想 189
10.4.2 K-Means++的数学描述 190
10.4.3 K-Means++算法流程 190
10.5 K-Means++的实现 191
10.5.1 数据集 191
10.5.2 代码实现 192
10.5.3 K-Means++实验结果 193
10.6 Adaboost集成算法的原理 194
10.6.1 Boosting算法的基本原理 194
10.6.2 Adaboost算法介绍 195
10.6.3 Adaboost分类问题的损失函数优化 197
10.6.4 Adaboost二元分类问题的算法流程 198
10.6.5 Adaboost回归问题的算法流程 199
10.6.6 Adaboost算法的正则化 200
10.6.7 Adaboost的优缺点 200
10.7 Adaboost算法实现 201
10.7.1 数据集处理 201
10.7.2 实现过程 201
10.7.3 实验结果分析 206
10.8 本章小结 208
第11章 其他机器学习算法 209
11.1 贝叶斯分类器 210
11.1.1 概率基础知识 210
11.1.2 贝叶斯决策准则 211
11.1.3 极大似然估计 212
11.2 贝叶斯分类模型 213
11.2.1 朴素贝叶斯分类模型 213
11.2.2 半朴素贝叶斯分类模型 216
11.2.3 贝叶斯网络分类模型 217
11.3 朴素贝叶斯分类器在破产预测中的应用 219
11.3.1 数据集 219
11.3.2 训练多项式朴素贝叶斯模型 220
11.4 在线学习 222
11.4.1 线性模型的在线学习 222
11.4.2 非线性模型的在线学习 224
11.5 Bandit在线学习算法 225
11.5.1 Bandit算法与推荐系统 226
11.5.2 常用Bandit算法 226
11.6 Bandit算法原理及实现 228
11.7 GAN网络 229
11.7.1 GAN产生的背景 230
11.7.2 模型结构 230
11.7.3 GAN的实现原理 232
11.8 DCGAN网络 236
11.8.1 模型结构 236
11.8.2 反卷积 237
11.9 DCGAN人脸生成 240
11.9.1 实验准备 240
11.9.2 关键模块的实现 240
11.9.3 实验结果展示 243
11.10 本章小结 245
附录A 机器学习常见面试题 246
附录B 数学基础 257
B.1 常用符号 257
B.2 数学基础知识 259
B.2.1 线性代数 259
B.2.2 概率论 261
B.2.3 信息论 262
参考文献 264



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4