2012年,我回到清华大学语音语言技术中心(CSLT)任教,继续关于语音和语言信息处理领域的研究。在这些研究中,机器学习是基础工具,掌握机器学习方法和学会敲代码一样,属于基本功。因此,不论是在授课还是在研究中,我们一向重视向学生传授机器学习的基础知识。
当前关于机器学习方面的资料非常丰富:Andrew NG在Coursera上的机器学习教程、Bishop的《模式识别与机器学习》和周志华老师的《机器学习》都是非常好的基础教材;Goodfellow等人的《深度学习》是学习深度学习技术的首选资料;MIT、斯坦福等名校的公开课也非常有价值;一些主要会议的Tutorial、Keynote也都可以在网上搜索到。然而,在教学过程中,我深感这些资料专业性强,入门不易。一方面可能是由于语言障碍,另一方面是因为机器学习覆盖面广,研究方向众多,各种新方法层出不穷,初学者往往在各种复杂的名词和算法面前产生畏难情绪,导致半途而废。
2016年7月到8月,我在CSLT组织了一次关于机器学习的内部暑期研讨班,主要目的不是细致讨论各种具体算法,而是将各种看似高深的方法有机组织起来,告诉学生们每种方法的基本思路、基本用法及与其它技术的关联,帮助其走入机器学习的宏伟殿堂。除了我讲以外,还有冯洋、王彩霞、王卯宁三位老师,分别讲述图模型、核方法和遗传算法。研讨班取得了意想不到的效果,很多学生不仅掌握了基础知识和基本方法,对这些方法与具体应用研究的结合也有了更深刻的理解,为在本领域的深入研究打下了基础。
本书的主体内容是基于该研讨班形成的总结性资料,从2016年8月开始整理,历经数次大规模修正,直到2019年1月定稿。全书共分十一章,内容如下: 第一章:介绍机器学习研究的总体思路,发展历史与关键问题; 第二章:介绍线性模型,包括线性预测模型,线性分类模型和线性高斯概率模型; 第三章:介绍神经网络的基础知识、基础结构和训练方法; 第四章:介绍深度神经网络的基础方法和最新进展; 第五章:介绍核方法,特别是支持向量机模型; 第六章:介绍图模型的基本概念和基于图模型的学习和推理方法; 第七章:介绍非监督学习方法,特别是各种聚类方法和流形学习; 第八章:介绍非参数非贝斯模型,重点关注高斯过程和狄利克雷过程; 第九章:介绍遗传算法、遗传编程、群体学习等演化学习方法; 第十章:介绍强化学习,包括基础算法及近年来兴起的深度强化学习方法; 第十一章:介绍各种数值优化方法。
基于作者的研究背景,这本书很难说是机器学习领域的专业著作,而是一本学习笔记,是从一个机器学习技术使用者角度对机器学习知识的一次总结,并加入作者在本领域研究中的一些经验和体会。与其说是一本专业著作,不如说是一本科普读物,用简洁的语言和深入浅出的描述为初学者打开机器学习这扇充满魔力的大门。打开大门以后,我们会发现这是个多么让人激动人心的领域,每天都有新的知识、新的思路、新的方法产生,每天都有令人振奋的成果。我们希望这本书可以让更多学生、工程师和相关领域的研究者对机器学习产生兴趣,在这片异彩纷呈的海域上找到属于自己的那颗贝壳。
本书的出版凝聚了很多人的心血。冯洋、王卯宁、王彩霞、邢超、李蓝天、汤志远、张纪袁、李敖东、刘艾婷、白紫薇、罗航、石颖、林靖伊、汪洋、张安迪、陈怿详等老师和同学对本书资料进行了整理,并形成了初始版本。张淼同学对全书进行了校对。蔡云麒博士对全部引用和图片做了整理。张雪薇、林靖伊、蔡佳音、景鑫、富豪、何丹、于嘉威、齐诏娣、吴嘉瑶、张阳、姜修齐、刘逸博、张镭镧等同学参与了文字整理工作。
感谢朱小燕老师为本书做序并提出了很多中肯建议。感谢苏红亮、戴海生、利节、黄伟明等老师对部分章节的审读和建设性意见。感谢语音语言中心的郑方、周强及其他老师,中心宽松的治学环境是本书得以完成的前提。感谢清华大学出版社的刘翰鹏老师为本书出版所做的大量工作。
感谢我的家人,他们为我承担了学术以外的所有生活压力,没有他们的支持,就没有本书的出版。
由于作者在知识和经验上的局限性,书中难免会出现各种错误和疏漏,敬请各位读者批评指正。
--王东,清华园 2020年12月