01
机器学习简介
1.1 什么是机器学习 2
1.2 机器学习简史 2
1.3 机器学习任务的类型 6
1.3.1 监督学习 6
1.3.2 无监督学习 10
1.4 机器学习项目的一般步骤 10
1.5 模型评估 11
1.5.1 交叉验证 12
1.5.2 超参数调优 13
1.6 本章小结 14
1.7 习题 14
02
线性回归
2.1 线性回归简介 16
2.2 线性回归模型的目标函数 17
2.2.1 回归模型的损失函数 17
2.2.2 线性回归模型的正则函数 20
2.3 线性回归模型的优化求解 23
2.3.1 解析求解法 24
2.3.2 梯度下降法 26
2.3.3 坐标轴下降法 28
2.4 回归任务的性能指标 31
2.5 线性回归模型的超参数调优 32
2.6 案例分析1:广告费用与销量预测 33
2.7 案例分析2:共享单车骑行量预测 36
2.8 本章小结 38
2.9 习题 38
03
Logistic回归
3.1 Logistic回归模型 42
3.2 Logistic回归模型的目标函数 44
3.3 Logistic回归目标函数优化求解 45
3.3.1 梯度下降法 45
3.3.2 牛顿法 46
3.3.3 拟牛顿法 48
3.4 多类分类任务 50
3.5 分类任务的性能指标 51
3.6 数据不均衡分类问题 55
3.6.1 重采样 55
3.6.2 代价敏感学习 56
3.7 案例分析:奥拓商品分类 57
3.8 本章小结 58
3.9 习题 59
04
SVM
4.1 SVM的基本型 64
4.1.1 最大间隔 64
4.1.2 SVM的对偶问题 67
4.2 带松弛因子的SVM 69
4.3 合页损失函数 72
4.4 核方法 73
4.4.1 核技巧 73
4.4.2 核函数构造 75
4.5 SVM优化求解:SMO 77
4.5.1 SMO算法原理 77
4.5.2 对原始解进行修剪 79
4.5.3 α选择 80
4.5.4 更新截距项b 81
4.5.5 SMO小结 82
4.6 支持向量回归 83
4.6.1 不敏感损失函数 83
4.6.2 支持向量回归 83
4.7 案例分析1:奥拓商品分类 85
4.8 案例分析2:共享单车骑行量预测 86
4.9 本章小结 87
4.10 习题 88
05
生成式分类器
5.1 生成式分类器 92
5.2 贝叶斯规则 92
5.2.1 贝叶斯公式 92
5.2.2 朴素贝叶斯分类器 93
5.2.3 朴素贝叶斯分类器的训练 94
5.2.4 案例分析1:奥拓商品分类 98
5.2.5 案例分析2:新闻分类 99
5.3 高斯判别分析 100
5.3.1 高斯判别分析的基本原理 100
5.3.2 高斯判别分析的模型训练 102
5.3.3 案例分析3:MNIST手写数字识别 102
5.4 本章小结 102
5.5 习题 103
06
决策树
6.1 决策树基本原理 106
6.2 建树 107
6.2.1 ID3和C4.5 107
6.2.2 CART 111
6.3 剪枝 113
6.4 提前终止 114
6.5 案例分析1:蘑菇分类 114
6.6 案例分析2:共享单车骑行量预测 116
6.7 本章小结 117
6.8 习题 117
07
集成学习
7.1 误差的偏差-方差分解 120
7.1.1 点估计的偏差-方差分解 120
7.1.2 预测误差的偏差-方差分解 120
7.2 Bagging 122
7.3 随机森林 124
7.3.1 随机森林的基本原理 124
7.3.2 案例分析:奥拓商品分类 124
7.4 梯度提升 124
7.5 XGBoost 126
7.5.1 XGBoost基本原理 126
7.5.2 XGBoost优化 129
7.5.3 XGBoost使用指南 129
7.5.4 案例分析:奥拓商品分类 132
7.6 LightGBM 133
7.6.1 基于直方图的决策树构造算法 133
7.6.2 直方图加速:基于梯度的单边采样算法 134
7.6.3 直方图加速:互斥特征捆绑算法 135
7.6.4 支持离散型特征 136
7.6.5 带深度限制的按叶子生长策略 137
7.6.6 案例分析:奥拓商品分类 137
7.7 融合 137
7.8 本章小结 138
7.9 习题 138
08
神经网络结构
8.1 神经元的基本结构 142
8.2 前馈全连接神经网络 142
8.3 卷积神经网络 143
8.3.1 卷积层 143
8.3.2 池化层 146
8.3.3 CNN示例:AlexNet 146
8.4 循环神经网络 148
8.4.1 简单循环神经网络 148
8.4.2 长短时记忆网络 149
8.5 残差神经网络 151
8.6 丢弃法 152
8.7 本章小结 153
8.8 习题 154
09
深度神经模型训练
9.1 梯度计算:反向传播 156
9.1.1 微积分中的链式法则 156
9.1.2 计算图和反向传播 157
9.1.3 DNN的反向传播算法 158
9.1.4 DNN的计算图 160
9.1.5 CNN的反向传播算法 162
9.1.6 循环神经网络的反向传播算法 164
9.2 激活函数 168
9.3 深度学习中的优化算法 171
9.3.1 动量法 172
9.3.2 自适应学习率 174
9.4 权重初始化 175
9.5 减弱过拟合策略 179
9.6 案例分析:MNIST手写数字识别 180
9.7 本章小结 182
9.8 习题 182
10
降维
10.1 主成分分析 186
10.2 自编码器 188
10.3 多维缩放 191
10.4 等度量映射 193
10.5 局部线性嵌入 194
10.6 拉普拉斯特征映射 196
10.7 基于T分布的随机邻域嵌入 197
10.8 案例分析:MNIST数据集 199
10.9 本章小结 202
10.10 习题 202
11
聚类
11.1 聚类算法的性能指标 204
11.1.1 外部指标 204
11.1.2 内部指标 206
11.2 相似性度量 207
11.3 K均值聚类 210
11.4 高斯混合模型 212
11.5 层次聚类 215
11.5.1 凝聚式层次聚类 215
11.5.2 分裂式层次聚类 217
11.6 均值漂移聚类 217
11.7 DBSCAN 218
11.8 基于密度峰值的聚类 220
11.9 基于深度学习的聚类 222
11.10 案例分析:MNIST数据集聚类 222
11.11 本章小结 224
11.12 习题 224
附录 225
A 奇异值分解 226
A.1 特征值和特征向量 226
A.2 SVD的定义 226
B 拉格朗日乘子法和卡罗需-库恩-塔克条件 227
B.1 拉格朗日乘子法 227
B.2 为什么拉格朗日乘子法能够求得最优值 228
B.3 KKT条件 228
C 对偶问题 230
C.1 原始问题 230
C.2 对偶问题 231
C.3 原始问题和对偶问题的关系 231
参考文献 233
展开