本书为了解机器学习提供了一种独特的途径。书中包含了新颖、直观而又严谨的基本概念描述,它们是研究课题、制造产品、修补漏洞以及实践不可或缺的部分。本书按照几何直觉、算法思想和实际应用(纵贯计算机视觉、自然语言处理、经济学、神经科学、推荐系统、物理学和生物学等学科)的顺序,为读者提供了深入浅出的基础知识和解决实际问题所需的实用工具。本书还包含了基于Python和MATLAB/OCTAVE语言的深入习题,以及对数值优化前沿技术的全面讲解。本书可为机器学习、计算机科学、电子工程、信号处理以及数值优化等领域的学生提供重要的学习资源,也可为这些领域的研究人员和从业者提供理想的参考资料。
无
在过去的十年中,机器学习用户急剧增长,从计算机科学、工程和数学系中相对较小的圈子,到现在学术界各个领域的学生和研究人员、工业界的从业者、数据科学家、企业家以及机器学习爱好者。你面前的这本书,将机器学习的标准课程分解成最基本的部分并进行了重新编排(经过精心打磨和组织),我们认为这将使广大的学习者受益匪浅。本书对最重要的概念进行了新颖、直观而又严谨的描述,它们是研究课题、制造产品、修补漏洞以及实践不可或缺的部分。
读者对象及本书使用方法
本书是为有兴趣理解机器学习核心概念(从基本原理到实际应用)的读者而写的。要充分利用本书,只需基本了解线性代数和微积分(即向量和矩阵运算,以及计算多元函数的梯度和海森矩阵的能力),再加上一些以前接触的计算机编程的基本概念(即条件和循环结构)。本书适合机器学习的入门者,也适合那些对机器学习有所了解的读者,他们渴望更加直观和更容易接受的讲授方式。
为此,在整本书中,我们优先使用新颖且一致的几何观点来描述每个概念的基本原理,推迟使用概率、统计以及神经学方面的观点。我们认为这种方式不仅能让读者更直观地理解许多核心概念,还有助于建立概念之间的联系,而这些概念(如逻辑回归、支持向量机、分类器、核方法以及前馈神经网络)通常被认为是完全不同的。本书也非常重视算法的设计和实现,并且在每章末尾为读者提供了许多编程习题。我们坚信,读者大部分的学习时间都是在自己动手编写程序的过程中度过的。简言之,本书旨在为读者提供一种独特的学习体验,即先有直觉后有知识,最后二者通过应用融合到一起。
本书内容
本书将机器学习的核心概念概括为四类。第一类,预测学习。预测学习包括两种任务,分别是预测取值连续的现象(如天体的未来位置)和区分不同的事物(如图像中不同的人脸)。第二类,特征设计。特征设计指的是一系列广泛的工程和数学工具,它们对预测学习模型能否在实际应用中取得成功至关重要。在本书中,我们将会看到,特征的生成往往建立在我们对数据集理解的水平上。第三类,函数逼近。当数据集的信息太少导致无法为它们设计恰当的特征时(因此必须严格地从数据本身学习),我们就会采用函数逼近的方法。第四类,数值优化。数值优化是前三类概念的驱动力,是机器学习解决实际问题的引擎。
全书概览
本书正文分为三个部分,后面的部分建立在前面部分的基础之上。
第一部分:基本工具及概念
该部分详细介绍了预测建模、数值优化和特征设计的基础。第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章提供了入门和高级优化技术课程的基础,以为本书前三分之二部分介绍的应用和模型提供解决方案。
计算机科学及应用
本书以独特的方法讲解机器学习,书中包含了新颖、直观且严谨的基本概念描述,它们是研究课题、制造产品、修补漏洞以及实践不可或缺的部分。本书按照几何直觉、算法思想和实际应用(涵盖计算机视觉、自然语言处理、经济学、神经科学、推荐系统、物理学和生物学等学科)的顺序,为读者提供了深入浅出的基础知识和解决实际问题所需的实用工具。本书还包含了基于Python和Matlab/Octave语言的深入习题,以及对数值优化前沿技术的全面讲解。
本书特点:
基于几何直觉提供清晰直观的描述
对数值优化前沿技术进行独特讲解
对逻辑回归和支持向量机进行融合介绍
将特征设计和学习作为重要主题
前所未有地从函数逼近的角度讲解高级主题
精练描述深度神经网络和核方法
作者简介
杰瑞米·瓦特(Jeremy Watt) 获得美国西北大学计算机科学与电气工程专业博士学位,研究兴趣是机器学习、计算机视觉和数值优化。
雷萨·博哈尼(Reza Borhani) 获得美国西北大学计算机科学与电气工程专业博士学位,研究兴趣是面向机器学习和计算机视觉问题的算法设计与分析。
阿格洛斯·K.卡萨格罗斯(Aggelos K. Katsaggelos) 美国西北大学计算机科学与电气工程系教授,Joseph Cummings名誉教授,图像与视频处理实验室的负责人。
译者简介
杨博 吉林大学计算机科学与技术学院教授,博士生导师。现任吉林大学符号计算与知识工程教育部重点实验室主任,中国人工智能学会理事,中国人工智能学会知识工程与分布智能专业委员会副主任委员,中国计算机学会杰出会员。
[美] 杰瑞米·瓦特(Jeremy Watt) 雷萨·博哈尼(Reza Borhani) 阿格洛斯·K.卡萨格罗斯(Aggelos K. Katsaggelos) 著:杰瑞米·瓦特(Jeremy Watt),获得美国西北大学计算机科学与电气工程专业博士学位,研究兴趣是机器学习、计算机视觉和数值优化。
雷萨·博哈尼(Reza Borhani),获得美国西北大学计算机科学与电气工程专业博士学位,研究兴趣是面向机器学习和计算机视觉问题的算法设计与分析。
阿格洛斯·K.卡萨格罗斯(Aggelos K. Katsaggelos),美国西北大学计算机科学与电气工程系教授,Joseph Cummings名誉教授,图像与视频处理实验室的负责人。
译者简介
杨博,吉林大学计算机科学与技术学院教授,博士生导师。现任吉林大学符号计算与知识工程教育部重点实验室主任,中国人工智能学会理事,中国人工智能学会知识工程与分布智能专业委员会副主任委员,中国计算机学会杰出会员。
机器学习是人工智能的基石。近年来,随着数据的不断丰富和计算能力的不断提升,机器学习的发展日新月异。国内学术界和工业界对机器学习研究与应用的热忱很高。为了给中国机器学习的发展添砖加瓦,我们欣然接受了出版社的邀请,决定花时间翻译本书的英文原版。原著的三位作者来自美国西北大学,均是深耕机器学习领域多年的资深专家。其中,阿格洛斯·K.卡萨格罗斯教授是美国电气电子工程师学会和国际光学工程学会的会士,美国西北大学图像与视频处理实验室的主任。
阅读完原著后,促使译者下决心翻译本书的一个主要原因是:作者将机器学习的核心内容进行了精心的拆解和独特的编排,力图从统一的视角(函数逼近)对机器学习中那些貌似不同而实则相关的重要问题、概念和方法进行直观而又严谨的讲解。译者认为这将使广大的学习者耳目一新,受益匪浅。
本书内容丰富,不仅包含了数值优化、回归、分类、正则化、自动特征设计、核函数和神经网络等经典的机器学习内容,还包含了高级数值优化、面向大规模数据的降维和推荐等很前沿的高级机器学习技术,因此既可作为高年级本科生和研究生的教材,也可作为相关领域科研和工程人员的工具书。
书中每章内容都是自包含的,读者可以循序渐进地学习,也可以直接跳到感兴趣的主题学习。为了使初学者也能领略到机器学习的魅力,不至于一开始就迷失在纷繁芜杂的数学公式中而不知所云,作者对讲解方式也是费尽心思。全书强调优先使用直观的几何思维描述各个概念的基本原理,而推迟使用数学公式。译者认为这种深入浅出的讲解方式能让读者迅速抓住概念的本质和思想的源头,从而达到举一反三的学习效果。这种强调直观和精练的讲解方式使得只具有基本微积分和线性代数知识的读者都可舒心于书中的大部分内容。
此外,本书为每章都配套了丰富的练习题,用于巩固学习内容、拓展知识、启发兴趣。细心的读者将会发现,很多有难度的习题实际上都来源于参考文献中已经解决的科学问题。独立完成这些习题,就相当于独立解决了机器学习领域中一些重要的科学问题。作者希望以这种方式激发和启蒙读者的研究兴趣与研究方法。因此,强烈建议学有余力的读者进行尝试,必将受益匪浅。本书也非常重视算法的设计与实现,为读者提供了很多编程习题。因为作者坚信,学习的进步都是建立在亲自动手编写程序的基础上。在wwwcambridgeorg/watt上,读者可以找到书中主要算法以及所有编程习题对应的Matlab或Python源代码。
翻译本书时,译者力求内容忠实原著,并保留原著的写作风格,但由于译者水平有限,译文中难免存在一些错误与不妥之处,恳请读者批评指正。著作翻译是一项很耗时间和精力的工作,如果读者能从学习本书的过程中获得一些深入理解机器学习的新视角和新观点,并从中受益,译者就感到很欣慰了。
在本书的翻译过程中,译者得到了吉林大学符号计算与知识工程教育部重点实验室吴春国副教授,以及裴红斌、宋文卓、刘学艳、杨爽和张春旭同学的帮助,在此一并表示感谢。
杨博
吉林大学
2018年8月
译者序
前言
第1章引言
11教计算机区分猫和狗
12预测学习问题
121回归
122分类
13特征设计
14数值优化
15小结
第一部分基本工具及概念
第2章数值优化基础
21微积分定义的最优性
211泰勒级数逼近
212最优性的一阶条件
213凸性的便利
22优化数值方法
221概览
222停止条件
223梯度下降
224牛顿法
23小结
24习题
第3章回归
31线性回归基础
311符号和建模
312用于线性回归的最小二乘代价函数
313最小二乘代价函数的最小化
314所学模型的效力
315预测新输入数据的值
32知识驱动的回归特征设计
33非线性回归和l2正则化
331逻辑回归
332非凸代价函数和l2正则化
34小结
35习题
第4章分类
41感知机代价函数
411基本感知机模型
412softmax代价函数
413间隔感知机
414间隔感知机的可微近似
415所学分类器的精度
416预测新输入数据的标签
417哪个代价函数会产生最好的结果
418感知机和计数代价的关联
42逻辑回归视角下的softmax代价
421阶梯函数和分类
422凸逻辑回归
43支持向量机视角下的间隔感知机
431寻找最大间隔超平面
432硬间隔支持向量机问题
433软间隔支持向量机问题
434支持向量机和逻辑回归
44多分类
441一对多的多分类
442多分类softmax分类
443所学多分类器的精度
444哪种多分类方法表现最好
45面向分类的知识驱动特征设计
46面向真实数据类型的直方图特征
461文本数据的直方图特征
462图像数据的直方图特征
463音频数据的直方图特征
47小结
48习题
第二部分完全数据驱动的机器学习工具
第5章回归的自动特征设计
51理想回归场景中的自动特征设计
511向量逼近
512从向量到连续函数
513连续函数逼近
514连续函数逼近的常见基
515获取权重
516神经网络的图表示
52真实回归场景中的自动特征设计
521离散化的连续函数逼近
522真实回归场景
53回归交叉验证
531诊断过拟合与欠拟合问题
532留出交叉验证
533留出交叉验证的计算
534k折交叉验证
54哪个基最好
541理解数据背后的现象
542实践方面的考虑
543什么时候可任意选择基
55小结
56习题
57关于连续函数逼近的注释
第6章分类中的自动特征设计
61理想分类场景中的自动特征设计
611分段连续函数逼近
612指示函数的形式化定义
613指示函数逼近
614获取权重
62真实分类场景中的自动特征设计
621离散化的指示函数逼近
622真实的分类场景
623分类器精度和边界定义
63多分类
631一对多的多分类
632多分类softmax分类
64分类交叉验证
641留出交叉验证
642留出交叉验证的计算
643k折交叉验证
644一对多多分类的k折交叉验证
65哪个基最好
66小结
67习题
第7章核、反向传播和正则化交叉验证
71固定特征核
711线性代数基本定理
712核化代价函数
713核化的价值
714核的例子
715核作为相似矩阵
72反向传播算法
721计算两层网络代价函数的梯度
722计算三层神经网络的梯度
723动量梯度下降
73l2正则化交叉验证
731l2正则化和交叉验证
732回归的k折正则化交叉验证
733分类的正则化交叉验证
74小结
75更多的核计算
751核化不同的代价函数
752傅里叶核——标量输入
753傅里叶核——向量输入
第三部分大规模数据机器学习方法
第8章高级梯度算法
81梯度下降法的固定步长规则
811梯度下降法和简单的二次代理
812有界曲率函数和最优保守步长规则
813如何使用保守固定步长规则
82梯度下降的自适应步长规则
821回溯线性搜索的自适应步长规则
822如何使用自适应步长规则
83随机梯度下降
831梯度分解
832随机梯度下降迭代
833随机梯度下降的价值
834随机梯度下降的步长规则
835在实践中如何使用随机梯度下降法
84梯度下降方案的收敛性证明
841利普希茨常数固定步长梯度下降的收敛性
842回溯线性搜索梯度下降的收敛性
843随机梯度法的收敛性
844面向凸函数的固定步长梯度下降的收敛速度
85计算利普希茨常数
86小结
87习题
第9章降维技术
91数据的降维技术
911随机子采样
912K均值聚类
913K均值问题的优化
92主成分分析
93推荐系统
931矩阵填充模型
932矩阵填充模型的优化
94小结
95习题
第四部分附录
附录A基本的向量和矩阵运算
附录B向量微积分基础
附录C基本的矩阵分解及伪逆
附录D凸几何
参考文献
索引