第1章 机器学习是什么——机器学习定义 1
引言 2
1.1数据 5
1.1.1结构型与非结构型数据 5
1.1.2原始数据与加工 7
1.1.3样本内数据与样本外数据 9
1.2机器学习类别 9
1.2.1有监督学习 10
1.2.2无监督学习 10
1.2.3半监督学习 11
1.2.4增强学习 11
1.2.5深度学习 11
1.2.6迁移学习 12
1.3性能度量 12
1.3.1误差函数 13
1.3.2回归度量 14
1.3.3分类度量 15
1.4总结 19
参考资料 20
第2章 机器学习可行吗——计算学习理论 22
引言 23
2.1基础知识 25
2.1.1二分类 25
2.1.2对分 26
2.1.3增长函数 29
2.1.4突破点 30
2.2核心推导 31
2.2.1机器学习可行条件 31
2.2.2从已知推未知 33
2.2.3从民意调查到机器学习 35
2.2.4从单一到有限 36
2.2.5从有限到无限 37
2.2.6从无限到有限 38
2.3结论应用 39
2.3.1 VC不等式 39
2.3.2 VC维度 40
2.3.3模型复杂度 40
2.3.4样本复杂度 41
2.4总结 42
参考资料 43
技术附录 43
第3章 机器学习怎么学——模型评估选择 47
引言 48
3.1模型评估 52
3.2训练误差和测试误差 52
3.2.1训练误差 52
3.2.2真实误差 54
3.2.3测试误差 57
3.2.4学习理论 57
3.3验证误差和交叉验证误差 60
3.3.1验证误差 60
3.3.2交叉验证误差 61
3.3.3学习理论 62
3.4误差剖析 64
3.4.1误差来源 64
3.4.2偏差——方差权衡 66
3.5模型选择 67
3.6总结 70
参考资料 71
技术附录 71
第4章 线性回归 73
引言 74
4.1基础知识 75
4.1.1标量微积分 75
4.1.2向量微积分 76
4.2模型介绍 77
4.2.1核心问题 77
4.2.2通用线性回归模型 83
4.2.3特征缩放 84
4.2.4学习率设定 86
4.2.5数值算法比较 87
4.2.6代码实现 89
4.3总结 90
参考资料 90
第5章 对率回归 92
引言 93
5.1基础内容 94
5.1.1联系函数 94
5.1.2函数绘图 95
5.2模型介绍 96
5.2.1核心问题 96
5.2.2查准和查全 102
5.2.3类别不平衡 104
5.2.4线性不可分 105
5.2.5多分类问题 106
5.2.6代码实现 109
5.3总结 110
参考资料 111
第6章 正则化回归 112
引言 113
6.1基础知识 114
6.1.1等值线图 114
6.1.2坐标下降 116
6.2模型介绍 116
6.2.1核心问题 116
6.2.2模型对比 122
6.2.3最佳模型 125
6.2.4代码实现 126
6.3总结 126
参考资料 127
第7章 支持向量机 128
引言 129
7.1基础知识 133
7.1.1向量初体验 133
7.1.2拉格朗日量 136
7.1.3原始和对偶 137
7.2模型介绍 138
7.2.1硬间隔SVM原始问题 138
7.2.2硬间隔SVM对偶问题 144
7.2.3软间隔SVM原始问题 148
7.2.4软间隔SVM对偶问题 150
7.2.5空间转换 151
7.2.6核技巧 155
7.2.7核SVM 158
7.2.8 SMO算法 159
7.2.9模型选择 161
7.3总结 162
参考资料 164
技术附录 164
第8章 朴素贝叶斯 170
引言 171
8.1基础知识 174
8.1.1两种概率学派 174
8.1.2两种独立类别 174
8.1.3两种学习算法 175
8.1.4两种估计方法 176
8.1.5两类概率分布 177
8.2模型介绍 179
8.2.1问题剖析 179
8.2.2朴素贝叶斯算法 182
8.2.3多元伯努利模型 183
8.2.4多项事件模型 184
8.2.5高斯判别分析模型 184
8.2.6多分类问题 186
8.2.7拉普拉斯校正 187
8.2.8最大似然估计和最大后验估计 188
8.3总结 190
参考资料 191
技术附录 191
第9章 决策树 195
引言 196
9.1基础知识 198
9.1.1多数规则 198
9.1.2熵和条件熵 198
9.1.3信息增益和信息增益比 200
9.1.4基尼指数 201
9.2模型介绍 201
9.2.1二分类决策树 201
9.2.2多分类决策树 209
9.2.3连续值分裂 210
9.2.4欠拟合和过拟合 211
9.2.5预修剪和后修剪 212
9.2.6数据缺失 215
9.2.7代码实现 218
9.3总结 219
参考资料 219
第10章 人工神经网络 220
引言 221
10.1基本知识 223
10.1.1转换函数 223
10.1.2单输入单层单输出神经网络 224
10.1.3多输入单层单输出神经网络 224
10.1.4多输入单层多输出神经网络 225
10.1.5多输入多层多输出神经网络 225
10.2模型应用 227
10.2.1创建神经网络模型 227
10.2.2回归应用 230
10.2.3分类应用 238
第11章 正向/反向传播 246
引言 247
11.1基础知识 250
11.1.1神经网络元素 250
11.1.2链式法则 254
11.2算法介绍 254
11.2.1正向传播 254
11.2.2梯度下降 257
11.2.3反向传播 258
11.2.4代码实现 262
11.3总结 268
参考资料 268
技术附录 269
第12章 集成学习 272
引言 273
12.1结合假设 277
12.1.1语文和数学 277
12.1.2准确和多样 278
12.1.3独裁和民主 279
12.1.4学习并结合 279
12.2装袋法 280
12.2.1基本概念 280
12.2.2自助采样 280
12.2.3结合假设 281
12.3提升法 282
12.3.1基本概念 282
12.3.2最优加权 283
12.3.3结合假设 285
12.4集成方式 286
12.4.1同质学习器 286
12.4.2异质学习器 286
12.5总结 288
参考资料 288
第13章 随机森林和提升树 289
引言 290
13.1基础知识 293
13.1.1分类回归树 293
13.1.2前向分布算法 294
13.1.3置换检验 295
13.2模型介绍 296
13.2.1随机森林 296
13.2.2提升树 302
13.2.3代码实现 306
13.3总结 307
参考资料 307
第14章 极度梯度提升 309
引言 310
14.1基础知识 311
14.1.1树的重定义 311
14.1.2树的复杂度 313
14.2模型介绍 313
14.2.1 XGB简介 313
14.2.2 XGB的泛化度 314
14.2.3 XGB的精确度 315
14.2.4 XGB的速度 318
14.2.5代码实现 324
14.3总结 325
参考资料 326
第15章 本书总结 327
15.1正交策略 328
15.2单值评估指标 330
15.3偏差和方差 332
15.3.1理论定义 332
15.3.2实用定义 334
15.3.3最优误差 335
15.3.4两者权衡 336
15.3.5学习曲线 336
结语 339