第1章 绪论 1
1.1 引言 2
1.2 深度学习的发展历程 3
1.3 TensorFlow应用现状 5
习题 6
第2章 机器学习概论 7
2.1 机器学习相关的数学知识 8
2.1.1 微积分 8
2.1.2 线性代数 11
2.1.3 概率论 14
2.2 机器学习方法 15
2.2.1 监督学习 16
2.2.2 无监督学习 24
2.2.3 半监督学习 26
2.2.4 强化学习 28
2.3 数据的预处理方法 31
习题 34
第3章 神经网络 35
3.1 神经网络基础知识 36
3.1.1 MP模型 36
3.1.2 感知机 38
3.1.3 三层感知机 41
3.2 神经网络模型 53
3.2.1 径向基函数网络 54
3.2.2 Hopfield神经网络 56
3.2.3 Elman神经网络 56
3.2.4 玻尔兹曼机 57
3.2.5 自动编码器 60
3.2.6 生成对抗网络 62
习题 64
第4章 深度学习 65
4.1 多层感知机神经网络 66
4.2 激活函数、损失函数和过拟合 71
4.2.1 激活函数 71
4.2.2 损失函数(代价函数) 74
4.2.3 防止过拟合 78
4.3 卷积神经网络 80
4.3.1 卷积神经网络原理 81
4.3.2 *卷积神经网络BP算法的数学推导 86
4.4 循环神经网络 89
4.4.1 循环神经网络模型原理 90
4.4.2 *BPTT算法 91
4.4.3 双向循环神经网络 95
4.4.4 深度循环神经网络 96
4.4.5 长短时记忆网络 96
4.4.6 门控循环单元网络 98
4.5 深度置信网络 99
4.5.1 RBM原理 99
4.5.2 RBM求解算法 100
4.5.3 对比散度算法 101
4.5.4 *公式推导 101
4.5.5 深度置信网络训练 105
4.6 深度学习框架 106
4.6.1 TensorFlow 107
4.6.2 Caffe 107
4.6.3 Theano 108
4.6.4 Keras 109
习题 110
第5章 Python编程基础 111
5.1 Python环境搭建 112
5.1.1 Python安装 112
5.1.2 Jupyter Notebook编程器安装使用 112
5.2 Python编程基础知识 117
5.2.1 Python标识符 117
5.2.2 Python标准数据类型 118
5.2.3 Python语句 118
5.2.4 Python运算符 119
5.2.5 代码组 121
5.2.6 Python流程控制 122
5.2.7 Python函数 123
5.2.8 Python模块 126
5.2.9 Python类 127
5.2.10 命名空间和作用域 131
5.3 Python标准库 132
5.4 Python机器学习库 132
5.4.1 NumPy 132
5.4.2 SciPy 140
5.4.3 pandas 143
5.4.4 scikit-learn 148
习题 153
第6章 TensorFlow编程基础 155
6.1 TensorFlow的发展历程与演进 156
6.2 TensorFlow的搭建配置 158
6.2.1 在Windows系统环境下安装TensorFloW 158
6.2.2 在Mac OS系统环境下安装TensorFlow 158
6.2.3 在Linux系统环境下安装7 ensorFlow 159
6.3 TensorFlow编程基础知识 159
6.3.1 张量 159
6.3.2 符号式编程 160
6.3.3 变量和常量 161
6.3.4 会话 161
6.3.5 占位符、获取和馈送 162
6.3.6 Variable类 163
6.3.7 常量、序列以及随机值 164
6.3.8 执行图 166
6.3.9 操作运算 167
6.3.10 基本数学函数 170
6.3.11 矩阵数学函数 171
6.3.12 张量数学函数 176
6.3.13 张量Reduction操作 176
6.3.14 累加和累积 179
6.3.15 张量拆分操作 179
6.3.16 序列比较与索引 182
6.3.17 张量数据类型转换 183
6.3.18 TensorFlow张量形状的确定与改变 184
6.4 TensorFlow系统架构及源码结构 185
6.5 Eager Execution 188
6.6 TensorFlow示例代码 189
6.6.1 简单回归拟合 189
6.6.2 波士顿房价预测 191
习题 193
第7章 TensorFlow模型 194
7.1 TensorFlow模型编程模式 195
7.1.1 tf.nn模块 195
7.1.2 tf.layers模块 207
7.1.3 tf.estimator模块 210
7.1.4 tf.keras模块 211
7.2 读取数据 212
7.2.1 载入数据 212
7.2.2 创建迭代器 214
7.2.3 使用dataset数据 216
7.3 TensorFlow模型搭建 218
7.4 TensorFlow模型训练 220
7.4.1 损失函数——tf.losses模块 220
7.4.2 优化器——tf.train模块 220
7.4.3 训练示例 222
7.5 TensorFlow评估 222
7.5.1 评价指标 222
7.5.2 评估函数——tf.metrics模块 225
7.6 TensorFlow模型载入、保存及调用 227
7.7 可视化分析和评估模型 229
7.7.1 tf.summary模块 229
7.7.2 TensorBoard可视化评估工具 229
7.7.3 TensorBoard使用案例 230
7.8 示例——鸢尾花分类 239
习题 242
第8章 TensorFlow编程实践 243
8.1 MNIST手写数字识别 244
8.1.1 使用tf.nn模块实现MNIST手写数字识别 245
8.1.2 使用tf.estimator模块实现MNIST手写数字识别 248
8.2 Fashion MNIST 253
8.2.1 Keras序列模型 253
8.2.2 Fashion MNIST代码 259
8.3 RNN简笔画识别 265
习题 275
第9章 TensorFlow Lite和TensorFlow.js 276
9.1 TensorFlow Lite 277
9.1.1 转化训练好的模型为.tflite文件 278
9.1.2 编写自定义操作代码 279
9.1.3 在TensorFlow Lite的移动端进行安卓开发 280
9.1.4 在TensorFlow Lite的移动端进行iOS开发 283
9.2 TensorFlow.js 284
9.2.1 TensorFlow.js JavaScript库引入 284
9.2.2 TensorFlow.js基础知识 285
9.2.3 TensorFlow.js示例 289
习题 302
第10章 TensorFlow案例——医学应用 303
10.1 开源医学图像分析平台DLTK的安装运行 304
10.2 开源医学图像分析平台DLTK的使用 305
10.3 开源医学图像分析平台DLTK案例 310
10.4 开源医学图像分析平台DLTK模型 312
习题 323
第11章 Seq2Seq+attention模型及其应用案例 324
11.1 Seq2Seq和attention模型 325
11.2 TensorFlow自动文本摘要生成 327
11.2.1 TextSum安装运行 328
11.2.2 TextSum整体结构 329
11.3 聊天机器人 350
11.3.1 DeepQA 350
11.3.2 Stanford TensorFlow Chatbot 356
习题 356