前言
机器学习已经成为一种解决诸多问题的有效工具,并成为实现人工智能的重要技术支撑。本书是以理工科高年级本科生或低年级研究生的基础知识为起点,以面向应用为目标的机器学习教材。通过学习本书,读者可以为掌握机器学习的本质和算法、解决实际问题以及开展与本领域相关的研究打下基础。

本书并不完全是一本新书,而是由清华大学出版社2022年出版的《机器学习导论》修订而成。在清华大学牵头建设的新兴领域“十四五”高等教育教材“新一代信息技术(人工智能)系列丛书”中,规划了《机器学习》教材。作者按照该系列教材的要求,以《机器学习导论》为基础进行了修订和补充,形成了这本新教材。

作为“机器学习”课程的教材,本书在材料选择上做了尽可能地平衡,既要反映机器学习的基础知识和经典方法,又要重视近期非常活跃的深度学习的内容。由于机器学习的成果非常丰富,构成一本教材的材料非常广泛,因此我们在基础和前沿的材料中做了仔细的选择。深度学习很重要,尤其是当前的一些复杂应用(包括计算机视觉、语音识别、自然语言处理、推荐系统、信息检索等),既有大数据支持,又可以通过大规模计算系统进行训练(学习),取得了许多重要进展,近期以ChatGPT为代表的大模型就是建立在深度学习基础上的。但并不是所有应用都有必需使用深度学习,许多问题用传统机器学习技术已可以取得很好的结果,尤其是一些工程中的专门领域,获取大数据集是非常困难的,对这些领域,经典的机器学习方法仍可发挥作用。

基于以上考虑,本书对机器学习的经典算法和深度学习算法都给予相当深入的介绍,读者在学习时,可将全书内容分为7个单元。

第1单元包括第1~3章,涵盖基础性介绍和一些需要补充的基础知识。第1章是机器学习概述,介绍了机器学习要解决的基本问题,以及一些基本术语、基本类型和构成模型的基本元素; 第2章是统计与优化基础,目的是使本书尽可能满足更广泛的读者需求,为此目的所提供的预备知识; 第3章是贝叶斯决策,这是构成机器学习系统的一个相对独立的基本单元,同时简单介绍了图模型基础。

第2单元包括第4章和第5章。第4章介绍了基本回归算法和基本分类算法,包括了线性回归、线性基函数回归、稀疏线性回归、Fisher线性判别分析、感知机、逻辑回归和朴素贝叶斯方法; 第5章介绍了机器学习中一些基本的理论和实践问题。该单元通过相对简单的模型,介绍了构成机器学习算法的核心要素,对于理解机器学习的基本原理很有帮助,所介绍的算法对中小规模问题仍有实用价值。

第3单元包括第6~8章,分别介绍了机器学习的3种重要算法——支持向量机与核函数方法、决策树和集成学习。由于这3类算法的重要性,每类都用一章的篇幅进行专题介绍。

第4单元包括第9~11章,是关于神经网络与深度学习的专题,用3章的篇幅深入讨论这一专题,分别介绍了本专题的3方面——基础、结构和扩展。第9章讨论了网络的结构、表示定理、目标函数、基本优化方法、梯度计算、初始化和正则化等,最重要的是给出了反向传播算法的深入介绍。第10章详细介绍了深度学习中的两大类网络结构,即卷积神经网络和循环神经网络,并分别介绍了其基本结构、扩展结构和专门的反向传播算法,以及几个有影响的网络结构的例子,最后还介绍了残差网络、长短期记忆(LSTM)、门控循环单元(GRU)等新结构。第11章汇集了深度学习中若干关键技术和新进展,包括深度网络的优化技术、正则化和归一化、对抗训练、自编码器、注意力机制和Transformer等,对预训练模型GPT和BERT也给出了概要介绍,这是构成大语言模型(LLM)的基础。

