周志华 《机器学习》PDF电子书

机器学习

作者简介  · · · · · ·

周志华,南京大学教授,计算机科学与技术系副主任,软件新技术国家重点实验室常务副主任,机器学习与数据挖掘研究所(LAMDA)所长,校、系学术委员会委员;ACM杰出科学家,IEEE Fellow,IAPR Fellow,中国计算机学会会士;长江学者特聘教授,国家杰出青年基金获得者。2007年创建南京大学机器学习与数据挖掘研究所(LAMDA),2010年11月任软件新技术国家重点实验室常务副主任,2013年5月任计算机系副主任。

目录  · · · · · ·

目录
第1章 1
1.1 引言 1
1.2 基本术 2
1.3 假设空间 4
1.4 归纳偏好 6
1.5 发展历程 10
1.6 应用现状 13
1.7 阅读材料 16
习题 19
参考文献 20
休息一会儿 22
第2章 模型评估与选择 23
2.1 经验误差与过拟合 23
2.2 评估方法 24
2.2.1 留出法 25
2.2.2 交叉验证法 26
2.2.3 自助法 27
2.2.4 调参与最终模型 28
2.3 性能度量 28
2.3.1 错误率与精度 29
2.3.2 查准率、查全率与F1 30
2.3.3 ROC与AUC 33
2.3.4 代价敏感错误率与代价曲线 35
2.4 比较检验 37
2.4.1 假设检验 37
2.4.2 交叉验证t检验 40
2.4.3 McNemar检验 41
2.4.4 Friedman检验与后续检验 42
2.5 偏差与方差 44
2.6 阅读材料 46
习题 48
参考文献 49
休息一会儿 51
第3章 线性模型 53
3.1 基本形式 53
3.2 线性回归 53
3.3 对数几率回归 57
3.4 线性判别分析 60
3.5 多分类学习 63
3.6 类别不平衡问题 66
3.7 阅读材料 67
习题 69
参考文献 70
休息一会儿 72
第4章 决策树 73
4.1 基本流程 73
4.2 划分选择 75
4.2.1 信息增益 75
4.2.2 增益率 77
4.2.3 基尼指数 79
4.3 剪枝处理 79
4.3.1 预剪枝 80
4.3.2 后剪枝 82
4.4 连续与缺失值 83
4.4.1 连续值处理 83
4.4.2 缺失值处理 85
4.5 多变量决策树 88
4.6 阅读材料 92
习题 93
参考文献 94
休息一会儿 95
第5章 神经网络 97
5.1 神经元模型 97
5.2 感知机与多层网络 98
5.3 误差逆传播算法 101
5.4 全局最小与局部极小 106
5.5 其他常见神经网络 108
5.5.1 RBF网络 108
5.5.2 ART网络 108
5.5.3 SOM网络 109
5.5.4 级联相关网络 110
5.5.5 Elman网络 111
5.5.6 Boltzmann机 111
5.6 深度学习 113
5.7 阅读材料 115
习题 116
参考文献 117
休息一会儿 120
第6章 支持向量机 121
6.1 间隔与支持向量 121
6.2 对偶问题 123
6.3 核函数 126
6.4 软间隔与正则化 129
6.5 支持向量回归 133
6.6 核方法 137
6.7 阅读材料 139
习题 141
参考文献 142
休息一会儿 145
第7章 贝叶斯分类器 147
7.1 贝叶斯决策论 147
7.2 极大似然估计 149
7.3 朴素贝叶斯分类器 150
7.4 半朴素贝叶斯分类器 154
7.5 贝叶斯网 156
7.5.1 结构 157
7.5.2 学习 159
7.5.3 推断 161
7.6 EM算法 162
7.7 阅读材料 164
习题 166
参考文献 167
休息一会儿 169
第8章 集成学习 171
8.1 个体与集成 171
8.2 Boosting 173
8.3 Bagging与随机森林 178
8.3.1 Bagging 178
8.3.2 随机森林 179
8.4 结合策略 181
8.4.1 平均法 181
8.4.2 投票法 182
8.4.3 学习法 183
8.5 多样性 185
8.5.1 误差–分歧分解 185
8.5.2 多样性度量 186
8.5.3 多样性增强 188
8.6 阅读材料 190
习题 192
参考文献 193
休息一会儿 196
第9章 聚类 197
9.1 聚类任务 197
9.2 性能度量 197
9.3 距离计算 199
9.4 原型聚类 202
9.4.1 k均值算法 202
9.4.2 学习向量量化 204
9.4.3 高斯混合聚类 206
9.5 密度聚类 211
9.6 层次聚类 214
9.7 阅读材料 217
习题 220
参考文献 221
休息一会儿 224
第10章 降维与度量学习 225
10.1 k近邻学习 225
10.2 低维嵌入 226
10.3 主成分分析 229
10.4 核化线性降维 232
10.5 流形学习 234
10.5.1 等度量映射 234
10.5.2 局部线性嵌入 235
10.6 度量学习 237
10.7 阅读材料 240
习题 242
参考文献 243
休息一会儿 246
第11章 特征选择与稀疏学习 247
11.1 子集搜索与评价 247
11.2 过滤式选择 249
11.3 包裹式选择 250
11.4 嵌入式选择与L$_1$正则化 252
11.5 稀疏表示与字典学习 254
11.6 压缩感知 257
11.7 阅读材料 260
习题 262
参考文献 263
休息一会儿 266
第12章 计算学习理论 267
12.1 基础知识 267
12.2 PAC学习 268
12.3 有限假设空间 270
12.3.1 可分情形 270
12.3.2 不可分情形 272
12.4 VC维 273
12.5 Rademacher复杂度 279
12.6 稳定性 284
12.7 阅读材料 287
习题 289
参考文献 290
休息一会儿 292
第13章 半监督学习 293
13.1 未标记样本 293
13.2 生成式方法 295
13.3 半监督SVM 298
13.4 图半监督学习 300
13.5 基于分歧的方法 304
13.6 半监督聚类 307
13.7 阅读材料 311
习题 313
参考文献 314
休息一会儿 317
第14章 概率图模型 319
14.1 隐马尔可夫模型 319
14.2 马尔可夫随机场 322
14.3 条件随机场 325
14.4 学习与推断 328
14.4.1 变量消去 328
14.4.2 信念传播 330
14.5 近似推断 331
14.5.1 MCMC采样 331
14.5.2 变分推断 334
14.6 话题模型 337
14.7 阅读材料 339
习题 341
参考文献 342
休息一会儿 345
第15章 规则学习 347
15.1 基本概念 347
15.2 序贯覆盖 349
15.3 剪枝优化 352
15.4 一阶规则学习 354
15.5 归纳逻辑程序设计 357
15.5.1 最小一般泛化 358
15.5.2 逆归结 359
15.6 阅读材料 363
习题 365
参考文献 366
休息一会儿 369
第16章 强化学习 371
16.1 任务与奖赏 371
16.2 $K$-摇臂赌博机 373
16.2.1 探索与利用 373
16.2.2 $\epsilon $-贪心 374
16.2.3 Softmax 375
16.3 有模型学习 377
16.3.1 策略评估 377
16.3.2 策略改进 379
16.3.3 策略迭代与值迭代 381
16.4 免模型学习 382
16.4.1 蒙特卡罗强化学习 383
16.4.2 时序差分学习 386
16.5 值函数近似 388
16.6 模仿学习 390
16.6.1 直接模仿学习 391
16.6.2 逆强化学习 391
16.7 阅读材料 393
习题 394
参考文献 395
休息一会儿 397
附录 399
A 矩阵 399
B 优化 403
C 概率分布 409
后记 417
索引 419

