描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302634645
目前,该领域中将理论与实践相结合、通俗易懂的著作较少。机器学习是人工智能的一部分,很多初学者往往把机器学习和深度学习作为人工智能入门的突破口,非科班出身的人士更是如此。当前,国内纵向复合型人才和横向复合型人才奇缺;具有计算机背景的人才主要还是以传统人工智能研究为主,跨学科人才较少。非科班人员在将机器学习应用于自己的研究时,往往对理论理解不透彻,且编程能力不足。针对这一现象,译者长期与出版社合作,翻译了一些经典实用、符合实际需求的著作,借此帮助人工智能、机器学习等相关领域的人士(包括非专业人士)使用机器学习解决自己所在领域的问题。
《机器学习图解》就是这样的著作!本书作者拥有密歇根大学数学博士学位,曾担任Google和Apple工程师,是机器学习布道者。本书是他这些年的成果结晶。本书将理论与实践结合,以图的形式讲解机器学习经典算法。全书共13章。第1章、第2章、第4章主要对机器学习基本概念、机器学习类型、优化训练过程进行介绍。
这对初学者形成机器学习思维习惯非常有益。第3章和第5~12章对9类经典的机器学习算法进行了系统介绍,包含问题提出、原理解释、代码实现等方面。第13章列举了真实示例。本书提供了丰富的代码和视频资源。建议读者一边阅读本书,一边动手实践,调试源码,并根据自己的实际需要研究问题,阅读文献并改进源码,解决自己的问题。本书可作为本科高年级和研究生教材,面向对编码感兴趣但不擅长数学的读者(非专业人士)。同时可作为计算机科学学者、企业工程师的参考书。
阅读本书,即使读者仅掌握高中数学知识,也能理解和应用强大的机器学习技术!简单来讲,机器学习是一套以算法为基础的数据分析技术,当你提供更多数据时,算法可反馈更好的结果。ML支持许多尖端技术,如推荐系统、面部识别软件、智能扬声器,甚至包括自动驾驶汽车。本书不落窠臼,示例丰富,精选的练习十分有趣,插图清晰,讲解机器学习的核心概念。 《机器学习图解》以简明易懂的方式介绍机器学习的算法和技术。本书不谈深奥的术语,只通过基本代数知识提供清晰的解释。你将使用Python构建有趣的项目,包括垃圾邮件检测和图像识别模型;还将学习一些实用技能,以清理和准备数据。 ? 分类和划分数据的监督算法 ? 清理和简化数据的方法 ? 机器学习包和工具 ? 复杂数据集的神经网络和集成方法 读者阅读本书前,**了解Python基础知识,不必了解机器学习知识。
第1 章 什么是机器学习?这是一种常识,唯一特别之处在于由计算机完成 1
1.1 我是否需要掌握大量的数学和编程背景知识才能理解机器学习 2
1.2 机器学习究竟是什么 3
1.3 如何让机器根据数据做出决策?记忆-制定-预测框架 6
1.4 本章小结 12
第2 章 机器学习类型 15
2.1 标签数据和无标签数据的区别 17
2.2 监督学习:处理标签数据的机器学习分支 18
2.3 无监督学习:处理无标签数据的机器学习分支 21
2.4 什么是强化学习 28
2.5 本章小结 30
2.6 练习 31
第3 章 在点附近画一条线:线性回归 33
3.1 问题:预测房屋的价格 35
3.2 解决方案:建立房价回归模型 35
3.3 如何让计算机绘制出这条线:线性回归算法 41
3.4 如何衡量结果?误差函数 54
3.5 实际应用:使用Turi Create预测房价 61
3.6 如果数据不在一行怎么办?多项式回归 63
3.7 参数和超参数 64
3.8 回归应用 6
3.9 本章小结 66
3.10 练习 66
第4 章 优化训练过程:欠拟合、过拟合、测试和正则化 69
4.1 使用多项式回归的欠拟合和过拟合示例 71
4.2 如何让计算机选择正确的模型?测试 73
4.3 我们在哪里打破了黄金法则,如何解决呢?验证集 75
4.4 一种决定模型复杂度的数值方法:模型复杂度图 76
4.5 避免过拟合的另一种选择:正则化 77
4.6 使用Turi Create 进行多项式回归、测试和正则化 85
4.7 本章小结 89
4.8 练习 90
第5 章 使用线来划分点: 感知器算法 93
5.1 问题:我们在一个外星球上,听不懂外星人的语言 95
5.2 如何确定分类器的好坏?误差函数 108
5.3 如何找到一个好的分类器?感知器算法 115
5.4 感知器算法编程实现 123
5.5 感知器算法的应用 128
5.6 本章小结 129
5.7 练习 130
第6 章 划分点的连续方法:逻辑分类器 133
6.1 逻辑分类器:连续版感知器分类器 134
6.2 如何找到一个好的逻辑分类器?逻辑回归算法 144
6.3 对逻辑回归算法进行编程 150
6.4 实际应用:使用Turi Create对IMDB 评论进行分类 154
6.5 多分类:softmax 函数 156
6.6 本章小结 157
6.7 练习 158
第7 章 如何衡量分类模型?准确率和其他相关概念 159
7.1 准确率:模型的正确频率是多少 160
7.2 如何解决准确率问题?定义不同类型的误差以及如何进行衡量 161
7.3 一个有用的模型评价工具ROC 曲线 170
7.4 本章小结 179
7.5 练习 181
第8 章 使用概率最大化:朴素贝叶斯模型 183
8.1 生病还是健康?以贝叶斯定理为主角的故事 184
8.2 用例:垃圾邮件检测模型 188
8.3 使用真实数据构建垃圾邮件检测模型 201
8.4 本章小结 204
8.5 练习 205
第9 章 通过提问划分数据:决策树 207
9.1 问题:需要根据用户可能下载的内容向用户推荐应用 213
9.2 解决方案:构建应用推荐系统 214
9.3 超出“是”或“否”之类的问题 228
9.4 决策树的图形边界 231
9.5 实际应用:使用Scikit-Learn 构建招生模型 234
9.6 用于回归的决策树 238
9.7 应用 241
9.8 本章小结 242
9.9 练习 242
第10 章 组合积木以获得更多力量:神经网络 245
10.1 以更复杂的外星球为例,开启神经网络学习 247
10.2 训练神经网络 258
10.3 Keras 中的神经网络编程 264
10.4 用于回归的神经网络 272
10.5 用于更复杂数据集的其他架构 273
10.6 本章小结 275
10.7 练习 276
第11 章 用风格寻找界限:支持向量机和内核方法 279
11.1 使用新的误差函数构建更好的分类器 281
11.2 Scikit-Learn 中的SVM编程 287
11.3 训练非线性边界的SVM:内核方法 289
11.4 本章小结 308
11.5 练习 309
第12 章 组合模型以最大化结果:集成学习 311
12.1 获取朋友的帮助 312
12.2 bagging:随机组合弱学习器以构建强学习器 314
12.3 AdaBoost:以智能方式组合弱学习器以构建强学习器 319
12.4 梯度提升:使用决策树构建强学习器 327
12.5 XGBoost:一种梯度提升的极端方法 332
12.6 集成方法的应用 340
12.7 本章小结 341
12.8 练习 341
第13 章 理论付诸实践:数据工程和机器学习真实示例 343
13.1 泰坦尼克号数据集 344
13.2 清洗数据集:缺失值及其处理方法 348
13.3 特征工程:在训练模型之前转换数据集中的特征 350
13.4 训练模型 355
13.5 调整超参数以找到最佳模型:网格搜索 359
13.6 使用k 折交叉验证来重用训练和验证数据 362
13.7 本章小结 363
13.8 练习 364
以下内容可扫封底二维码下载
附录A 习题解答 365
附录B 梯度下降背后的数学原理:
使用导数和斜率下山 398
附录C 参考资料 416
本书教你两件事:机器学习模型及其使用方法。机器学习模型有不同的类型。有些返回确定性的答案,例如是或否,而另一些返回概率性的答案。有些以问题的形式呈现;其他则使用假设性表达。这些类型的一个共同点是它们都返回一个答案或一个预测。比如,返回预测的模型的机器学习分支被命名为预测机器学习(predictivemachine learning)。这就是我们在本书中关注的机器学习类型。
本书的组织方式:路线图章节类型
本书的章节分为两种类型。大多数章节(第3、5、6、8、9、10、11 和12 章)都包含某一类型的机器学习模型。每章的模型都有相应的例子、公式、代码和习题供你进行仔细学习。其他章节(第4、7 和13 章)包含用于训练、评估和改进机器学习模型的实用技术。值得注意的是,第13 章包含一个真实数据集的端到端示例,你将能够在第13 章中应用前几章中学到的知识。
推荐的学习路径可以通过两种方式使用本书。我推荐逐章线性浏览,这样你会发现,交替进行模型学习和训练模型技术学习是有益的。但是,还有另一种学习路径,即先学习所有模型(第3、5、6、8、9、10、11 和12 章),然后学习训练模型的技术(第4、7 和13 章)。
当然,每个人的学习方式有所不同,也可以创建自己的学习路径!
附录
本书共有3 个附录,读者可扫封底二维码下载。附录A 包含每章练习的解答。附录 B 包含一些正式的数学推导,这些数学推导非常有用,但比本书的其余部分更具技术性。如果你想进一步深化理解,附录C 包含我推荐的参考资料和资源列表。
学习要求和学习目标本书提供了一个可靠的预测性机器学习框架。为从本书中获得最大收益,你应该具有视觉思维,还应该掌握基础数学知识,如直线、公式和基本概率图。如果你知道如何编程,尤其是Python 编程,将会很有帮助(尽管不是硬性要求),因为你有机会在整本书的真实数据集中实现和应用多个模型。阅读本书后,你将能做到以下几点:
? 描述预测性机器学习中最重要的模型及其工作原理,包括线性回归、逻辑回归、朴素贝叶斯、决策树、神经网络、支持向量机和集成方法。
? 确定这些模型的优缺点以及使用的参数。
? 确定这些模型在现实世界中的使用方式,并发现潜在方法,将机器学习应用于你想要解决的任何特定问题上。
? 了解如何优化、比较并改进这些模型,以构建最佳机器学习模型。
? 手动编程或使用现有安装包进行编程,并用它们对真实数据集进行预测。
如果你有一个特定的数据集或想要解决某一特定问题,我建议你思考如何将你在本书中学到的知识应用到这一数据集上,或用所学的知识解决问题,并以此为起点实现和实验自己的模型。
很高兴能和你一起开始这段旅程,我希望你也一样兴奋!
其他资源
本书内容完整,足以自给自足。这意味着除了前面描述的要求之外,本书还介绍了我们需要的每个概念。本书提供了许多参考资料,如果你想更深入地了解这些概念,或者探索更多主题,建议你查看这些参考资料。参考资料都在附录 C 中。
可扫封底二维码,下载其中的Resource 文件;该文件中列出了作者提供的一些资源的链接以及YouTube 频道。还可下载第9 章的几幅彩图。
我们将使用Python 编写代码
在本书中,我们将使用Python 编写代码。但是,如果你的计划是在没有代码的情况下学习概念,也仍然可以忽略代码而继续学习本书。尽管如此,我还是建议你至少看一下代码,以便熟悉本书。
本书附带了一个代码库,大多数章节都会让你有机会从头开始编写算法代码,或者使用一些非常流行的Python 包构建适合给定数据集的模型。请参见可下载的Resource 文件中的说明。
本书主要使用的Python 包如下。
? NumPy:用于存储数组和执行复杂的数学计算
? Pandas:用于存储、操作和分析大型数据集
? Matplotlib:用于绘制数据
? Turi Create:用于存储和操作数据以及训练机器学习模型
? Scikit-Learn:用于训练机器学习模型
? Keras (TensorFlow):用于训练神经网络
关于代码
代码清单中的代码都被格式化为固定宽度的字体,以将其与普通文本分开。有时,代码也会以粗体显示,以突出显示与本章先前步骤不同的代码,例如将新功能添加到现有代码行时。
许多情况下,初始源代码已被重新格式化;我们添加了换行符,并重新进行缩进,以适应书中可用的页面空间。
可扫封底二维码下载本书的示例代码。
评论
还没有评论。