机器学习是人工智能的核心,而统计思维则是机器学习方法的核心:从随机性中寻找规律性。例如,利用损失最小化思想制定学习策略,采用概率最大化思想估计模型参数,利用方差对不确定性的捕捉构造 k维树,采用贝叶斯公式构建分类决策模型,等等。只有树立正确的统计思维,才能准确高效地运用机器学习方法开展数据处理与分析。本书以统计思维的视角,揭示监督学习中回归和分类模型的核心思想,帮助读者构建理论体系。具体模型包括线性回归模型、K近邻模型、贝叶斯推断、逻辑回归模型、最大熵模型、决策树模型、感知机模型、支持向量机、EM算法和提升方法。
本书共 12章,绪论介绍贯穿本书的两大思维模式,以及关于全书的阅读指南;第 1章介绍一些基本术语,并给出监督学习的流程;第 2章介绍关于回归问题的机器学习方法;第 3~9章介绍关于分类问题的机器学习方法;第 10章介绍可应用于具有隐变量模型的参数学习算法EM算法;第 11章简单介绍集成学习,并重点阐述其中的提升(Boosting)
方法。为满足个性化学习需求的不同需求,本书从核心思想、方法流程及实际案例应用等不同角度,详细描述各种方法的原理和实用价值,非常适合数据科学、机器学习专业的本科生和研究生学习,也可供相关从业者参考。
前言
2018年,一位计算机专业的朋友自学机器学习内容,期间遇到诸多困难,尤其是关于概率与统计学方面的内容,这一现象让我开始关注统计学与机器学习这两个领域。李航老师的《统计学习方法》可以说是一本与统计学接轨最多的书籍,也让我萌生了与大家分享统计学与机器学习的想法。虽然机器学习的发展有其独特的发展历程,但是很多模型和算法的理论基础仍然来自于统计学。因此,我们需要从统计学的角度来理解机器学习模型的本质。
在朋友们的鼓励下,我决定以《统计学习方法》为蓝本,制作知识型视频。入驻 B站后,从最初寥寥的几十名粉丝,到几百名粉丝,再到现在的将近三万名粉丝。这些人中有一部分是学生,如刚毕业的高中生、本科生、硕士生和博士生;还有一部分是从业者,如高校教师、企业或公司的在职人员。大家志同道合、汇聚于此。与各位的互动交流让我加深了理解,开阔了视野,拓宽了思路。真诚地感谢各位小伙伴们长期以来的支持!是你们的支持让我有勇气继续录制视频并贯彻始终。
自古以来,学者们便一直在探寻万物本源,寻找真理。如今,人工智能已经成为科技领域的一大热点,机器学习更是其中最为核心的研究方向之一。在机器学习领域,很多人关注算法的实现和结果,却忽略了算法背后的理论基础。而在这一领域,概率和统计学是不可或缺的。希望本书的出版为展示机器学习背后的统计学原理提供绵薄之力。
为满足不同年龄和不同专业读者的需求,我们为大家贴心地准备了主体书与小册子。主体书以机器学习模型为主,每一章都清晰透彻地解析了模型原理,书中的每一页都设计了留白,方便读者批注;小册子用于查阅碎片化的知识点,便于读者随时复习需要的数学概念。书中不仅有机器学习的理论知识,还有故事和案例,希望各位读者在阅读本书的过程中能够感受到机器学习中统计思维的魅力,获得科学思维方法的启迪并具有独立的创新思辨能力。
最后,我要感谢清华大学出版社的杨迪娜编辑,是她让我有了写书的想法,将我积累多年的机器学习中的统计思维知识分享给读者,更感谢她为本书立项、编校与出版所付出的辛勤劳动,同时感谢清华大学出版社对本书的支持。感谢所有哔哩哔哩、机器学习中的统计思维 (Python实现)公众号和知乎上的粉丝对我的关注、留言、提问与批评。感谢来自天津大学的马晓慧帮助整理视频讲义。感谢家人带给我的灵感、快乐与温暖。限于本人水平,书中的缺点和不足之处在所难免,热忱欢迎各位读者批评指正。
董平
2023年 9月
目录
绪论1
0.1本书讲什么,初衷是什么 1
0.2贯穿本书的两大思维模式 3
0.2.1提问的思维方式 3
0.2.2发散的思维方式 4
0.3这本书决定它还想要这样 5
0.3.1第一性原理 . 5
0.3.2奥卡姆剃刀原理 7
0.4如何使用本书 8
第 1章步入监督学习之旅 .11
1.1机器学习从数据开始 11
1.2监督学习是什么 . 14
1.2.1基本术语 16
1.2.2学习过程如同一场科学推理 17
1.3如何评价模型的好坏 21
1.3.1评价模型的量化指标 21
1.3.2拟合能力 24
1.3.3泛化能力 24
1.4损失最小化思想 . 25
1.5怎样理解模型的性能:方差-偏差折中思想 . 27
1.6如何选择最优模型 28
1.6.1正则化:对模型复杂程度加以惩罚 28
1.6.2交叉验证:样本的多次重复利用 . 30
1.7本章小结 . 31
1.8习题 31
第 2章线性回归模型 33
2.1探寻线性回归模型 33
2.1.1诺贝尔奖中的线性回归模型 33
2.1.2回归模型的诞生 34
2.1.3线性回归模型结构 . 38
2.2最小二乘法 39
2.2.1回归模型用哪种损失:平方损失 . 40
机器学习中的统计思维 (Python实现)
2.2.2如何估计模型参数:最小二乘法 . 41
2.3线性回归模型的预测 44
2.3.1一元线性回归模型的预测 . 44
2.3.2多元线性回归模型的预测 . 48
2.4拓展部分:岭回归与套索回归 . 49
2.4.1岭回归 50
2.4.2套索回归 51
2.5案例分析共享单车数据集 . 53
2.6本章小结 . 56
2.7习题 57
第 3章 K近邻模型 59
3.1邻友思想 . 59
3.2 K近邻算法. 60
3.2.1聚合思想 60
3.2.2 K近邻模型的具体算法 61
3.2.3 K近邻算法的三要素 . 63
3.2.4 K近邻算法的可视化 . 67
3.3最近邻分类器的误差率 . 67
3.4 k维树. 70
3.4.1 k维树的构建 70
3.4.2 k维树的搜索 73
3.5拓展部分:距离度量学习的 K近邻分类器 76
3.6案例分析莺尾花数据集 79
3.7本章小结 . 83
3.8习题 83
第 4章贝叶斯推断 .85
4.1贝叶斯思想 85
4.1.1什么是概率 . 86
4.1.2从概率到条件概率 . 91
4.1.3贝叶斯定理 . 93
4.2贝叶斯分类器 97
4.2.1贝叶斯分类 . 97
4.2.2朴素贝叶斯分类 98
4.3如何训练贝叶斯分类器 103
4.3.1极大似然估计:概率最大化思想 104
4.3.2贝叶斯估计:贝叶斯思想 111
4.4常用的朴素贝叶斯分类器.115
4.4.1离散属性变量下的朴素贝叶斯分类器 .115
4.4.2连续特征变量下的朴素贝叶斯分类器 .115
4.5拓展部分 116
4.5.1半朴素贝叶斯.116
目录
4.5.2贝叶斯网络 119
4.6案例分析蘑菇数据集 .122
4.7本章小结 124
4.8习题.124
4.9阅读时间:贝叶斯思想的起源 125
第 5章逻辑回归模型 131
5.1一切始于逻辑函数.131
5.1.1逻辑函数 .131
5.1.2逻辑斯谛分布.133
5.1.3逻辑回归 .134
5.2逻辑回归模型的学习 .136
5.2.1加权最小二乘法 .136
5.2.2极大似然法 139
5.3逻辑回归模型的学习算法.141
5.3.1梯度下降法 141
5.3.2牛顿法.143
5.4拓展部分 144
5.4.1拓展 1:多分类逻辑回归模型 144
5.4.2拓展 2:非线性逻辑回归模型 147
5.5案例分析离职数据集 .147
5.6本章小结 149
5.7习题.150
5.8阅读时间:牛顿法是牛顿提出的吗 .150
第 6章最大熵模型 . 153
6.1问世间熵为何物 153
6.1.1热力学熵 .153
6.1.2信息熵.155
6.2最大熵思想.156
6.2.1离散随机变量的分布.156
6.2.2连续随机变量的分布.160
6.3最大熵模型的学习问题 163
6.3.1最大熵模型的定义 163
6.3.2最大熵模型的原始问题与对偶问题.167
6.3.3最大熵模型的学习 169
6.4模型学习的最优化算法 173
6.4.1最速梯度下降法 .177
6.4.2拟牛顿法:DFP算法和 BFGS算法 178
6.4.3改进的迭代尺度法 179
6.5案例分析汤圆小例子 .183
6.6本章小结 185
6.7习题.186
机器学习中的统计思维 (Python实现)
6.8阅读时间:奇妙的对数 187
第 7章决策树模型 . 191
7.1决策树中蕴含的基本思想.191
7.1.1什么是决策树.191
7.1.2决策树的基本思想 195
7.2决策树的特征选择.195
7.2.1错分类误差 195
7.2.2基于熵的信息增益和信息增益比 196
7.2.3基尼不纯度 199
7.2.4比较错分类误差、信息熵和基尼不纯度 201
7.3决策树的生成算法.201
7.3.1 ID3算法202
7.3.2 C4.5算法 205
7.3.3 CART算法205
7.4决策树的剪枝过程.211
7.4.1预剪枝.211
7.4.2后剪枝.213
7.5拓展部分:随机森林 .223
7.6案例分析帕尔默企鹅数据集 .223
7.7本章小结 226
7.8习题.226
7.9阅读时间:经济学中的基尼指数.227
第 8章感知机模型 . 231
8.1感知机制从逻辑回归到感知机 .231
8.2感知机的学习 .233
8.3感知机的优化算法.234
8.3.1原始形式算法.235
8.3.2对偶形式算法.239
8.4案例分析莺尾花数据集 .241
8.5本章小结 243
8.6习题.243
第 9章支持向量机 . 245
9.1从感知机到支持向量机 245
9.2线性可分支持向量机 .248
9.2.1线性可分支持向量机与最大间隔算法 .248
9.2.2对偶问题与硬间隔算法 .254
9.3线性支持向量机 258
9.3.1线性支持向量机的学习问题.259
9.3.2对偶问题与软间隔算法 .260
9.3.3线性支持向量机之合页损失.263
9.4非线性支持向量机.265
目录
9.4.1核变换的根本核函数 266
9.4.2非线性可分支持向量机 .277
9.4.3非线性支持向量机 278
9.5 SMO优化方法 .279
9.5.1失败的坐标下降法 .279
9.5.2成功的SMO算法.280
9.6案例分析电离层数据集 .287
9.7本章小结 288
9.8习题.289
第 10章 EM算法 291
10.1极大似然法与 EM算法 .291
10.1.1具有缺失数据的豆花小例子291
10.1.2具有隐变量的硬币盲盒例子295
10.2 EM算法的迭代过程298
10.2.1 EM算法中的两部曲 298
10.2.2 EM算法的合理性 .302
10.3 EM算法的应用 305
10.3.1高斯混合模型305
10.3.2隐马尔可夫模型 309
10.4本章小结 316
10.5习题 .317
第 11章提升方法. 319
11.1提升方法(Boosting)是一种集成学习方法.319
11.1.1什么是集成学习 319
11.1.2强可学习与弱可学习321
11.2起步于 AdaBoost算法 323
11.2.1两大内核:前向回归和可加模型 .323
11.2.2 AdaBoost的前向分步算法.324
11.2.3 AdaBoost分类算法 .326
11.2.4 AdaBoost分类算法的训练误差 333
11.3提升树和 GBDT算法 .339
11.3.1回归提升树 .339
11.3.2 GDBT算法 342
11.4拓展部分:XGBoost算法344
11.5案例分析波士顿房价数据集 .346
11.6本章小结 347
11.7习题 .348
参考文献 . 349