图书前言

第2版前言

本书第1版出版以来,机器学习领域的理论研究和应用实践都取得了令人惊叹的发展。这些发展,尤其大语言模型的应用,为教育智能化提供了有力支撑。在计算机相关领域,大语言模型的辅助编程、自动查找并总结文献、精准解疑答惑等,不仅可以提高生产效率,还可以有效提高学习效率。这些技术的发展,反过来,对机器学习相关知识的学习提出了新的要求。

首先,学习内容更加丰富。生成对抗网络模型、强化学习模型、大语言模型等层出不穷,该领域的研究者和从业者需要持续地学习新知识、不断地探索新技术。

其次,学习要求更加深入。机器学习领域的长足进步突出表现为人们从机器学习模型构建的“工程师”向“指导者”转变。大语言模型可以按照指令快速构建出初步的机器学习模型,并按要求修改语法等方面的错误,因此,编码等方面的学习要求降低了,学习所投入的时间和精力相应减少。但是,构建机器学习模型的核心知识要求并没有降低。因为大语言模型是基于现有知识的,它只能构建初步的机器学习模型,设计者需要具备能够检查、核实初步模型是否正确的能力,能够指导大模型对初步模型进行调整,必要时能够编写关键的代码来创新模型。也就是说,大语言模型可以帮助人们写机器学习模型的“初稿”,但真正的“成品”模型仍然需要精心打磨才能得到。

总体来说,机器学习技术的长足进步,对机器学习自身的学习提出了更丰富、更深入的要求,同时也为达到该要求的学习过程提供了便利。

顺应形势的发展,本书第2版优化了原有内容,增加了该领域当前研究热点的基础知识,主要包括生成对抗网络、强化学习、大语言模型和对抗样本等内容。对新内容的讨论仍然沿用了从示例入手、逐步推进的方式,保持了原有风格,有利于初学者深入学习。需要说明的是,作为长期研究的热点,这些领域的内容纷繁复杂,本书只讨论了它们的基本原理和经典算法,供入门学习使用。采用本书作为教材的老师,可根据教学目标和课程时长等因素选讲其中部分内容;本书的电子资源中提供了面向不同教学目标的多个教学大纲,可供参考。

为保持连续性,第1版的内容基本保留不变,但本书增加了一些示例,并对原示例代码进行了必要的更新。

许多老师和同学对第1版内容提出了宝贵的建议,在此表示感谢,并希望继续得到大家的批评和建议。

作者

2026年6月

第1版前言

本书讨论了机器学习的基本问题和基本算法。从方便学习的目的出发,本书主要以聚类任务、回归任务、分类任务、标注任务、概率模型、神经网络模型、深度学习模型七个主题对相关内容进行组织。前四个主题以机器学习的四个主要任务为核心,讨论相关算法及基础知识。概率类模型和神经网络类模型可以完成聚类、回归、分类和标注等多类任务,但它们各有自成体系的基础知识,因此各设一个主题进行集中讨论,更方便读者理解。深度学习模型属于神经网络模型,是机器学习领域的后起之秀,对机器学习的兴起起到了至关重要的推动作用,单独设一个主题来讨论。此外,还单独设立一个主题对机器学习在工程应用中的特征工程、降维和超参数调优等问题进行讨论。

本书面向的读者是初学者,在讨论具体算法时,采用以示例入手、逐步推进的方式,并尽量给出详尽的推导。本书没有采用伪代码的方式来介绍算法流程,而是用文字说明加示例程序的方式。通过文字说明,读者可以从总体上理解算法运行过程。通过运行示例程序,读者可以精准地把握算法运行的细节、理解数据的变化过程。本书的示例代码基于Python 3语言实现,并按需使用了ScikitLearn(sklearn)机器学习和TensorFlow 2.0深度学习等模块。

本书不要求读者具有深厚的数学基础,但应理解导数、矩阵、概率等基本概念。读者还应具备基本的编程能力,能够探索运行本书的配套示例程序。

由于时间有限,书中如有错误,望读者和专家不吝赐教。

作者2020年8月