前言 本书讨论了机器学习的基本问题和基本算法。从方便学习的目的出发,本书主要以聚类任务、回归任务、分类任务、标注任务、概率模型、神经网络模型、深度学习模型七个主题对相关内容进行组织。前四个主题以机器学习的四个主要任务为核心,讨论相关算法及基础知识。概率类模型和神经网络类模型可以完成聚类、回归、分类和标注等多类任务,但它们各有自成体系的基础知识,因此各设一个主题进行集中讨论,更方便读者理解。深度学习模型属于神经网络模型,是机器学习领域的后起之秀,对机器学习的兴起起到了至关重要的推动作用,单独设一个主题来讨论。此外,还单独设立一个主题对机器学习在工程应用中的特征工程、降维和超参数调优等问题进行讨论。 本书面向的读者是初学者,在讨论具体算法时,采用以示例入手、逐步推进的方式,并尽量给出详尽的推导。本书没有采用伪代码的方式来介绍算法流程,而是用文字说明加示例程序的方式。通过文字说明,读者可以从总体上理解算法运行过程。通过运行示例程序,读者可以精准地把握算法运行的细节、理解数据的变化过程。本书的示例代码基于Python 3语言实现,并按需使用了ScikitLearn(sklearn)机器学习和TensorFlow 2.0深度学习等模块。 本书不要求读者具有深厚的数学基础,但应理解导数、矩阵、概率等基本概念。读者还应具备基本的编程能力,能够探索运行本书的配套示例程序。 由于时间有限,书中如有错误,望读者和专家不吝赐教。 作者2020年8月