本书 2016 年 1 月底出版, 首印 5000 册一周内竟告售罄; 此后 8 个月重印 9 次, 累积 72000 册; 先后登上亚马逊、京东、当当网等的计算机类畅销书榜首. 出乎预料的销量和受欢迎程度, 意味着本书读者已大大超出了预设的目标人群, 这使作者隐隐产生了些许不安, 感觉有必要说一说本书的立场, 以及使用本书需注意的一些事项. 因此, 在第 10 次印刷之际草就本文.

首先, 读者诸君务须注意, 本书是一本教科书.

如本书“后记”所述, 写作本书的主因是作者要开设“机器学习”课. 根据作者的从教经验, 若每堂课涉及页码过多, 则不少同学由于选修多门功课, 在课后或许难有兴趣和精力认真钻研阅读, 教师也会因“包袱太重”而失去个人发挥的空间. 因此, 作为一学期课程的教材, 本书篇幅进行了仔细考量: 16 章正文, 每章 6-7 节, 一般不超过 25 页. 研究生课程若每学期 18 周, 则除去习题和答疑时间, 基本上每周讲授一章; 本科生课程则可进度稍缓, 一学期讲授 9-10 章. 囿于此限, 作者需对内容材料、以及材料讲述的程度进行取舍; 否则若不分巨细,其篇幅可能令读者望而生畏. 因此, 读者不要指望本书是无所不包、“从入门到精通”的书籍. 事实上, 对机器学习这个发展极迅速、已变得非常广袤的学科领域, 那样的书尚不存在; 即便出现, 也非数千页不止, 不适于用作教科书.

