




..........................13参考文献.................................13
第2章第一个神经网络14
2.1目标问题:MNIST手写数字识别.................15
2.1.1数据集............................15
2.1.2图像数据和图向量.....................16
2.2挑战:从二分类到多分类.....................16
2.3Softmax方法............................19
2.4正确分类的独热编码........................20
2.5损失函数——交叉熵........................21
2.6信息熵和交叉熵...........................21
2.6.1信息熵............................21
2.6.2交叉熵............................22
2.7第一个神经网络的学习算法....................23
2.8反向传播..............................26
2.9抽象泄漏..............................27
2.10算法实现..............................28
2.10.1数据准备..........................28
2.10.2实现第一个神经网络....................33
2.10.3实现MINIST手写数字识别................36
2.11小结.................................37参考文献.................................38
第3章多层全连接神经网络39
3.1第一个挑战:异或问题.......................40
3.2更深的神经网络——隐藏层....................40
3.3第二个挑战:参数拟合的两面性..................42
3.4过拟合与正则化...........................44
3.4.1欠拟合与过拟合.......................44
3.4.2正则化............................44
3.4.3正则化的效果........................44
3.5第三个挑战:非线性可分问题...................45
3.6激活函数..............................45
3.7算法和结构.............................47
3.8算法实现..............................50
3.8.1数据准备..........................50
3.8.2实现多层全连接神经网络.................50
3.8.3在数据集上验证模型....................53
3.9小结.................................54参考文献.................................54
第4章卷积神经网络(CNN)55
4.1挑战:参数量和训练成本.....................56
4.2卷积神经网络的结构........................56
4.2.1卷积层............................57
4.2.2池化层............................62
4.2.3全连接层和Softmax处理.................63
4.3卷积神经网络学习算法.......................63
4.3.1全连接层..........................63
4.3.2池化层反向传播.......................64
4.3.3卷积层反向传播.......................65
4.4算法实现..............................68
4.4.1数据准备..........................68
4.4.2卷积神经网络模型的原始实现...............69
4.5小结.................................76参考文献.................................78
第5章卷积神经网络——算法提速和优化79
5.1第一个挑战:卷积神经网络的运算效率..............80
5.2提速改进..............................80
5.2.1边缘填充提速........................82
5.2.2池化层提速.........................83
5.2.3卷积层处理.........................85
5.3反向传播算法实现.........................88
5.3.1池化层反向传播.......................88
5.3.2卷积层反向传播.......................89
5.4第二个挑战:梯度下降的幅度和方向...............91
5.5递减学习率参数...........................92
5.6学习策略的优化方法........................92
5.6.1动量方法..........................93
5.6.2NAG方法..........................93
5.6.3Adagrad方法........................94
5.6.4RMSprop方法.......................95
5.6.5AdaDelta方法.......................96
5.6.6Adam方法.........................97
5.6.7各种优化方法的比较....................98
目录
5.7总体模型结构............................100
5.8使用CNN实现MNIST手写数字识别验证...........101
5.9小结.................................102参考文献.................................103
第6章批量规范化(BatchNormalization)104
6.1挑战:深度神经网络不易训练...................105
6.2批量规范化方法的初衷.......................105
6.2.1数据集偏移.........................106
6.2.2输入分布偏移........................106
6.2.3内部偏移..........................107
6.3批量规范化的算法.........................107
6.3.1训练时的前向计算.....................107
6.3.2规范化与标准化变量....................108
6.3.3推理预测时的前向计算...................109
6.3.4全连接层和卷积层的批量规范化处理...........110
6.4批量规范化的效果.........................111
6.4.1梯度传递问题........................111
6.4.2饱和非线性激活问题....................112
6.4.3正则化效果.........................113
6.5批量规范化为何有效........................113
6.6批量规范化的反向传播算法....................114
6.7算法实现..............................115
6.7.1训练时的前向传播.....................116
6.7.2反向传播..........................117
6.7.3推理预测..........................118
6.8调整学习率和总体结构.......................119
6.8.1模型结构..........................119
6.8.2卷积层批量规范化的实现.................120
6.8.3引入批量规范化后的递减学习率..............121
6.9在MNIST数据集上验证结果...................122
6.10小结.................................123
参考文献.................................123
第7章循环神经网络(VanillaRNN)125
7.1第一个挑战:序列特征的捕捉...................126
7.2循环神经网络的结构........................126
7.2.1单层RNN..........................126
7.2.2双向RNN..........................128
7.2.3多层RNN..........................129
7.3RNN前向传播算法.........................130
7.4RNN反向传播算法.........................131
7.4.1误差的反向传播.......................131
7.4.2激活函数的导函数和参数梯度...............132
7.5第二个挑战:循环神经网络的梯度传递问题...........133
7.6梯度裁剪..............................134
7.7算法实现..............................135
7.8目标问题:序列数据分析.....................139
7.8.1数据准备..........................139
7.8.2模型搭建..........................144
7.8.3验证结果..........................145
7.9小结.................................147参考文献.................................147
第8章长短时记忆网络(LSTM)——指数分析149
8.1目标问题:投资市场的指数分析..................150
8.2挑战:梯度弥散问题........................150
8.3长短时记忆网络的结构.......................150
8.4LSTM前向传播算法........................152
8.5LSTM反向传播算法........................153
8.5.1误差反向传播........................154
8.5.2激活函数的导函数和参数梯度...............155
8.6算法实现..............................156
8.6.1实现LSTM单时间步的前向计算.............156
8.6.2实现LSTM多层多时间步的前向计算..........157
8.6.3实现LSTM单时间步的反向传播.............159
8.6.4实现LSTM多层多时间步的反向传播..........160
8.7实现沪深300指数分析.......................161
8.7.1数据准备..........................162
8.7.2模型构建..........................166
8.7.3分析结果..........................167
8.8小结.................................168参考文献.................................169
第9章双向门控循环单元(BiGRU)——情感分析170
9.1目标问题:情感分析........................171
9.2第一个挑战:模型的运算效率...................172
9.3GRU模型的结构..........................172
9.4GRU前向传播算法.........................173
9.5GRU前向传播表达式的其他写法.................174
9.6GRU反向传播算法.........................175
9.7GRU算法实现...........................177
9.7.1单时间步的前向计算....................177
9.7.2实现单时间步的反向传播.................178
9.8用GRU模型进行情感分析....................179
9.8.1数据预处理.........................180
9.8.2构建情感分析模型.....................181
9.9首次验证..............................182
9.10第二个挑战:序列模型的过拟合..................183
9.11Dropout正则化...........................183
9.11.1Dropout前向传播算法...................183
9.11.2Dropout反向传播算法...................184
9.11.3DropoutRate的选择...................185
9.12再次验证:GRU+Dropout.....................186
9.13第三个挑战:捕捉逆序信息....................187
9.14双向门控循环单元(BiGRU)...................187
9.15第三次验证:BiGRU+Dropout..................188
9.16小结.................................189
参考文献.................................189
附录A向量和矩阵运算191
附录B导数和微分194
附录C向量和矩阵导数195
附录D概率论和数理统计201
索引205
编程不难(全彩图解 + 微课 + Python编程)(鸢尾花数学大系:从加减乘除到机器学习)
2025-12-17