新書推薦:
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:NT$
485.0
《
铝合金先进成型技术
》
售價:NT$
1214.0
《
英雄之旅:把人生活成一个好故事
》
售價:NT$
398.0
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
|
編輯推薦: |
1.本书由三位美国西北大学教授共同撰写,分享他们多年积累的课程教学和实践经验。该教材获得多个著名大学专家教授联袂推荐。2.该书英文版配套了丰富的教辅资源,包括示例代码、数据集、幻灯片和习题解答。需要使用本书作为教材的教师可以向剑桥大学出版社北京代表处申请solutions@cambridge.org,或者在网上www.cambridge.org/watt申请。3.本书可作为大学相关专业的教材,既适合相关专业的本科生和研究生,又适合相关领域的工程师和研究人员。
|
內容簡介: |
本教程通过阐述直观而严谨的机器学习方法,为学生学习和掌握研究和构建数据驱动产品所需的基本知识和实用工具。内容优先解析几何直觉和算法思维,为学生提供新颖和易于学习的方式;书中也强调机器学习结合实际应用,包括计算机视觉、自然语言处理、经济学、神经科学、推荐系统、物理学和生物学案例分析;作者精心设计300多幅彩色插图,让读者能够直观地掌握技术概念,另配100多个深入的编程练习(Python),为读者提供了对关键机器学习算法的真正理解。本书还在网上提供了一整套在线教辅资源,包括示例代码、数据集、交互式讲座幻灯片和习题解答,既可用于研究生机器学习课程教学,又能帮助个人自学参考使用。
|
關於作者: |
杰瑞米·瓦特(Jeremy Watt)拥有美国西北大学电气工程专业博士学位,现在在西北大学教授机器学习、深度学习、数学优化和强化学习等课程。
雷萨·博哈尼(Reza Borhani)拥有美国西北大学电气工程专业博士学位,现在在西北大学教授机器学习和深度学习相关课程。
阿格洛斯·K. 卡萨格罗斯(Aggelos K. Katsaggelos)是美国西北大学计算机科学与电气工程系Joseph Cummings名誉教授、图像和视频处理实验室负责人。他是IEEE、SPIE、EURASIP和OSA会员,并于2000年获得了IEEE第三枚千年奖章。
译者简介
谢刚,贵州师范大学大数据与计算机科学学院教授,贵州大学“计算机软件与理论”专业工学博士,贵州省“千层次”创新型人才。长期从事人工智能等领域的研究工作,参与项目十余项,发表论文二十余篇,指导学生参加比赛并多次获奖。
杨波,贵阳学院数学与信息科学学院教授,贵州大学“计算机软件与理论”专业工学博士。主要研究方向为软件形式化、知识表示与推理、数据挖掘,在国内外学术刊物及会议上发表研究论文十余篇。
任福佳,贵州师范大学大数据与计算机科学学院副教授。主要研究方向为计算机图像处理、深度学习,在国内外学术刊物及会议上发表研究论文十余篇。
|
目錄:
|
译者序
前言
致谢
作译者简介
第1章机器学习概论1
1.1引言1
1.2利用机器学习方法区分猫和狗1
1.3机器学习问题的基本体系4
1.3.1监督学习5
1.3.2无监督学习10
1.4数学优化11
1.5小结11
部分数学优化
第2章零阶优化技术142.1引言14
2.2零阶性条件15
2.3全局优化方法16
2.4局部优化方法18
2.4.1概览18
2.4.2一般框架18
2.4.3步长参数19
2.5随机搜索20
2.5.1概览21
2.5.2步长控制21
2.5.3基本步长规则23
2.5.4递减步长规则24
2.5.5随机搜索和维度灾难25
2.6坐标搜索和下降法26
2.6.1坐标搜索26
2.6.2坐标下降26
2.7小结27
2.8习题28
第3章一阶优化技术303.1引言30
3.2一阶性条件30
3.2.1可手工求解的一阶方程组的特例32
3.2.2坐标下降和一阶性条件33
3.3一阶泰勒级数的几何图形35
3.3.1超平面35
3.3.2陡上升与陡下降方向35
3.3.3梯度和陡上升/下降方向36
3.4梯度的高效计算36
3.5梯度下降37
3.5.1梯度下降法的基本步长选择39
3.5.2代价函数历史图中的振荡:不一定总是坏事41
3.5.3收敛准则42
3.5.4Python实现43
3.6梯度下降法的固有缺陷43
3.6.1(负)梯度方向的缺陷是如何产生的44
3.6.2(负)梯度方向44
3.6.3梯度下降法的之字形走向45
3.6.4梯度下降法中的 “慢爬”现象46
3.7小结48
3.8习题48
第4章二阶优化技术51
4.1二阶性条件51
4.2二阶泰勒级数的几何形状53
4.2.1单输入二次函数的一般形状53
4.2.2多输入二次函数的一般形状53
4.2.3局部曲率和二阶泰勒级数54
4.3牛顿法55
4.3.1下降方向55
4.3.2算法57
4.3.3确保数值稳定性59
4.3.4步长选择60
4.3.5牛顿法作为一种zerofinding算法60
4.3.6Python实现61
4.4牛顿法的固有缺陷62
4.4.1小化非凸函数62
4.4.2扩展的限制62
4.5小结63
4.6习题63
第二部分线性学习
第5章线性回归685.1引言68
5.2小二乘法线性回归68
5.2.1符号和建模68
5.2.2小二乘代价函数69
5.2.3小二乘代价函数的小化70
5.2.4Python实现72
5.3小偏差74
5.3.1小二乘对离群点的敏感性74
5.3.2用误差代替平方误差75
5.4回归质量度量76
5.4.1使用训练得到的模型进行预测76
5.4.2判断训练模型的质量77
5.5加权回归78
5.5.1处理副本78
5.5.2置信度加权79
5.6多输出回归79
5.6.1符号和建模79
5.6.2代价函数80
5.6.3Python实现81
5.7小结82
5.8习题82
5.9尾注84
第6章线性二分类问题866.1引言86
6.2逻辑回归和交叉熵代价函数86
6.2.1符号和建模86
6.2.2拟合一个非连续阶梯函数87
6.2.3逻辑sigmoid函数89
6.2.4使用小二乘代价函数的逻辑回归89
6.2.5使用交叉熵代价函数的逻辑回归90
6.2.6小化交叉熵代价函数91
6.2.7Python实现92
6.3逻辑回归和Softmax 代价函数92
6.3.1不同的标签,同样的故事93
6.3.2Python实现94
6.3.3含噪声的分类数据集96
6.4感知机96
6.4.1感知机代价函数96
6.4.2小化感知机代价函数98
6.4.3感知机的Softmax近似98
6.4.4Softmax代价函数和线性可分离数据集99
6.4.5归一化特征相关权值100
6.4.6二分类问题的正则化102
6.5支持向量机103
6.5.1边界感知机103
6.5.2与Softmax代价函数的关系104
6.5.3边距决策边界105
6.5.4硬边界和软边界SVM问题106
6.5.5SVM和含噪数据107
6.6哪种方法能产生好的结果108
6.7分类交叉熵代价函数108
6.7.1采用onehot编码的分类标签108
6.7.2非线性度的选择109
6.7.3代价函数的选择109
6.8分类质量指标110
6.8.1使用训练好的模型进行预测110
6.8.2置信度评分110
6.8.3利用准确率评价训练模型的质量111
6.8.4利用平衡准确率评价训练模型的质量112
6.8.5混淆矩阵和附加的质量指标113
6.9加权二分类问题114
6.9.1加权二分类115
6.9.2按置信度对点进行加权处理115
6.9.3处理类不平衡问题116
6.10小结117
6.11习题117
第7章线性多分类问题1197.1引言119
7.2OneversusAll多分类问题119
7.2.1符号和建模119
7.2.2训练C个OneversusAll分类器119
7.2.3情形1:点在单个分类器的正侧120
7.2.4情形2:点在一个以上分类器的正侧121
7.2.5情形3:点不在任何分类器的正侧122
7.2.6综合应用123
7.2.7OneversusAll算法124
7.3多分类问题与感知机125
7.3.1多分类感知机代价函数125
7.3.2小化多分类感知机代价函数126
7.3.3多分类感知机代价函数的替代公式126
7.3.4多分类感知机的正则化问题127
7.3.5多分类Softmax代价函数127
7.3.6小化多分类 Softmax代价函数128
7.3.7多分类Softmax代价函数的替代公式128
7.3.8正则化与多分类 Softmax代价函数129
7.3.9Python实现129
7.4哪种方法能产生好的结果130
7.5分类交叉熵代价函数131
7.5.1离散概率分布131
7.5.2指数归一化132
7.5.3指数归一化符号距离132
7.5.4分类和分类交叉熵代价函数133
7.6分类质量指标135
7.6.1利用训练好的模型进行预测135
7.6.2置信度评分136
7.6.3利用准确率评价训练模型的质量136
7.6.4处理不平衡类的高级质量指标136
7.7加权多分类问题138
7.8随机和小批量学习138
7.9小结139
7.10习题140
第8章线性无监督学习142
8.1引言142
8.2固定的生成集、正交和投影142
8.2.1符号142
8.2.2使用固定生成集完美地表示数据143
8.2.3使用固定正交生成集完美地表示数据144
8.2.4使用固定生成集不完美地表示数据145
8.3线性自动编码器和主成分分析145
8.3.1学习合适的生成集146
8.3.2线性自动编码146
8.3.3主成分分析147
8.3.4Python实现149
8.4推荐系统149
8.4.1动机149
8.4.2符号和建模150
8.5K均值聚类150
8.5.1通过簇表示数据集151
8.5.2学习表示数据的簇152
8.6通用矩阵分解技术154
8.6.1无监督学习和矩阵分解问题154
8.6.2更多的变体156
8.7小结157
8.8习题157
8.9尾注158
8.9.1自动编码器的小值都是正交矩阵158
8.9.2主成分的形式推导159
第9章特征工程和特征选择161
9.1引言161
9.2直方图特征161
9.2.1分类数据的直方图特征162
9.2.2文本数据的直方图特征163
9.2.3图像数据的直方图特征165
9.2.4音频数据的直方图特征169
9.3通过标准归一化实现特征缩放170
9.3.1标准归一化170
9.3.2标准归一化模型173
9.4在数据集中估算缺失值173
9.5通过PCA白化进行特征缩放173
9.5.1PCA白化:概览174
9.5.2PCA白化:技术细节174
9.5.3PCA白化模型176
9.6利用提升法进行特征选择176
9.6.1基于提升法的特征选择176
9.6.2利用提升法选择正确数量的特征177
9.6.3提升法的效率179
9.6.4从残差视角理解提升法回归179
9.7基于正则化的特征选择179
9.7.1使用权值向量范数进行正则化179
9.7.2利用1正则化进行特征选择180
9.7.3选择合适的正则化参数181
9.7.4比较正则化和提升法182
9.8小结182
9.9习题183
第三部分非线性学习
第10章非线性特征工程原理18610.1引言186
10.2非线性回归186
10.2.1建模原理186
10.2.2特征工程188
10.2.3Python实现190
10.3非线性多输出回归191
10.3.1建模原理191
0.3.2特征工程192
10.3.3Python实现193
10.4非线性二分类问题193
10.4.1建模原理193
10.4.2特征工程194
10.4.3Python实现196
10.5非线性多分类问题196
0.5.1建模原理197
10.5.2特征工程198
10.5.3Python实现199
10.6非线性无监督学习199
10.6.1建模原理199
10.6.2特征工程200
10.7小结201
10.8习题201
第11章特征学习原理20511.1引言205
1.1.1非线性特征工程的限制205
11.1.2内容概览206
11.1.3特征学习的复杂度刻度盘比喻206
11.2通用逼近器207
11.2.1完美数据207
11.2.2通用逼近的生成集类比209
11.2.3常用的通用逼近器213
11.2.4容量刻度盘和优化刻度盘215
11.3真实数据的通用逼近217
11.3.1典型例子218
11.3.2再论容量刻度盘和优化刻度盘222
11.3.3新度量工具的出现224
11.3.4验证错误225
11.4简单的交叉验证226
11.4.1概览226
11.4.2简单交叉验证的问题230
11.5通过提升法进行有效的交叉验证230
11.5.1概览230
11.5.2技术细节232
11.5.3早停法234
11.5.4廉价但有效的增强234
11.5.5与特征选择的相似性235
11.5.6带有回归的残差视角236
11.6借助正则化的高效交叉验证237
11.6.1概览237
11.6.2基于早停法的正则化239
11.6.3基于正则化器的方法242
11.6.4与特征选择正则化的相似性244
11.7测试数据245
11.7.1过拟合验证数据245
11.7.2测试数据和测试误差246
11.8哪一个通用逼近器在实践中工作得好247
11.9装袋法交叉验证模型248
11.9.1装袋法回归模型248
11.9.2装袋法分类模型250
11.9.3实际中应该装袋多少个模型253
11.9.4集成:装袋法和提升法253
11.10K折交叉验证253
11.10.1K折交叉验证过程253
11.10.2K折交叉验证和高维线性建模255
11.11特征学习失败256
11.12小结257
11.13习题258
第12章核方法260
12.1引言260
12.2定形通用逼近器260
12.2.1三角函数通用逼近器260
12.2.2高输入的定形逼近器的扩展261
12.3核技巧262
12.3.1线性代数基本定理中的一个有用事实2
|
內容試閱:
|
千百年来,人类一直在寻找能准确描述客观世界中的重要系统(如农业系统、生物系统、物理系统、金融系统等)如何运转的规则或模式。这么做是因为这样的规则可以让我们更好地理解某个系统,准确地预测它未来的行为,并终掌控它。然而,对于某个给定的系统,找到决定其运行方式的“正确”规则并非易事。一方面,是由于历史数据(即一个给定系统运行时的状态记录)非常稀缺;另一方面,人工计算的能力终归是有限的,我们没有很强大的计算能力来通过反复试验挑选出能准确表达系统中某一现象的规则。这两个因素自然地限制了前人研究工作的范围,且不可避免地使得他们运用哲学或直观可见的方法来寻找规则。然而,今天我们生活在一个被数据环绕的世界之中,并且很容易获得巨大的计算能力。因此,与前人相比,我们这些幸运的后辈才能够解决更广泛的问题,并采取更多的实证方法来寻找规则。本书的主题是机器学习,这一术语用于描述一类广泛且不断增长的模式识别算法。这些算法利用潜在的海量数据和强大算力,采用经验式的方式识别出描述系统运行的恰当规则。
在过去的十年里,机器学习的用户群急剧增长。初的用户只限于计算机科学系、工程系和数学系等小圈子内的研究人员,现在则包含了来自各个不同学术领域的学生和研究人员,以及工业界成员、数据科学家、企业家和机器学习爱好者。本书将标准的机器学习课程内容分解为若干基本模块,经过精心打磨和组织后将它们重新组合。我们认为,这对于越来越多的学习者而言是为适宜的。书中对机器学习的基本概念进行了新颖、直观且严谨的描述,这些概念对于指导研究、构建产品及修复漏洞都是必需的。
本书概览
本书在第1版的基础上进行了完全修订,几乎重写了第1版中每一章的内容,同时增加了8章内容,这使得本书的篇幅较第1版多出一倍。本书对第1版中的梯度下降、OneversusAll(一对多)分类和主成分分析等内容进行了修订,同时增加了无导数优化、加权监督学习、特征选择、非线性特征工程、基于提升法的交叉验证等新主题。
虽然篇幅增加了,但我们的初衷并没有改变:用尽可能简单的术语介绍机器学习的相关内容——从基本原理到终实现。下面先对全书各部分内容进行概要介绍。
部分:数学优化(第2~4章)
数学优化是机器学习的底层基础,它不仅可用于对单个机器学习模型(见第二部分)进行优化,也是我们通过交叉验证来确定适当模型的方法框架(见第三部分)。
部分对数学优化进行了完整描述,第2章介绍基本的零阶(无导数)优化方法,第3章和第4章分别介绍一阶优化方法和二阶优化方法。更具体地说,部分包括对局部优化、随机搜索法、梯度下降和牛顿法的完整介绍。
第二部分:线性学习(第5~9章)
第二部分描述了基于代价函数的机器学习的基本内容,重点介绍线性模型。
第5~7章详细介绍监督学习(包括线性回归、二分类和多分类)。在每一章,我们都对各种相关观点和构建监督学习器时的主流设计选择进行阐述。
第8章以类似方式介绍无监督学习,第9章描述基础的特征工程实践,包括常用的直方图特征、各种输入归一化方案以及特征选择范式。
第三部分:非线性学习(第10~14章)
第三部分将第二部分的基础范式扩展到非线性情形。
第10章对非线性监督学习和无监督学习进行基础而详细的介绍,包括非线性学习的动机、常用术语和符号,这些内容是本书剩余章节的基础。
第11章讨论如何自动选择合适的非线性模型。从介绍通用逼近开始,然后过渡到交叉验证的详细介绍,以及boosting(提升法)、正则化、集成法和K折交叉验证等。
掌握了这些基本思想之后,第12~14章中我们依次介绍机器学习中三种常用的通用逼近器——定形核、神经网络和树,对每种通用逼近器的优缺点、技术特性和使用方法都进行了讨论。
为了充分理解本书的这一部分,我们强烈建议在阅读第12~14章之前,先学习第11章。
第四部分:附录
附录部分对高级优化技术进行完整描述,并对读者需要了解的一系列主题进行全面介绍,以便读者能充分地理解本书的内容。
附录A延续第3章和第4章中的讨论,描述高级的一阶和二阶优化技术,包括对梯度下降的常见扩展的讨论,如minibatch(小批量)优化、动量加速、梯度归一化以及各种形式的组合(如RMSProp和Adam一阶算法),还包括牛顿法——正则化方法和无Hessian优化方法。
附录B回顾与微积分计算相关的内容,包括导数/梯度、高阶导数、Hessian矩阵、数值微分、前向和反向(反向传播)自动微分以及泰勒级数近似。
附录C介绍线性代数和矩阵代数的基础知识,内容包括向量/矩阵算法、生成集和正交性的概念,以及特征值和特征向量。
读者:如何使用本书
本书不仅适合机器学习领域的初学者阅读,也适合那些已经学握了机器学习相关知识,但希望对其有更直观的理解的读者阅读。为了充分利用本书,读者需要对向量代数(函数、向量运算等)和计算机程序设计语言(如Python这样的动态类型语言)有基本的了解。本书的附录中给出了其他一些前导知识的入门介绍,包括线性代数、向量运算和自动微分。图01~图04所示的示例“路线图”基于不同的学习目标和大学课程给出了学习本书的建议路径(从机器学习的核心基础课程到特定主题——如下文“教师:如何使用本书”部分所述)。
我们认为,直观地理解机器学习比从理论上理解更容易,因此本书没有从概率和统计的视角去介绍机器学习,而是以一种新颖、一致的几何视角贯穿全书。我们认为这种视角不仅能让读者更直观地理解本书中的各个概念,而且能帮助读者在通常认为完全不同的思想之间建立联系,比如逻辑回归和支持向量机分类器、核和全连接神经网络等。我们主要强调数学优化在机器学习中的重要性。如前所述,优化是机器学习的核心基础,并且是许多层级的关键——从单个模型的优化到利用交叉验证选择合适的非线性模型都是如此。如果希望深入理解机器学习并实现基本的算法,必须对数学优化有深刻的认识。
为此,我们在书中特别强调了算法的设计和实现,给出了基本算法的Python实现。这些基础例子可以用作基本构建模块以帮助读者动手完成本书的编程练习,通过实践掌握本书的基本概念。虽然原则上任何程序设计语言都可用于完成本书的编程练习,但我们强烈建议使用Python,因为它易用且拥有强大的社区支持。我们还建议使用开源Python库NumPy、autograd和matplotlib,以及Jupyter notebook编辑器来简化代码的实现和测试。完整的安装说明、数据集以及入门练习的相关资料参见https://githubcom/jermwatt/machine_learning_refined。
教师:如何使用本书
本书各章节的幻灯片、数据集和一系列描述了本书各种概念的交互式Python小程序参见https://github.com/jermwatt/machine_learning_refined。
该网站还包含Python的安装文档和大量帮助学生完成本书习题的免费软件包。
本书一直被美国西北大学的许多机器学习课程用作基础教材,既用于本科生的机器学习入门课程,也用于研究生的侧重优化和深度学习的高级课程。本书对机器学习基础、应用程序和算法都有讲解,也可作为下列课程的主要资源或主要内容。
机器学习导论:适用于本科生的关于机器学习基本内容的入门课程。在一些采用季度学制的大学中,由于时间限制,不可能对本书进行深入学习。这类课程的内容包括:梯度下降、逻辑回归、支持向量机、一对多和多分类逻辑回归、主成分分析、K均值聚类、特征工程与特征选择、交叉验证、正则化、集成法、装袋法、核方法、全连接神经网络和树。图01给出了这类课程的推荐学习路线图,包括推荐学习的章节和相关主题。
机器学习全讲:基于本书的标准的机器学习课程。与前述导论课程相比,该课程在广度和深度方面都进行了扩展。除了导论课程中包含的主题外,教师可以选择增加牛顿法、小法偏差、多输出回归、加权回归、感知器、分类交叉熵损失函数、加权二分类和多分类、在线学习、推荐系统、矩阵分解技术、基于提升法的特征选择、通用逼近、梯度提升、随机森林,以及全连接神经网络的更深入研究,包括批量归一化和基于早停法的正则化等主题。图02给出了这一课程的推荐学习路线图,包括推荐学习的章节和相关主题。
机器学习和深度学习的数学优化:该课程将全面介绍本书部分及附录A中的零阶、一阶和二阶优化技术,内容包括:坐标下降法、梯度下降法、牛顿法、拟牛顿法、随机优化法、动量加速、固定和自适应步长规则,以及高级归一化梯度下降方法(如Adam和RMSProp)。接下来可以深入描述特征工程过程(特别是标准归一化和PCA白化),这些过程可以加快(尤其是一阶)优化算法。所有的学生,特别是那些学习机器学习优化课程的学生,都应该认识到优化在识别“正确的”非线性特性时所起的重要作用,这一识别过程是通过基于提升法和正则化的交叉验证来完成的,其原理在第11章中介绍。同时该课程还覆盖第13章和附录B中的内容,包括反向传播、批量归一化、自动微分前向/反向模式。图03给出了这一课程的推荐学习路线图,包括推荐学习的章节和相关主题。
深度学习导论:该课程适用于已对机器学习的基本概念有一定了解的学生。课程先介绍一阶优化技术,其中重点介绍随机优化和小批量优化、动量加速,以及像Adam和RMSProp这样的归一化梯度方案。根据读者的知识水平,可能需要对本书第二部分介绍的机器学习基本内容进行简要回顾。可使用本书第11、13章以及附录A和附录B的内容对全连接网络进行完整介绍,内容包括反向传播、前向/反向自动微分模式,以及批量归一化和基于早停法的交叉验证等主题。图04给出了这一课程的推荐学习路线图,包括推荐学习的章节和相关主题。为便于读者完整地理解深度学习,本书的GitHub资源库提供了一些相关主题(如卷积网络和循环网络)的学习资料。
图01“机器学习导论”课程推荐学习路线图,包括章(左列)、节(中间列),以及相应主题(右列)。本计划适用于(采用季度学制的大学中)时间有限的课程或自学,其中机器学习并不是的内容,而是作为一些更宽泛课程的关键部分。注意各章是根据“本书概览”部分的详细布局可视化地组合在一起的,更多细节请参阅“教师:如何使用本书”部分
图02“机器学习全讲”课程推荐学习路线图,包括章、节及相应主题。本计划比图01的学习路线覆盖的内容更深入,适用于高年级本科生、低年级研究生的学期课程以及对机器学习感兴趣的读者。更多细节请参阅“教师:如何使用本书”部分
图03“机器学习和深度学习的数学优化”课程推荐学习路线图,包括章、节以及相应主题。更多细节请参阅“教师:如何使用本书”部分
图04“深度学习导论”课程推荐学习路线图,包括章、节以及相应主题。更多细节请参阅“教师:如何使用本书”部分
|
|