在过去的十年中,机器学习用户急剧增长,从计算机科学、工程和数学系中相对较小的圈子,到现在学术界各个领域的学生和研究人员、工业界的从业者、数据科学家、企业家以及机器学习爱好者。你面前的这本书,将机器学习的标准课程分解成最基本的部分并进行了重新编排(经过精心打磨和组织),我们认为这将使广大的学习者受益匪浅。本书对最重要的概念进行了新颖、直观而又严谨的描述,它们是研究课题、制造产品、修补漏洞以及实践不可或缺的部分。
读者对象及本书使用方法
本书是为有兴趣理解机器学习核心概念(从基本原理到实际应用)的读者而写的。要充分利用本书,只需基本了解线性代数和微积分(即向量和矩阵运算,以及计算多元函数的梯度和海森矩阵的能力),再加上一些以前接触的计算机编程的基本概念(即条件和循环结构)。本书适合机器学习的入门者,也适合那些对机器学习有所了解的读者,他们渴望更加直观和更容易接受的讲授方式。
为此,在整本书中,我们优先使用新颖且一致的几何观点来描述每个概念的基本原理,推迟使用概率、统计以及神经学方面的观点。我们认为这种方式不仅能让读者更直观地理解许多核心概念,还有助于建立概念之间的联系,而这些概念(如逻辑回归、支持向量机、分类器、核方法以及前馈神经网络)通常被认为是完全不同的。本书也非常重视算法的设计和实现,并且在每章末尾为读者提供了许多编程习题。我们坚信,读者大部分的学习时间都是在自己动手编写程序的过程中度过的。简言之,本书旨在为读者提供一种独特的学习体验,即先有直觉后有知识,最后二者通过应用融合到一起。
本书内容
本书将机器学习的核心概念概括为四类。第一类,预测学习。预测学习包括两种任务,分别是预测取值连续的现象(如天体的未来位置)和区分不同的事物(如图像中不同的人脸)。第二类,特征设计。特征设计指的是一系列广泛的工程和数学工具,它们对预测学习模型能否在实际应用中取得成功至关重要。在本书中,我们将会看到,特征的生成往往建立在我们对数据集理解的水平上。第三类,函数逼近。当数据集的信息太少导致无法为它们设计恰当的特征时(因此必须严格地从数据本身学习),我们就会采用函数逼近的方法。第四类,数值优化。数值优化是前三类概念的驱动力,是机器学习解决实际问题的引擎。
全书概览
本书正文分为三个部分,后面的部分建立在前面部分的基础之上。
第一部分:基本工具及概念
该部分详细介绍了预测建模、数值优化和特征设计的基础。第1章进行总体介绍后,第2章介绍了数值优化的基础知识,使用这些工具可以恰当地调配预测学习模型。第3章和第4章分别介绍了回归和分类两种预测模型。此外,我们还穿插讲述了一些示例。在这些示例中,我们会了解接收数据的底层生成过程(可用于设计特征)。
第二部分:完全数据驱动的机器学习工具
如果缺少关于数据的有用知识,那么我们必须拓宽视野,以便设计或学习用于回归和分类任务的特征。在第5章和第6章中,我们回顾了函数逼近这一经典工具,看其如何应用于一般的回归和分类问题。然后,我们在第7章描述了前两章涉及的几个高级主题。
第三部分:大规模数据机器学习方法
在本书的这个部分,我们描述了将回归和分类算法扩展到大规模数据集的一般过程。第8章开始介绍一些高级数值优化技术,这些技术是第2章的延续,它们能通过更有效的优化算法,大大提高预测学习的能力。第9章详细介绍数据降维技术,通过适当降低输入数据的维度,可将大型数据集压缩到更易于处理的规模。
读者如何使用本书
如前所述,有效使用本书的唯一技术前提是对线性代数和向量运算有基本理解,以及有一些计算机编程经验,因为本书会介绍一些必要的高级概念。在wwwcambridgeorg/watt上,读者可以找到关于Python和Matlab/Octave编程环境的简明教程,用于完成编程习题。该教程介绍了两种语言的语法,以及可供下载的基本库(用于Python)和常用内置函数(用于Matlab/Octave)。
读者可按顺序阅读所有章节进行自学,因为每一章都直接建立在前一章的基础上。然而,如果对本书最后三章感兴趣并且想要精读其中的每个主题,则需要对前六章的内容有充分的理解。
教师如何使用本书
本书的内容已被用于美国西北大学的许多课程,从高年级本科生和低年级研究生的入门课程,到专门针对很多博士生的高级数值优化专业课程。本书对基础、应用和算法的讲解基本上是自包含的,可用于各种机器学习课程。例如,它可以用于:
为高年级本科生/低年级研究生开设一季度或者一学期的标准机器学习主题入门课程。主要包括数值优化的基本技术、回归/分类技术与应用、特征设计与学习原理,以及前馈神经网络。第1~6章提供了这门课的基础,第7章和第9章(关于核方法和降维/非监督学习技术)可作为进阶内容。
为高年级本科生/研究生开设一季度或者一学期面向机器学习的大规模优化课程。第2章和第6~8章提供了入门和高级优化技术课程的基础,以为本书前三分之二部分介绍的应用和模型提供解决方案。