目录
第 1 章 搭建舞台 1
1.1 组件安装 2
1.1.1 Linux 2
1.1.2 macOS 3
1.1.3 Windows 3
1.2 NumPy 4
1.2.1 定义数组 4
1.2.2 数据类型 4
1.2.3 二维数组 5
1.2.4 全 0 数组和全 1 数组 6
1.2.5 高级索引 6
1.2.6 读写磁盘 8
1.3 SciPy 8
1.4 matplotlib 9
1.5 scikit-learn 11
1.6 小结 12
第 2 章 概率论 13
2.1 基础概念 13
2.1.1 样本空间和事件 14
2.1.2 随机变量 14
2.1.3 人类不擅于处理概率问题 15
2.2 概率法则 16
2.2.1 事件的概率 16
2.2.2 加法法则 18
2.2.3 乘法法则 19
2.2.4 加法法则的修正版 20
2.2.5 生日难题 20
2.2.6 条件概率 23
2.2.7 全概率公式 24
2.3 联合概率和边缘概率 25
2.3.1 联合概率表 25
2.3.2 概率的链式法则 29
2.4 小结 30
第 3 章 概率论进阶 31
3.1 概率分布 31
3.1.1 直方图与概率 32
3.1.2 离散型概率分布 34
3.1.3 连续型概率分布 39
3.1.4 中心极限定理 42
3.1.5 大数法则 45
3.2 贝叶斯定理 45
3.2.1 回到判断女性是否患有乳腺癌的例子 46
3.2.2 更新先验 47
3.2.3 机器学习中的贝叶斯定理 48
3.3 小结 50
第 4 章 统计学 51
4.1 数据类型 51
4.1.1 定类数据 52
4.1.2 定序数据 52
4.1.3 定距数据 52
4.1.4 定比数据 52
4.1.5 在深度学习中使用定类数据 53
4.2 描述性统计量 54
4.2.1 均值和中位数 54
4.2.2 用于衡量变化的统计量 57
4.3 分位数和箱形图 60
4.4 缺失数据 64
4.5 相关性 66
4.5.1 皮尔森相关性 67
4.5.2 斯皮尔曼相关性 70
4.6 假设检验 71
4.6.1 假设 72
4.6.2 t 检验 73
4.6.3 曼-惠特尼 U 检验 77
4.7 小结 79
第 5 章 线性代数 80
5.1 标量、向量、矩阵和张量 80
5.1.1 标量 81
5.1.2 向量 81
5.1.3 矩阵 82
5.1.4 张量 82
5.2 用张量进行代数运算 84
5.2.1 数组运算 85
5.2.2 向量运算 86
5.2.3 矩阵乘法 93
5.2.4 克罗内克积 97
5.3 小结 98
第 6 章 线性代数进阶 99
6.1 方阵 99
6.1.1 为什么需要方阵 100
6.1.2 转置、迹和幂 101
6.1.3 特殊方阵 103
6.1.4 三角矩阵 104
6.1.5 行列式 104
6.1.6 逆运算 107
6.1.7 对称矩阵、正交矩阵和酉矩阵 108
6.1.8 对称矩阵的正定性 109
6.2 特征向量和特征值 110
6.3 向量范数和距离度量 113
6.3.1 L 范数和距离度量 113
6.3.2 协方差矩阵 114
6.3.3 马氏距离 116
6.3.4 K-L 散度 118
6.4 主成分分析 120
6.5 奇异值分解和伪逆 122
6.5.1 SVD 实战 123
6.5.2 SVD 的两个应用 124
6.6 小结 126
第 7 章 微分 127
7.1 斜率 127
7.2 导数 129
7.2.1 导数的正式定义 129
7.2.2 基本法则 130
7.2.3 三角函数的求导法则 133
7.2.4 指数函数和自然对数的求导法则 135
7.3 函数的极小值和极大值 137
7.4 偏导数 140
7.4.1 混合偏导数 142
7.4.2 偏导数的链式法则 142
7.5 梯度 143
7.5.1 梯度的计算 144
7.5.2 可视化梯度 146
7.6 小结 148
第 8 章 矩阵微分 149
8.1 一些公式 149
8.1.1 关于标量的向量函数 150
8.1.2 关于向量的标量函数 151
8.1.3 关于向量的向量函数 152
8.1.4 关于标量的矩阵函数 152
8.1.5 关于矩阵的标量函数 153
8.2 一些性质 154
8.2.1 关于向量的标量函数 154
8.2.2 关于标量的向量函数 156
8.2.3 关于向量的向量函数 156
8.2.4 关于矩阵的标量函数 157
8.3 雅可比矩阵和黑塞矩阵 158
8.3.1 雅可比矩阵 159
8.3.2 黑塞矩阵 163
8.4 矩阵微分的一些实例 168
8.4.1 元素级运算求导 168
8.4.2 激活函数的导数 169
8.5 小结 171
第 9 章 神经网络中的数据流 172
9.1 数据的表示 172
9.1.1 在传统神经网络中表示数据 173
9.1.2 在深度卷积网络中表示数据 173
9.2 传统神经网络中的数据流 175
9.3 卷积神经网络中的数据流 178
9.3.1 卷积 179
9.3.2 卷积层 183
9.3.3 池化层 185
9.3.4 全连接层 186
9.3.5 综合应用 186
9.4 小结 189
第 10 章 反向传播 190
10.1 什么是反向传播 190
10.2 手把手进行反向传播 191
10.2.1 计算偏导数 192
10.2.2 用 Python 进行实现 194
10.2.3 训练和测试模型 197
10.3 全连接网络的反向传播 199
10.3.1 误差的反向传播 199
10.3.2 关于权重和偏置求偏导数 201
10.3.3 Python 实现代码 203
10.3.4 测试 Python 实现代码 206
10.4 计算图 208
10.5 小结 210
第 11 章 梯度下降 211
11.1 基本原理 211
11.1.1 一维函数的梯度下降 212
11.1.2 二维函数的梯度下降 214
11.2 随机梯度下降 219
11.3 动量机制 221
11.3.1 什么是动量 221
11.3.2 一维情况下的动量机制 222
11.3.3 二维情况下的动量机制 223
11.3.4 在训练模型时引入动量 225
11.3.5 涅斯捷洛夫动量 229
11.4 自适应梯度下降 231
11.4.1 RMSprop 231
11.4.2 Adagrad 232
11.4.3 Adam 233
11.4.4 关于优化器的一些思考 234
11.5 小结 235
附录 学无止境 236
概率与统计 236
线性代数 237
微积分 237
深度学习 237