我编写这份讲义是为了教授纽约大学数据科学中心的课程 DS-GA 1003 “机器学习”。这是一门为数据科学方向的硕士与博士研究生开设的首门机器学习课程,我的目标是为学生打下坚实的基础,以便他们今后能够进一步学习更为先进和现代的机器学习、数据科学,乃至更广义的人工智能相关主题。 基于这一目标,这份讲义包含了大量关于机器学习中各类概念的数学推导。当然,这不应成为学生放弃阅读的障碍,因为我在推导过程中尽量穿插了直观的解释与背后的洞察,以帮助学生理解其背后的原理。 在编写过程中,我也逐渐意识到自己在机器学习方面的基础仍有不足。但我尽力而为。 在撰写本讲义的过程中,我始终努力提醒自己要铭记 Richard Sutton 所提出的“痛苦的教训”(Bitter Lesson)[Sutton, 2019]。因此,我在呈现各种算法、模型与理论时,都力求以支持可扩展实现(无论在计算资源还是数据规模上)的方式进行讲解。本讲义中的所有机器学习算法,均以适配随机梯度下降(SGD)及其变体为核心进行介绍。当然,扩展性还包括其他方面,例如分布式计算,但我期望后续更高级的课程能够在本课程打下的基础上继续深入这些主题。 尽管我本意是尽可能涵盖所有基础主题,但很快便意识到一门课程的时间远不足以深入探讨每一个内容。因此,我不得不做出一些艰难的取舍,舍弃了一些我认为基础且有趣的重要主题,例如在线学习、核方法以及缺失值处理等。 另外,也有一些我有意省略的主题,尽管它们同样是基础内容,但已经在其他课程中有广泛的讲授,比如序列建模(或大规模语言建模)。我也刻意回避了具体应用领域的讨论,期望学生能在后续专注于应用的课程中深入学习这些方向,例如计算机视觉、计算生物学与自然语言处理等。 还有一些我原本希望涵盖但因时间限制未能涉及的现代主题,包括基于常微分方程(ODE)的生成模型,以及用于表示学习与度量学习的对比学习等。或许未来我可以将机器学习课程扩展为一个双课程系列,将这些内容纳入其中。在此之前,学生需要通过其他资源来学习这些先进内容。 这份讲义并非参考书,而是为教学目的而编写的。也正因此,我在文献引用方面并未做到详尽全面,对此我预先致歉。希望未来若再次讲授本课程时,我能更充分地补充相关引用。尽管目前尚无再次开课的计划。