第二, 这是一本入门级教科书.

作者以为, 入门阶段最需要的是理清基本概念、了解领域概貌. 这好比人们到了一个陌生的地方, 首先要去找张地图, 大致弄清哪里是山、哪里有水、自己身在何处, 然后才好到具体区域去探索. 读者当然都希望所学“既广且深”, 但在有限时间内必先有个折中. 在入门阶段, “顾及细微”应该让位于“观其大略”, 否则难免只见树木、不见森林. 因此, 作者试图通过化繁为简的讲述, 使读者能在有限的篇幅中感受更多的、应该接触到的内容. 一定程度上说, 本书的主要目的就是为读者提供一张“初级地形图”、给初学者“指路”, 而本书提供的这张“地形图”, 其覆盖面与同类英文书籍相较不遑多让.

机器学习中存在多种学派可从其角度阐释其他学派的内容. 作者以为, 理解学派间的包容等价, 在进阶之后对融汇贯通大有裨益, 但在入门阶段, 先看到各自的本原面貌更为重要. 因为没有任何一个学派能完全“碾压”其他, 而过早先入为主地强化某学派观念, 对理解欣赏其他学派的妙处会埋下隐碍. 因此,本书尽可能从材料的“原生态”出发讲述, 仅在少数地方简略点出联系. 需说明的是, 作者试图以相近深度讲述主要内容. 读者若感到在某些地方“意犹未尽”, 或因作者以为, 入门阶段到此程度已可, 对其他内容的初窥优先于此处的进一步深究. 另外, 机器学习飞速发展, 很多新进展在学界尚无公论之前, 作者以为不适于写入入门级教科书中; 但为了不致于与学科前沿脱节, 本书也简略谈及一些本领域专家有初步共识的相对较新的内容.

第三, 这是一本面向理工科高年级本科生和研究生的教科书.

对前沿学科领域的学习, 必然需有基础知识作为先导. 为便于尽可能多的读者通过本书对机器学习有所了解, 作者已试图尽可能少地使用数学知识, 很多材料尽可能选择易于理解的方式讲述. 若读者感觉书中涉及的数学较深, 且自己仅需对机器学习做一般了解, 则不妨略过细节仅做概观, 否则建议对相关基础知识稍作复习以收全功. 囿于篇幅, 作者对许多材料尽可能述其精要、去其细冗, 所涉数学推导在紧要处给出阐释, 对理工科高年级同学稍下工夫就易自行弄清的繁冗则惜墨不赘.

读者不要指望通过读这本入门级教科书就能成为机器学习专家, 但书中各章分别给出了一些文献指引, 有兴趣的读者不妨据此进一步深造. 另外, 互联网时代之信息获取已相当便利, 读者可以容易地在网上找到机器学习中关于单个“知识点”的内容, 而信息搜索是理工科学生必备的本领, 只需知道自己在“找”什么, 就应该一定能找到材料. 根据本书提供的“地形图”, 读者若渴望对某个知识点进一步探究, “按图索骥”应无太大困难.

第四, 这本书不妨多读几遍.

初学机器学习易陷入一个误区: 以为机器学习是若干种算法(方法)的堆积, 熟练了“十大算法”或“二十大算法”一切即可迎刃而解, 于是将目光仅聚焦在具体算法推导和编程实现上; 待到实践发现效果不如人意, 则又转对机器学习发生怀疑. 须知, 书本上仅能展示有限的典型“套路”,而现实世界任务千变万化, 以有限之套路应对无限之变化, 焉有不败!现实中更多时候, 需依据任务特点对现有套路进行改造融通. 算法是“死”的, 思想才是“活”的. 欲行此道, 则务须把握算法背后的思想脉络, 无论创新科研还是应用实践, 皆以此为登堂入室之始. 本书在有限篇幅中侧重于斯, 冀望辅助读者奠造进一步精进的视野心法. 读者由本书初入门径后, 不妨搁书熟习“套路”, 数月后再阅, 于原不经意处或能有新得. 此外, 作者在一些角落融入了自己多年研究实践的些微心得, 虽仅只言片语, 但可能不易得之, 进阶读者阅之或可莞尔.

读者若仅对某几种具体机器学习技术的算法推导或工程实现感兴趣, 则本书可能不太适合; 若仅需机器学习算法“速查手册”, 则直接查看维基百科可能更便利一些.

作者自认才疏学浅, 对机器学习仅略知皮毛, 更兼时间和精力所限, 书中错谬之处甚多, 虽每次印刷均对错处或易误解处做勘误修订, 但仍在所难免, 若蒙读者诸君不吝告知, 将不胜感激.

0
分享到:

评论0

请先

没有账号? 忘记密码?