细分客户并为每个群体找到最佳的营销策略。 根据类似客户的购买情况为每个客户推荐产品。 检测哪些交易可能是欺诈性的。 预测明年的收入。
本书特色
在本书中,你会学到一系列可以快速使用的技术,从简单的线性回归到深度神经网络。全书中大量的代码示例和练习帮助你学以致用。你只需具备编程经验即可入门。
通过本书,你将能够:
使用Scikit-Learn通过端到端项目来学习机器学习基础知识。 探索多种模型,包括支持向量机、决策树、随机森林和集成方法。 探索无监督学习技术,如降维、聚类和异常检测。 深入研究神经网络架构,包括卷积网络、循环网络、生成对抗网络、自动编码器、扩散模型和转换器。 使用TensorFlow和Keras构建和训练用于计算机视觉、自然语言处理、生成模型和深度强化学习的神经网络。
内容简介
路线图
什么是机器学习,它试图解决什么问题,以及其系统的主要类别和基本概念 典型机器学习项目中的步骤 通过将模型拟合到数据中进行学习 优化代价函数 处理、清洗和准备数据 选择和工程特征 选择模型并使用交叉验证调整超参数 机器学习的挑战,特别是欠拟合和过拟合(偏差 / 方差权衡) 最常见的学习算法:线性和多项式回归、逻辑回归、k 最近邻、支持向量机、决 策树、随机森林和集成方法 降低训练数据的维度以对抗“维度诅咒” 其他无监督学习技术,包括聚类、密度估计和异常检测
什么是神经网络以及它们的作用 使用 TensorFlow 和 Keras 构建和训练神经网络 最重要的神经网络架构:用于表格数据的前馈神经网络,用于计算机视觉的卷积网络,用于处理序列的循环网络和长短期记忆网络 (Long Short-Term Memory, LSTM)、用于自然语言处理(以及更多方面)的编码器 - 解码器和 Transformer, 以及用于生成学习的 自动编码器、生成对抗网络(Generative Adversarial Network, GAN)和扩散模型 训练深度神经网络的技术 如何使用强化学习构建可以通过反复实验学习好的策略的智能体(例如游戏中 的机器人) 有效地加载和预处理大量数据 大规模训练和部署 TensorFlow 模型
新版更新
所有代码都已更新为最新的库版本。特别是,第3版为Scikit-Learn 引人了许多新功能(例如,特征名称的跟踪、基于直方图的梯度提升、 标签传播等),还介绍了用于超参数调整的Keras Tuner 库、用于自然语言处理的 Hugging Face的Transforer库,以及Keras 的新的预处理和数据增强层。 添加了多个视觉模型(ResNeXt、DenseNet、MobileNet、CSPNet 和 EfficientNet)以及选择正确模型的指南。 第15章现在分析芝加哥公共汽车和铁路乘客数据而不是生成的时间序列,并介绍ARMA模型及其变体。 关于自然语言处理的第16章现在构建了一个英语一西班牙语的翻译模型,首先使用编码器-解码器RNN,然后使用Transformer模型。本章还会介绍语言型,例如 Switeh Transformcr、DistBERT、T5和PaLM(带有思维链提示)。此外,它还会介绍视觉 Transformer(ViT),概述一些基于Transformer 的视觉模型[例如数据高效图像Transformer(DeiT)、Perceiver和DINO],以及一些大型多模态模型,包括CLIP、DALL·E、Flamingo和GATO。 关于生成学习的第17章现在介绍扩散模型,并展示了如何从头开始实现去噪护散概率模型(Denoising Diffusion Probabilistic Model,DDPM)。 第 19 章从 Google Cloud Al Platlorm 迁移到 Google VerlexAl,使用分布式 KerasTuner进行大规模超参数搜索。本章现在包括你可以在线实验的TensorFlow.js代码。它还介绍了其他分布式训练技术,包括PipeDream和Pathways。 为了适应所有新内容,一些内容已移至网上,包括安装说明、内核主成分分析(Principa Component Analysis,PCA)、贝叶斯高斯混合的数学细节、TF Agents和以前的附录A(练习题答案)、附录C(支持向量机数学)和附录E(额外的神经网络架构)。
作者简介
目录
目录
前言1
第一部分 机器学习的基础知识11
第1章 机器学习概览13
1.1 什么是机器学习14
1.2 为什么使用机器学习14
1.3 应用示例17
1.4 机器学习系统的类型18
1.5 机器学习的主要挑战33
1.6 测试和验证39
1.7 练习题43
第2章 端到端机器学习项目44
2.1 使用真实数据44
2.2 放眼大局46
2.3 获取数据50
2.4 探索和可视化数据以获得见解63
2.5 为机器学习算法准备数据69
2.6 选择和训练模型87
2.7 微调模型91
2.8 启动、监控和维护系统96
2.9 试试看99
2.10 练习题99
第3章 分类101
3.1 MNIST101
3.2 训练二元分类器104
3.3 性能测量104
3.4 多类分类115
3.5 错误分析118
3.6 多标签分类121
3.7 多输出分类123
3.8 练习题124
第4章 训练模型126
4.1 线性回归127
4.2 梯度下降132
4.3 多项式回归141
4.4 学习曲线143
4.5 正则化线性模型146
4.6 逻辑回归153
4.7 练习题162
第5章 支持向量机164
5.1 线性SVM分类164
5.2 非线性SVM分类167
5.3 SVM回归172
5.4 线性SVM分类器的工作原理174
5.5 对偶问题176
5.6 练习题180
第6章 决策树181
6.1 训练和可视化决策树181
6.2 做出预测182
6.3 估计类概率185
6.4 CART训练算法185
6.5 计算复杂度186
6.6 基尼杂质或熵186
6.7 正则化超参数187
6.8 回归189
6.9 对轴方向的敏感性191
6.10 决策树具有高方差192
6.11 练习题193
第7章 集成学习和随机森林194
7.1 投票分类器194
7.2 bagging和pasting198
7.3 随机森林202
7.4 提升法204
7.5 堆叠法212
7.6 练习题215
第8章 降维216
8.1 维度的诅咒217
8.2 降维的主要方法218
8.3 PCA221
8.4 随机投影228
8.5 LLE230
8.6 其他降维技术232
8.7 练习题234
第9章 无监督学习技术235
9.1 聚类算法:k均值和DBSCAN236
9.2 高斯混合模型256
9.3 练习题265
第二部分 神经网络与深度学习267
第10章 Keras人工神经网络简介269
10.1 从生物神经元到人工神经元270
10.2 使用Keras实现MLP284
10.3 微调神经网络超参数308
10.4 练习题316
第11章 训练深度神经网络319
11.1 梯度消失和梯度爆炸问题319
11.2 重用预训练层333
11.3 更快的优化器338
11.4 学习率调度346
11.5 通过正则化避免过拟合350
11.6 总结和实用指南357
11.7 练习题358
第12章 使用TensorFlow自定义模型和训练360
12.1 TensorFlow快速浏览360
12.2 像使用NumPy一样使用TensorFlow363
12.3 自定义模型和训练算法368
12.4 TensorFlow函数和图387
12.5 练习题392
第13章 使用TensorFlow加载和预处理数据394
13.1 tf.data API395
13.2 TFRecord格式405
13.3 Keras预处理层411
13.4 TensorFlow数据集项目425
13.5 练习题427
第14章 使用卷积神经网络进行深度计算机视觉429
14.1 视觉皮层的结构429
14.2 卷积层431
14.3 池化层439
14.4 使用Keras实现池化层441
14.5 CNN架构443
14.6 使用Keras实现ResNet-34 CNN460
14.7 使用Keras的预训练模型462
14.8 使用预训练模型进行迁移学习463
14.9 分类和定位466
14.10 物体检测467
14.11 物体跟踪474
14.12 语义分割475
14.13 练习题478
第15章 使用RNN和CNN处理序列480
15.1 循环神经元和层481
15.2 训练RNN484
15.3 预测时间序列485
15.4 处理长序列505
15.5 练习题515
第16章 基于RNN和注意力机制的自然语言处理516
16.1 使用字符RNN生成莎士比亚文本517
16.2 情感分析525
16.3 用于神经机器翻译的编码器-解码器网络532
16.4 注意力机制541
16.5 Transformer模型的雪崩554
16.6 视觉Transformer558
16.7 Hugging Face的Transformer库562
16.8 练习题566
第17章 自动编码器、GAN和扩散模型568
17.1 有效的数据表示569
17.2 使用不完备的线性自动编码器执行PCA571
17.3 堆叠式自动编码器572
17.4 卷积自动编码器579
17.5 去噪自动编码器580
17.6 稀疏自动编码器582
17.7 变分自动编码器584
17.8 生成Fashion MNIST图像588
17.9 生成对抗网络589
17.10 扩散模型602
17.11 练习题608
第18章 强化学习610
18.1 学习优化奖励611
18.2 策略搜索612
18.3 OpenAI Gym介绍614
18.4 神经网络策略617
18.5 评估动作:信用分配问题619
18.6 策略梯度620
18.7 马尔可夫决策过程624
18.8 时序差分学习628
18.9 Q学习629
18.10 实现深度Q学习632
18.11 深度Q学习的变体636
18.12 一些流行的RL算法概述640
18.13 练习题643
第19章 大规模训练和部署TensorFlow模型645
19.1 为TensorFlow模型提供服务646
19.2 将模型部署到移动设备或嵌入式设备664
19.3 在Web页面中运行模型666
19.4 使用GPU加速计算668
19.5 跨多个设备训练模型676
19.6 练习题694
致读者694
附录A 机器学习项目清单697
附录B 自动微分703
附录C 特殊数据结构710
附录D TensorFlow图716
本文来源:原创,图片来源:原创 责任编辑:王莹,部门领导:宁姗 发布人:白钰