目录
前言
第1章 引言 1
1.1 问题驱动 1
1.2 统计机器学习的基本任务 2
1.3 统计机器学习的总体目标和样本策略 3
1.3.1 监督学习 4
1.3.2 无监督学习 8
1.3.3 基于样本的统计机器学习方法 9
1.4 Anaconda、TensorFlow 2.0和PyTorch的安装 10
1.4.1 Anaconda的安装 10
1.4.2 TensorFlow 2.0的安装 11
1.4.3 PyTorch的安装 11
第2章 线性回归 13
2.1 一般线性回归模型 13
2.1.1 基本框架 13
2.1.2 梯度下降法 14
2.1.3 性能度量 15
2.2 多项式回归 15
2.3 线性回归的正则化方法 18
2.3.1 线性岭回归 19
2.3.2 LASSO回归 21
2.4 线性回归Python实现 24
第3章 线性分类器 37
3.1 概率生成模型 37
3.2 二分类概率生成模型 38
3.3 逻辑回归 39
3.4 Softmax回归 40
3.5 逻辑回归的限制 41
3.6 分类任务的Python实现 43
第4章 支持向量机 48
4.1 线性SVM分类器 48
4.2 线性支持向量回归 51
4.3 SVM的Python实现 52
4.3.1 软间隔分类 52
4.3.2 非线性SVM分类 55
4.3.3 支持向量回归的实现 58
第5章 核方法 61
5.1 特征映射 61
5.2 核函数 63
5.3 核方法的数学基础 64
5.3.1 希尔伯特空间 65
5.3.2 Riesz表示定理 67
5.3.3 再生核希尔伯特空间 67
5.4 核技巧 70
5.5 核方法的Python实现 73
5.5.1 基于核方法的岭回归和支持向量回归 73
5.5.2 基于核方法的支持向量分类 76
第6章 集成学习 78
6.1 决策树 78
6.1.1 决策树的基本概念 78
6.1.2 决策树的训练 80
6.2 学习器集成 81
6.3 Bagging和随机森林 81
6.3.1 Bagging 81
6.3.2 随机森林 83
6.4 Boosting 83
6.4.1 AdaBoost基本算法 84
6.4.2 AdaBoost算法的解释 87
6.4.3 多分类AdaBoost 91
6.4.4 Boosting的一般梯度下降算法 96
6.5 集成学习的Python实现 98
6.5.1 决策树的Python实现 98
6.5.2 Bagging的Python实现 100
6.5.3 随机森林的Python实现 101
6.5.4 Boosting的Python实现 102
第7章 深度学习的基础 104
7.1 前馈神经网络 104
7.1.1 感知器模型 104
7.1.2 多层感知器及其变体 107
7.1.3 BP算法 110
7.1.4 回归和分类任务中的MLP 114
7.2 利用Keras和TensorFlow实施MLP 115
7.2.1 使用Sequential API建立分类器 116
7.2.2 使用Functional API构建复杂模型 123
7.2.3 使用Subclassing API构建动态模型 123
7.2.4 保存和恢复模型 124
第8章 卷积神经网络 126
8.1 简介 126
8.2 CNN的网络架构 126
第9章 循环神经网络 132
9.1 框架 132
9.2 循环层 132
9.3 长短期记忆网络 136
9.4 基于RNN的时间序列预测 139
第10章 无监督学习 148
10.1 无监督学习的主要任务 148
10.2 自编码器 149
10.2.1 栈式自编码器 150
10.2.2 变分自编码器 152
10.3 GAN 163
10.3.1 经典GAN的基本思想 164
10.3.2 经典GAN的推广 168
10.3.3 WGAN 170
10.3.4 条件GAN 175
10.4 无监督学习的Python实现 181
10.4.1 PyTorch实战基础 181
10.4.2 图像分类的PyTorch实现 191
10.4.3 VAE的PyTorch实现 196
10.4.4 GAN的PyTorch实现 201
第11章 深度强化学习 205
11.1 深度强化学习的主要任务 205
11.2 强化学习的基本概念 205
11.2.1 强化学习的基本模型 206
11.2.2 价值函数 207
11.3 基于策略梯度的深度强化学习 207
11.4 基于值函数的深度强化学习 213
11.4.1 值函数的估计方法 213
11.4.2 Q-Learning 214
11.5 Actor-Critic方法 216
11.5.1 A2C和A3C方法 216
11.5.2 路径导数策略梯度方法 218
11.6 强化学习的PyTorch实现 220
11.6.1 导入必需的包 220
11.6.2 回放内存设置 222
11.6.3 获取状态输入 224
11.6.4 训练 230
参考文献 235