如今,机器学习正被应用于越来越多的领域,面临着各种各样的问题。在进行机器学习时,一个根本性的挑战是将某种机器学习技术的抽象数学与具体的现实问题联系起来。本书通过“基于模型的机器学习”方法来应对这一挑战。

基于模型的机器学习是一种关注于理解机器学习系统中所蕴含假设及其对系统行为影响的方法。其实践过程是将对现实世界的假设与实现机器学习所需的详细算法数学分离开来。这种方法不仅有助于理解机器学习系统的行为,也便于与他人沟通。

本书的独特之处在于,我们并不对各种算法或技术进行分类综述,而是通过真实案例研究来介绍所有关键思想。案例研究在本书中起着核心作用,因为只有在应用背景下,讨论建模假设才有意义。每一章都会介绍一个真实应用,并用基于模型的方法加以解决。此外,第一章还通过虚构的谋杀案谜题进行入门教学。

只需少量构建模块,就能组合出无穷多样的模型。每一章还会引入各种机器学习概念,这些概念不是作为抽象理论出现,而是作为应用需求驱动的具体技术。你可以将这些概念视为构建模型的积木。虽然理解这些概念需要一定的投入,但通过本书的案例学习,你会发现只需掌握少量基础组件,就能构建出丰富多样的模型。

本书适合谁?

本书适合任何希望用机器学习解决实际问题,或想理解现有机器学习系统为何如此运作的技术人员。大部分内容聚焦于为真实案例设计模型,最后一章则介绍如何通过基于模型的机器学习理解现有技术。

对于一些数学背景较强的读者,可能希望了解如何将模型转化为可运行的算法。我们将这些需要更高数学水平的部分单独标注为“深入探讨”章节。这些章节是可选的,您可以选择跳过。

如何阅读本书

本书中的每个案例研究都描述了从问题陈述到解决方案的完整过程。建议分章节阅读,每读完一节暂停思考所学内容。每节引入的机器学习概念会被高亮,并在每节末尾的小词汇表中回顾。我们会提供足够细节帮助理解案例,并附有外部资料链接,便于深入学习。

每个章节还包含自我评估练习,旨在帮助你检验对相关概念的理解。这些练习更偏重实践和思维训练,而非纯数学推导。大多数练习可自查结果,有些适合与伙伴讨论。

在线书籍与代码

本书有在线版本(mbmlbook.com),包含更多材料和功能,如交互式模型图、术语弹窗、数据下载等。所有书中结果都可通过配套开源代码复现,代码托管在 github.com/dotnet/mbmlbook

致谢

首先感谢主要贡献者,Christopher Bishop 协助本书的初步构想和结构设计,并参与了多个章节的撰写。每个案例研究都是一个完整的机器学习项目,Tom Diethe、John Guiver 和 Yordan Zaykov 负责数据收集、代码编写、实验运行和结果产出,并对章节内容提出了宝贵建议。

感谢 CRC Press 的编辑团队,特别是 John Kimmel 和 Lara Spieker 的支持。感谢微软为本书提供的自由研究环境,以及众多同事的反馈和建议。感谢 Angela Simpson 和 Adnan Custovic 对第六章哮喘案例的合作与建议,感谢 Damian Sutcliffe、Andres Floto 及 Dr Sarah Supp 的反馈和素材贡献。

感谢 Nick Duffield 设计在线版页面,Andy Slowey、Nathan Jones、Ian Kelly 长期维护网站,Dmitry Kats 和 Alexander Novikov 对开源代码的贡献和改进。感谢众多在线读者的反馈和建议。

最后,衷心感谢我的妻子 Ellen 在多年写作过程中给予的不懈支持与鼓励。

参考文献: Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.


下一节:如何用机器学习解决我的问题?