第一部分 Python及应用数学基础 2
第1章 NumPy常用操作 2
1.1 生成ndarray的几种方式 3
1.2 存取元素 5
1.3 矩阵操作 6
1.4 数据合并与展平 7
1.5 通用函数 9
1.6 广播机制 11
1.7 小结 12
第2章 Theano基础 13
2.1 安装 14
2.2 符号变量 15
2.3 符号计算图模型 17
2.4 函数 18
2.5 条件与循环 21
2.6 共享变量 23
2.7 小结 24
第3章 线性代数 25
3.1 标量、向量、矩阵和张量 25
3.2 矩阵和向量运算 28
3.3 特殊矩阵与向量 29
3.4 线性相关性及向量空间 31
3.5 范数 32
3.6 特征值分解 33
3.7 奇异值分解 34
3.8 迹运算 35
3.9 实例:用Python实现主成分分析 36
3.10 小结 39
第4章 概率与信息论 40
4.1 为何要学概率、信息论 40
4.2 样本空间与随机变量 41
4.3 概率分布 42
4.3.1 离散型随机变量 42
4.3.2 连续型随机变量 45
4.4 边缘概率 47
4.5 条件概率 47
4.6 条件概率的链式法则 48
4.7 独立性及条件独立性 48
4.8 期望、方差及协方差 49
4.9 贝叶斯定理 52
4.10 信息论 53
4.11 小结 56
第5章 概率图模型 57
5.1 为何要引入概率图 57
5.2 使用图描述模型结构 58
5.3 贝叶斯网络 59
5.3.1 隐马尔可夫模型简介 60
5.3.2 隐马尔可夫模型三要素 60
5.3.3 隐马尔可夫模型三个基本问题 61
5.3.4 隐马尔可夫模型简单实例 62
5.4 马尔可夫网络 64
5.4.1 马尔可夫随机场 64
5.4.2 条件随机场 65
5.4.3 实例:用Tensorflow实现条件随机场 66
5.5 小结 70
第二部分 深度学习理论与应用 72
第6章 机器学习基础 72
6.1 监督学习 72
6.1.1 线性模型 73
6.1.2 SVM 77
6.1.3 贝叶斯分类器 79
6.1.4 集成学习 81
6.2 无监督学习 84
6.2.1 主成分分析 84
6.2.2 k-means聚类 84
6.3 梯度下降与优化 85
6.3.1 梯度下降简介 86
6.3.2 梯度下降与数据集大小 87
6.3.3 传统梯度优化的不足 89
6.3.4 动量算法 90
6.3.5 自适应算法 92
6.3.6 有约束最优化 95
6.4 前馈神经网络 96
6.4.1 神经元结构 97
6.4.2 感知机的局限 98
6.4.3 多层神经网络 99
6.4.4 实例:用TensorFlow实现XOR 101
6.4.5 反向传播算法 103
6.5 实例:用Keras构建深度学习架构 109
6.6 小结 109
第7章 深度学习挑战与策略 110
7.1 正则化 110
7.1.1 正则化参数 111
7.1.2 增加数据量 115
7.1.3 梯度裁剪 116
7.1.4 提前终止 116
7.1.5 共享参数 117
7.1.6 Dropout 117
7.2 预处理 119
7.2.1 初始化 120
7.2.2 归一化 120
7.3 批量化 121
7.3.1 随机梯度下降法 121
7.3.2 批标准化 122
7.4 并行化 124
7.4.1 TensorFlow利用GPU加速 124
7.4.2 深度学习并行模式 125
7.5 选择合适的激活函数 127
7.6 选择合适代价函数 128
7.7 选择合适的优化算法 129
7.8 小结 130
第8章 安装TensorFlow 131
8.1 TensorFlowCPU版的安装 131
8.2 TensorFlow GPU版的安装 132
8.3 配置JupyterNotebook 136
8.4 实例:CPU与GPU性能比较 137
8.5 实例:单GPU与多GPU性能比较 138
8.6 小结 140
第9章 TensorFlow基础 141
9.1 TensorFlow系统架构 141
9.2 数据流图 143
9.3 TensorFlow基本概念 144
9.3.1 张量 144
9.3.2 算子 145
9.3.3 计算图 146
9.3.4 会话 146
9.3.5 常量 148
9.3.6 变量 149
9.3.7 占位符 153
9.3.8 实例:比较constant、variable和placeholder 154
9.4 TensorFlow实现数据流图 156
9.5 可视化数据流图 156
9.6 TensorFlow分布式 158
9.7 小结 160
第10章 TensorFlow图像处理 162
10.1 加载图像 162
10.2 图像格式 163
10.3 把图像转换为TFRecord文件 164
10.4 读取TFRecord文件 165
10.5 图像处理实例 166
10.6 全新的数据读取方式——DatasetAPI 170
10.6.1 DatasetAPI架构 170
10.6.2 构建Dataset 171
10.6.3 创建迭代器 174
10.6.4 从迭代器中获取数据 174
10.6.5 读入输入数据 175
10.6.6 预处理数据 175
10.6.7 批处理数据集元素 176
10.6.8 使用高级API 176
10.7 小结 177
第11章 TensorFlow神经元函数 178
11.1 激活函数 178
11.1.1 sigmoid函数 179
11.1.2 tanh函数 179
11.1.3 relu函数 180
11.1.4 softplus函数 181
11.1.5 dropout函数 181
11.2 代价函数 181
11.2.1 sigmoid_cross_entropy_with_logits函数 182
11.2.2 softmax_cross_entropy_with_logits函数 183
11.2.3 sparse_softmax_cross_entropy_with_logits函数 184
11.2.4 weighted_cross_entropy_with_logits函数 184
11.3 小结 185
第12章 TensorFlow自编码器 186
12.1 自编码简介 186
12.2 降噪自编码 188
12.3 实例:TensorFlow实现自编码 188
12.4 实例:用自编码预测信用卡欺诈 191
12.5 小结 197
第13章 TensorFlow实现 Word2Vec 198
13.1 词向量及其表达 198
13.2 Word2Vec原理 199
13.2.1 CBOW模型 200
13.2.2 Skim-gram模型 200
13.3 实例:TensorFlow实现Word2Vec 201
13.4 小结 206
第14章 TensorFlow卷积神经网络 207
14.1 卷积神经网络简介 207
14.2 卷积层 208
14.2.1 卷积核 209
14.2.2 步幅 211
14.2.3 填充 212
14.2.4 多通道上的卷积 213
14.2.5 激活函数 214
14.2.6 卷积函数 215
14.3 池化层 216
14.4 归一化层 217
14.5 TensorFlow实现简单卷积神经网络 218
14.6 TensorFlow实现进阶卷积神经网络 219
14.7 几种经典卷积神经网络 223
14.8 小结 224
第15章 TensorFlow循环神经网络 226
15.1 循环神经网络简介 226
15.2 前向传播与随时间反向传播 228
15.3 梯度消失或爆炸 231
15.4 LSTM算法 232
15.5 RNN其他变种 235
15.6 RNN应用场景 236
15.7 实例:用LSTM实现分类 237
15.8 小结 241
第16章 TensorFlow高层封装 242
16.1 TensorFlow高层封装简介 242
16.2 Estimator简介 243
16.3 实例:使用Estimator预定义模型 245
16.4 实例:使用Estimator自定义模型 247
16.5 Keras简介 252
16.6 实例:Keras实现序列式模型 253
16.7 TFLearn简介 255
16.7.1 利用TFLearn解决线性回归问题 256
16.7.2 利用TFLearn进行深度学习 256
16.8 小结 257
第17章 情感分析 258
17.1 深度学习与自然语言处理 258
17.2 词向量简介 259
17.3 循环神经网络 260
17.4 迁移学习简介 261
17.5 实例:TensorFlow实现情感分析 262
17.5.1 导入数据 262
17.5.2 定义辅助函数 267
17.5.3 构建RNN模型 267
17.5.4 调优超参数 269
17.5.5 训练模型 270
17.6 小结 272
第18章 利用TensorFlow预测乳腺癌 273
18.1 数据说明 273
18.2 数据预处理 274
18.3 探索数据 276
18.4 构建神经网络 279
18.5 训练并评估模型 281
18.6 小结 283
第19章 聊天机器人 284
19.1 聊天机器人原理 284
19.2 带注意力的框架 286
19.3 用TensorFlow实现聊天机器人 289
19.3.1 接口参数说明 290
19.3.2 训练模型 293
19.4 小结 302
第20章 人脸识别 303
20.1 人脸识别简介 303
20.2 项目概况 306
20.3 实施步骤 307
20.3.1 数据准备 307
20.3.2 预处理数据 307
20.3.3 训练模型 309
20.3.4 测试模型 313
20.4 小结 316
第三部分 扩展篇 318
第21章 强化学习基础 318
21.1 强化学习简介 318
21.2 强化学习常用算法 320
21.2.1 Q-Learning算法 320
21.2.2 Sarsa算法 322
21.2.3 DQN算法 322
21.3 小结 324
第22章 生成式对抗网络 325
22.1 GAN简介 325
22.2 GAN的改进版本 327
22.3 小结 329