第5单元包括第12章和第13章,是关于无监督学习的专题,讨论了聚类算法、EM算法、主分量分析(PCA)和独立分量分析(ICA)。

第6单元包括第14章和第15章,介绍了强化学习。第14章介绍了基本的强化学习原理和算法,主要讨论了强化学习的表格方法; 第15章介绍了强化学习的更先进的内容,主要包括值函数逼近和策略梯度两类算法,这两类算法都可以结合深度神经网络构成深度强化学习。

第7单元即第16章,介绍了深度生成模型。这一单元可以作为第4单元深度学习的一部分,但由于其尚在快速发展中,故单独作为最后一个单元。这一章介绍了生成对抗网络、变分自编码器、扩散模型和流模型。

作为一本教材,本书每章都设置了适量的习题。附录A中给出了课程的实践型作业的实例。自本课程开设以来,每学期均要求学生完成3个实践型作业,作业数据一般来自网络资源中的实际数据,需要学生自己选择预处理方法,实践作业的效果非常好。每年的作业都有变化,为了提供完整的参考性,附录A给出某年的全部实践作业的原题,仅供使用本书作为教材的教师参考。对于不同的院校、不同的专业,可以有不同的要求,但应该至少完成一个实践作业。对于自学本书的工程技术人员,可以自行选择一些题目测试自己的学习效果。真正掌握机器学习,读者既需要较强的数学知识,能理解各种算法,又要有较强的实践能力,能够编程、调试完成一些实践型作业。本书以原理和算法为主,若读者需要学习编程基础,例如Python语言,可自行选择相关的编程教材或指南,附录A的最后给出了几个编程指南的网络链接。

本书的材料已足够一个学期课程所需要,作为一本教材,希望控制其在合适的篇幅内,因此有许多重要的专题没有介绍,如变分贝叶斯和非参贝叶斯学习、半监督学习、迁移学习、自动学习等,对这些内容感兴趣的读者,可进一步参考相关专著和近期的论文。对于课程安排来讲,目录中标记星号的章节可略过不讲,留作自学材料。

作为一本综合性、导论性的机器学习教材,本书对深度学习和强化学习的介绍在深度和广度上都做了尽可能的努力,希望读者在学习到较全面的机器学习知识的同时,对深度学习和强化学习有深入的了解,并尽快进入这些领域的前沿。机器学习是实现人工智能的重要技术支撑,在涉及人工智能发展路径、人工智能伦理等问题上的不同观点,对于机器学习的从业者也同样需要关注,在这些方面存在很多不同观念和争论,目前仍未有定论,对这些问题的深入讨论,超出本书作为基础性教材的范围,有兴趣的读者可参考这方面的专门论著或报告。

本书列出的参考文献,都是作者在撰写本书时直接参考或希望读者延伸阅读的。本书一些材料是若干年教学积累的结果,作者努力包含对本书写作有影响的所有参考资料,但若有个别参考过的文献有所疏漏,作者表示歉意。

许多同行、同事和研究生对本书的出版做出了贡献。微软亚洲研究院(MSRA)的刘铁岩博士对课程内容的设置提出了宝贵意见,秦涛博士对本书的内容给出了若干有价值的建议,合作团队的汪玉、王剑、袁坚和沈渊等教授提供了各种帮助,谨表示感谢!秦涛博士和王超博士帮助撰写了15.4节有关深度强化学习应用实例的内容,王超博士在清华攻读博士学位期间,曾多次作为课程助教,协助作者进行课程内容的完善和实践作业的设计,并仔细阅读了本书的初稿,提出若干修改意见; 助教博士生金月、邱云波帮助绘制了多幅插图,金月帮助实现了第4.3节的实例,在此一并表示感谢。许多选课学生的反馈对于改善本书初稿很有帮助,在此对所有对本书有所建议的同学表示感谢。

尽管做了很大努力,但由于作者水平、时间和精力所限,本书还会有不足之处,希望读者批评指正。


作者2024年9月于清华园