目 录
第 一部分 基础知识
第 1章 线性回归模型 3
1.1 线性回归详解 3
1.1.1 数据集的构建 3
1.1.2 线性回归模型的构建 4
1.1.3 损失函数详解 4
1.2 梯度下降算法 5
1.3 求损失函数的最小值 8
1.4 线性回归代码实战 9
1.4.1 线性回归模型的构建与训练 9
1.4.2 复杂线性回归模型的构建 14
1.4.3 使用正则项防止过拟合 16
1.5 线性回归项目实战 18
1.5.1 波士顿房价数据集简介 18
1.5.2 数据集特征值的标准化 18
1.5.3 线性回归模型的构建与训练 20
1.6 本章小结 21
第 2章 逻辑回归模型 22
2.1 逻辑回归详解 22
2.1.1 Sigmoid函数 22
2.1.2 逻辑回归模型的工作原理 24
2.1.3 损失函数的构建 25
2.1.4 二元交叉熵函数的代码实战 27
2.1.5 求模型的最优参数 27
2.2 逻辑回归项目实战 29
2.2.1 泰坦尼克数据集简介 29
2.2.2 数据集的加载 30
2.2.3 模型的构建与训练 30
2.2.4 模型的评估 32
2.2.5 使用矩阵的方式加速模型的
训练 33
2.3 逻辑回归模型与神经网络的联系 35
2.4 本章小结 36
第3章 Softmax多分类器 37
3.1 Softmax函数详解 37
3.2 Softmax多分类器详解 39
3.2.1 独热编码详解 39
3.2.2 Softmax多分类器工作原理 40
3.2.3 多元交叉熵函数详解 41
3.2.4 多元交叉熵函数的代码实战 42
3.3 数据集的预处理 43
3.3.1 MNIST数据集详解 43
3.3.2 数据集特征值的归一化 44
3.3.3 图片的扁平化 45
3.3.4 标签值的独热编码处理 46
3.4 Softmax多分类器实战 47
3.4.1 MNIST数据集的加载与
预处理 47
3.4.2 Softmax多分类器模型的构建 48
3.4.3 Softmax多分类器模型的训练 49
3.5 本章小结 50
第二部分 进阶技术
第4章 全连接神经网络 53
4.1 深度学习与神经网络简介 53
4.2 全连接神经网络 54
4.3 激活函数 56
4.3.1 Sigmoid函数 56
4.3.2 tanh函数 56
4.3.3 ReLU函数 57
4.3.4 Softmax函数 58
4.4 模型参数的初始化 58
4.4.1 初始化为常数 58
4.4.2 随机初始化模型参数 58
4.4.3 模型参数初始化实战 59
4.5 模型的训练与损失函数 60
4.5.1 模型的训练过程 60
4.5.2 损失函数的定义 61
4.6 梯度下降算法 63
4.6.1 反向传播算法 64
4.6.2 3种梯度下降算法的
计算方式 65
4.6.3 梯度下降优化算法 66
4.7 MNIST手写数字识别实战——
分类项目 67
4.7.1 深度学习项目中数据集的
划分 67
4.7.2 MNIST手写数字识别项目 68
4.8 房价数据回归分析——回归分析
项目 70
4.9 本章小结 73
第5章 神经网络模型的优化 74
5.1 防止过拟合的方法 74
5.1.1 L1/L2正则化 74
5.1.2 增加训练集样本个数 78
5.1.3 Dropout的应用 80
5.1.4 早停法 82
5.2 批量标准化 85
5.3 CIFAR-10数据集分类项目实战 87
5.3.1 CIFAR-10数据集简介 87
5.3.2 模型的构建与训练 87
5.4 模型的使用、保存与加载 90
5.4.1 使用模型进行预测 90
5.4.2 保存训练好的模型 91
5.4.3 加载模型 91
5.5 Keras 中的函数式API 92
5.6 本章小结 93
第6章 卷积神经网络 94
6.1 卷积神经网络结构 95
6.2 应用CNN模型对MNIST
数据集分类 95
6.2.1 图片的表示形式 95
6.2.2 MNIST数据集的分类 96
6.3 卷积层 99
6.3.1 卷积层的工作原理 99
6.3.2 实现卷积层的代码 102
6.3.3 补零 105
6.4 池化层 107
6.4.1 池化层的工作原理 108
6.4.2 池化层对图片的作用 109
6.5 应用CNN模型对CIFAR-10
数据集图片分类 112
6.6 猫与狗数据集分类项目实战 114
6.6.1 猫与狗数据集简介 114
6.6.2 数据集的预处理 115
6.6.3 模型的构建与训练 116
6.7 经典的CNN模型 119
6.7.1 VGG网络模型 119
6.7.2 ResNet模型 120
6.7.3 Inception网络模型 122
6.8 迁移学习 125
6.8.1 迁移学习的原理 125
6.8.2 迁移学习项目实战 126
6.9 本章小结 129
第7章 循环神经网络 130
7.1 时间序列数据详解 131
7.2 自然语言数据的处理 131
7.2.1 词的向量化表示 131
7.2.2 词汇标记化 133
7.2.3 序列填充 135
7.2.4 嵌入层的原理与应用 136
7.3 情感分析项目 139
7.3.1 情感分析项目简介 139
7.3.2 数据集的处理 139
7.4 简单RNN 141
7.4.1 简单RNN的原理 141
7.4.2 简单RNN的应用 143
7.4.3 简单RNN项目实战 145
7.5 长短期记忆神经网络 147
7.5.1 长短期记忆神经网络的原理 147
7.5.2 长短期记忆神经网络的应用 148
7.6 门控循环神经网络 150
7.6.1 门控循环神经网络的原理 150
7.6.2 门控循环神经网络的应用 151
7.7 RNN进阶 152
7.7.1 RNN中防止过拟合的方式 152
7.7.2 叠加长短期记忆神经网络 152
7.7.3 双向长短期记忆神经网络 154
7.7.4 注意力模型 156
7.8 文本生成项目 159
7.9 某公司股票价格预测项目 162
7.9.1 数据集的预处理 163
7.9.2 模型的构建与训练 164
7.9.3 可视化预测的股票开盘价格与
实际的股票开盘价格 165
7.10 自然语言处理技术新进展 166
7.10.1 迁移学习在自然语言处理
中的应用 167
7.10.2 ELMo模型介绍与实战应用 167
7.10.3 BERT模型介绍与实战应用 171
7.10.4 GPT-2模型介绍 174
7.11 本章小结 175
第三部分 高级技术
第8章 自编码模型 179
8.1 自编码模型的原理详解 179
8.2 应用自编码模型对数据降维 180
8.3 应用自编码模型进行异常检测 183
8.3.1 异常检测的原理 183
8.3.2 检测信用卡异常交易 184
8.4 应用自编码模型对图片去噪 188
8.4.1 项目介绍 188
8.4.2 反卷积的原理与应用 188
8.4.3 上采样的原理与应用 190
8.4.4 实现图片去噪项目 191
8.5 本章小结 194
第9章 生成对抗网络 195
9.1 生成对抗网络的原理 195
9.1.1 生成对抗网络的工作原理
简介 195
9.1.2 生成器与判别器的工作原理 197
9.1.3 生成对抗网络模型的训练 197
9.2 生成对抗网络模型的训练技巧 198
9.2.1 梯度值剪裁 199
9.2.2 批量标准化中的动量 199
9.3 项目实战 200
9.3.1 数据集介绍与加载 200
9.3.2 判别器模型的构建 201
9.3.3 生成器模型的构建 203
9.3.4 生成对抗网络模型的构建 206
9.3.5 生成对抗网络模型的训练 206
9.4 本章小结 209
第 10章 深度强化学习 211
10.1 深度强化学习简介 212
10.2 深度强化学习详解 213
10.3 Deep Q-Learning算法 215
10.3.1 Q-Learning算法详解 215
10.3.2 Deep Q-Learning算法详解 217
10.3.3 Deep Q-Learning算法的
应用 219
10.4 策略梯度算法 224
10.4.1 策略梯度算法原理详解 225
10.4.2 策略梯度算法项目实战 227
10.5 演员-评判家算法 231
10.5.1 演员-评判家算法原理详解 231
10.5.2 演员-评判家项目实战 232
10.6 本章小结 235