书籍详情

深度学习:从基础到实践(上、下册)

深度学习:从基础到实践(上、下册)

作者:(美)安德鲁·格拉斯纳

出版社:人民邮电出版社

出版时间:2022-12-01

ISBN:9787115554512

定价:¥199.80

购买这本书可以去
内容简介
  本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。 本书分为上下两册。上册着重介绍深度学习的基础知识,旨在帮助读者建立扎实的知识储备,主要介绍随机性与基础统计学、训练与测试、过拟合与欠拟合、神经元、学习与推理、数据准备、分类器、集成算法、前馈网络、激活函数、反向传播等内容。下册介绍机器学习的 scikit-learn 库和深度学习的 Keras 库(这两种库均基于 Python 语言),以及卷积神经网络、循环神经网络、自编码器、强化学习、生成对抗网络等内容,还介绍了一些创造性应用,并给出了一些典型的数据集,以帮助读者更好地了解学习。 本书适合想要了解和使用深度学习的人阅读,也可作为深度学习教学培训领域的入门级参考用书。
作者简介
  Andrew Glassner博士是一位作家,同时也是计算机交互、图形学领域的顾问。他于1978年开始从事3D计算机绘图工作,在NYIT计算机图形实验室、凯斯西储大学、IBM TJ Watson研究实验室、代尔夫特理工大学、贝尔通信研究、施乐帕克研究中心和微软研究院等公司进行了相关研究。《纽约时报》曾评价他为“计算机图形研究领域最受尊敬的天才之一。”
目录
上册



第 1章 机器学习与深度学习入门 1

1.1 为什么这一章出现在这里 1

1.1.1 从数据中提取含义 1

1.1.2 专家系统 3

1.2 从标记数据中学习 4

1.2.1 一种学习策略 5

1.2.2 一种计算机化的学习策略 6

1.2.3 泛化 8

1.2.4 让我们仔细看看学习过程 9

1.3 监督学习 10

1.3.1 分类 10

1.3.2 回归 11

1.4 无监督学习 12

1.4.1 聚类 13

1.4.2 降噪 13

1.4.3 降维 14

1.5 生成器 16

1.6 强化学习 18

1.7 深度学习 19

1.8 接下来会讲什么 22

参考资料 22

第 2章 随机性与基础统计学 24

2.1 为什么这一章出现在这里 24

2.2 随机变量 24

2.3 一些常见的分布 29

2.3.1 均匀分布 30

2.3.2 正态分布 31

2.3.3 伯努利分布 34

2.3.4 多项式分布 34

2.3.5 期望值 35

2.4 独立性 35

2.5 抽样与放回 36

2.5.1 有放回抽样 36

2.5.2 无放回抽样 37

2.5.3 做选择 38

2.6 Bootstrapping算法 38

2.7 高维空间 41

2.8 协方差和相关性 43

2.8.1 协方差 43

2.8.2 相关性 44

2.9 Anscombe四重奏 47

参考资料 48

第3章 概率 50

3.1 为什么这一章出现在这里 50

3.2 飞镖游戏 50

3.3 初级概率学 52

3.4 条件概率 52

3.5 联合概率 55

3.6 边际概率 57

3.7 测量的正确性 58

3.7.1 样本分类 58

3.7.2 混淆矩阵 60

3.7.3 混淆矩阵的解释 62

3.7.4 允许错误分类 64

3.7.5 准确率 65

3.7.6 精度 66

3.7.7 召回率 67

3.7.8 关于精度和召回率 68

3.7.9 其他方法 69

3.7.10 同时使用精度和召回率 71

3.7.11 f1分数 72

3.8 混淆矩阵的应用 73

参考资料 77

第4章 贝叶斯定理 78

4.1 为什么这一章出现在这里 78

4.2 频率论者法则以及贝叶斯法则 78

4.2.1 频率论者法则 79

4.2.2 贝叶斯法则 79

4.2.3 讨论 79

4.3 抛硬币 80

4.4 这枚硬币公平吗 81

4.4.1 贝叶斯定理 86

4.4.2 贝叶斯定理的注意事项 87

4.5 生活中的贝叶斯定理 89

4.6 重复贝叶斯定理 91

4.6.1 后验-先验循环 92

4.6.2 例子:挑到的是哪种硬币 93

4.7 多个假设 97

参考资料 101

第5章 曲线和曲面 102

5.1 为什么这一章出现在这里 102

5.2 引言 102

5.3 导数 103

5.4 梯度 108

参考资料 112

第6章 信息论 113

6.1 为什么这一章出现在这里 113

6.2 意外程度与语境 113

6.2.1 意外程度 114

6.2.2 语境 114

6.3 用比特作为单位 115

6.4 衡量信息 116

6.5 事件的大小 117

6.6 自适应编码 117

6.7 熵 122

6.8 交叉熵 123

6.8.1 两种自适应编码 123

6.8.2 混合编码 125

6.9 KL散度 127

参考资料 128

第7章 分类 130

7.1 为什么这一章出现在这里 130

7.2 二维分类 130

7.3 二维多分类 134

7.4 多维二元分类 135

7.4.1 one-versus-rest 135

7.4.2 one-versus-one 136

7.5 聚类 138

7.6 维度灾难 141

参考资料 149

第8章 训练与测试 150

8.1 为什么这一章出现在这里 150

8.2 训练 150

8.3 测试数据 153

8.4 验证数据 156

8.5 交叉验证 157

8.6 对测试结果的利用 160

参考资料 161

第9章 过拟合与欠拟合 162

9.1 为什么这一章出现在这里 162

9.2 过拟合与欠拟合 162

9.2.1 过拟合 162

9.2.2 欠拟合 164

9.3 过拟合数据 164

9.4 及早停止 167

9.5 正则化 168

9.6 偏差与方差 169

9.6.1 匹配潜在数据 170

9.6.2 高偏差,低方差 172

9.6.3 低偏差,高方差 173

9.6.4 比较这些曲线 173

9.7 用贝叶斯法则进行线拟合 175

参考资料 179

第 10章 神经元 181

10.1 为什么这一章出现在这里 181

10.2 真实神经元 181

10.3 人工神经元 182

10.3.1 感知机 183

10.3.2 感知机的历史 183

10.3.3 现代人工神经元 184

10.4 小结 188

参考资料 188

第 11章 学习与推理 190

11.1 为什么这一章出现在这里 190

11.2 学习的步骤 190

11.2.1 表示 190

11.2.2 评估 192

11.2.3 优化 193

11.3 演绎和归纳 193

11.4 演绎 194

11.5 归纳 199

11.5.1 机器学习中的归纳术语 201

11.5.2 归纳谬误 202

11.6 组合推理 203

11.7 操作条件 204

参考资料 206

第 12章 数据准备 208

12.1 为什么这一章出现在这里 208

12.2 数据变换 208

12.3 数据类型 210

12.4 数据清理基础 212

12.4.1 数据清理 212

12.4.2 现实中的数据清理 213

12.5 归一化和标准化 213

12.5.1 归一化 213

12.5.2 标准化 214

12.5.3 保存数据的转换方式 215

12.5.4 转换方式 216

12.6 特征选择 217

12.7 降维 217

12.7.1 主成分分析 217

12.7.2 图像的标准化和PCA 222

12.8 转换 226

12.9 切片处理 229

12.9.1 逐样本处理 230

12.9.2 逐特征处理 230

12.9.3 逐元素处理 231

12.10 交叉验证转换 232

参考资料 234

第 13章 分类器 236

13.1 为什么这一章出现在这里 236

13.2 分类器的种类 236

13.3 k近邻法 237

13.4 支持向量机 241

13.5 决策树 247

13.5.1 构建决策树 250

13.5.2 分离节点 253

13.5.3 控制过拟合 255

13.6 朴素贝叶斯 255

13.7 讨论 259

参考资料 260

第 14章 集成算法 261

14.1 为什么这一章出现在这里 261

14.2 集成方法 261

14.3 投票 262

14.4 套袋算法 262

14.5 随机森林 264

14.6 极端随机树 265

14.7 增强算法 265

参考资料 270

第 15章 scikit-learn 272

15.1 为什么这一章出现在这里 272

15.2 介绍 273

15.3 Python 约定 273

15.4 估算器 276

15.4.1 创建 276

15.4.2 学习fit()用法 277

15.4.3 用predict()预测 278

15.4.4 decision_function(),predict_proba() 279

15.5 聚类 279

15.6 变换 282

15.7 数据精化 286

15.8 集成器 288

15.9 自动化 290

15.9.1 交叉验证 290

15.9.2 超参数搜索 292

15.9.3 枚举型网格搜索 294

15.9.4 随机型网格搜索 300

15.9.5 pipeline 300

15.9.6 决策边界 307

15.9.7 流水线式变换 308

15.10 数据集 309

15.11 实用工具 311

15.12 结束语 312

参考资料 312

第 16章 前馈网络 314

16.1 为什么这一章出现在这里 314

16.2 神经网络图 314

16.3 同步与异步流 316

16.4 权重初始化 317

参考资料 320

第 17章 激活函数 321

17.1 为什么这一章出现在这里 321

17.2 激活函数可以做什么 321

17.3 基本的激活函数 324

17.3.1 线性函数 324

17.3.2 阶梯状函数 325

17.4 阶跃函数 325

17.5 分段线性函数 327

17.6 光滑函数 329

17.7 激活函数画廊 333

17.8 归一化指数函数 333

参考资料 335

第 18章 反向传播 336

18.1 为什么这一章出现在这里 336

18.2 一种非常慢的学习方式 337

18.2.1 缓慢的学习方式 339

18.2.2 更快的学习方式 340

18.3 现在没有激活函数 341

18.4 神经元输出和网络误差 342

18.5 微小的神经网络 345

18.6 第 1步:输出神经元的delta 347

18.7 第 2步:使用delta改变权重 353

18.8 第3步:其他神经元的delta 356

18.9 实际应用中的反向传播 359

18.10 使用激活函数 363

18.11 学习率 367

18.12 讨论 374

18.12.1 在一个地方的反向传播 374

18.12.2 反向传播不做什么 374

18.12.3 反向传播做什么 375

18.12.4 保持神经元快乐 375

18.12.5 小批量 377

18.12.6 并行更新 378

18.12.7 为什么反向传播很有吸引力 378

18.12.8 反向传播并不是有保证的 379

18.12.9 一点历史 379

18.12.10 深入研究数学 380

参考资料 381

第 19章 优化器 383

19.1 为什么这一章出现在这里 383

19.2 几何误差 383

19.2.1 最小值、最大值、平台和鞍部 383

19.2.2 作为二维曲线的误差 386

19.3 调整学习率 388

19.3.1 固定大小的更新 388

19.3.2 随时间改变学习率 394

19.3.3 衰减规划 396

19.4 更新策略 398

19.4.1 批梯度下降 398

19.4.2 随机梯度下降 400

19.4.3 mini batch梯度下降 401

19.5 梯度下降变体 403

19.5.1 动量 403

19.5.2 Nesterov动量 408

19.5.3 Adagrad 410

19.5.4 Adadelta和RMSprop 411

19.5.5 Adam 413

19.6 优化器选择 414

参考资料 415



下册



第 20章 深度学习 417

20.1 为什么这一章出现在这里 417

20.2 深度学习概述 417

20.3 输入层和输出层 419

20.3.1 输入层 419

20.3.2 输出层 420

20.4 深度学习层纵览 420

20.4.1 全连接层 421

20.4.2 激活函数 421

20.4.3 dropout 422

20.4.4 批归一化 423

20.4.5 卷积层 424

20.4.6 池化层 425

20.4.7 循环层 426

20.4.8 其他工具层 427

20.5 层和图形符号总结 428

20.6 一些例子 429

20.7 构建一个深度学习器 434

20.8 解释结果 435

参考资料 440

第 21章 卷积神经网络 441

21.1 为什么这一章出现在这里 441

21.2 介绍 441

21.2.1 “深度”的两重含义 442

21.2.2 放缩后的值之和 443

21.2.3 权重共享 445

21.2.4 局部感知域 446

21.2.5 卷积核 447

21.3 卷积 447

21.3.1 过滤器 450

21.3.2 复眼视图 452

21.3.3 过滤器的层次结构 453

21.3.4 填充 458

21.3.5 步幅 459

21.4 高维卷积 462

21.4.1 具有多个通道的过滤器 463

21.4.2 层次结构的步幅 465

21.5 一维卷积 466

21.6 1×1卷积 466

21.7 卷积层 468

21.8 转置卷积 469

21.9 卷积网络样例 472

21.9.1 VGG16 475

21.9.2 有关过滤器的其他内容:第 1部分 477

21.9.3 有关过滤器的其他内容:第 2部分 481

21.10 对手 483

参考资料 485

第 22章 循环神经网络 488

22.1 为什么这一章出现在这里 488

22.2 引言 489

22.3 状态 490

22.4 RNN单元的结构 494

22.4.1 具有更多状态的单元 496

22.4.2 状态值的解释 498

22.5 组织输入 498

22.6 训练RNN 500

22.7 LSTM和GRU 502

22.7.1 门 503

22.7.2 LSTM 505

22.8 RNN的结构 508

22.8.1 单个或多个输入和输出 508

22.8.2 深度RNN 510

22.8.3 双向RNN 511

22.8.4 深度双向RNN 512

22.9 一个例子 513

参考资料 517

第 23章 Keras第 1部分 520

23.1 为什么这一章出现在这里 520

23.1.1 本章结构 520

23.1.2 笔记本 521

23.1.3 Python警告 521

23.2 库和调试 521

23.2.1 版本和编程风格 522

23.2.2 Python编程和调试 522

23.3 概述 523

23.3.1 什么是模型 524

23.3.2 张量和数组 524

23.3.3 设置Keras 524

23.3.4 张量图像的形状 525

23.3.5 GPU和其他加速器 527

23.4 准备开始 528

23.5 准备数据 530

23.5.1 重塑 530

23.5.2 加载数据 536

23.5.3 查看数据 537

23.5.4 训练-测试拆分 541

23.5.5 修复数据类型 541

23.5.6 归一化数据 542

23.5.7 固定标签 544

23.5.8 在同一个地方进行预处理 547

23.6 制作模型 548

23.6.1 将网格转换为列表 548

23.6.2 创建模型 550

23.6.3 编译模型 554

23.6.4 模型创建摘要 556

23.7 训练模型 557

23.8 训练和使用模型 559

23.8.1 查看输出 560

23.8.2 预测 562

23.8.3 训练历史分析 566

23.9 保存和加载 567

23.9.1 将所有内容保存在一个文件中 567

23.9.2 仅保存权重 568

23.9.3 仅保存架构 568

23.9.4 使用预训练模型 569

23.9.5 保存预处理步骤 569

23.10 回调函数 570

23.10.1 检查点 570

23.10.2 学习率 572

23.10.3 及早停止 573

参考资料 575

第 24章 Keras第 2部分 577

24.1 为什么这一章出现在这里 577

24.2 改进模型 577

24.2.1 超参数计数 577

24.2.2 改变一个超参数 578

24.2.3 其他改进方法 580

24.2.4 再增加一个全连接层 581

24.2.5 少即是多 582

24.2.6 添加dropout 584

24.2.7 观察 587

24.3 使用scikit-learn 588

24.3.1 Keras包装器 588

24.3.2 交叉验证 591

24.3.3 归一化交叉验证 594

24.3.4 超参数搜索 596

24.4 卷积网络 602

24.4.1 工具层 603

24.4.2 为CNN准备数据 604

24.4.3 卷积层 606

24.4.4 对MNIST使用卷积 611

24.4.5 模式 619

24.4.6 图像数据增强 621

24.4.7 合成数据 623

24.4.8 CNN的参数搜索 624

24.5 RNN 624

24.5.1 生成序列数据 625

24.5.2 RNN数据准备 627

24.5.3 创建并训练RNN 631

24.5.4 分析RNN性能 634

24.5.5 一个更复杂的数据集 639

24.5.6 深度RNN 641

24.5.7 更多数据的价值 643

24.5.8 返回序列 646

24.5.9 有状态的RNN 649

24.5.10 时间分布层 650

24.5.11 生成文本 653

24.6 函数式API 658

24.6.1 输入层 659

24.6.2 制作函数式模型 660

参考资料 664

第 25章 自编码器 665

25.1 为什么这一章出现在这里 665

25.2 引言 666

25.2.1 有损编码和无损编码 666

25.2.2 区域编码 667

25.2.3 混合展示 669

25.3 最简单的自编码器 671

25.4 更好的自编码器 675

25.5 探索自编码器 677

25.5.1 深入地观察隐藏变量 677

25.5.2 参数空间 679

25.5.3 混合隐藏变量 683

25.5.4 对不同类型的输入进行预测 684

25.6 讨论 685

25.7 卷积自编码器 685

25.7.1 混合卷积自编码器中的隐藏变量 688

25.7.2 在CNN中对不同类型的输入进行预测 689

25.8 降噪 689

25.9 VAE 691

25.9.1 隐藏变量的分布 691

25.9.2 VAE的结构 692

25.10 探索VAE 697

参考资料 703

第 26章 强化学习 704

26.1 为什么这一章出现在这里 704

26.2 目标 704

26.3 强化学习的结构 708

26.3.1 步骤1:智能体选择一个动作 709

26.3.2 步骤2:环境做出响应 710

26.3.3 步骤3:智能体进行自我更新 711

26.3.4 简单版本的变体 712

26.3.5 回到主体部分 713

26.3.6 保存经验 714

26.3.7 奖励 714

26.4 翻转 718

26.5 L学习 719

26.6 Q学习 728

26.6.1 Q值与更新 729

26.6.2 Q学习策略 731

26.6.3 把所有东西放在一起 732

26.6.4 显而易见而又被忽略的事实 733

26.6.5 Q学习的动作 734

26.7 SARSA 739

26.7.1 实际中的SARSA 741

26.7.2 对比Q学习和SARSA 744

26.8 强化学习的全貌 748

26.9 经验回放 749

26.10 两个应用 750

参考资料 751

第 27章 生成对抗网络 753

27.1 为什么这一章出现在这里 753

27.2 一个比喻:伪造钞票 754

27.2.1 从经验中学习 756

27.2.2 用神经网络伪造 757

27.2.3 一个学习回合 759

27.3 为什么要用“对抗” 760

27.4 GAN的实现 760

27.4.1 鉴别器 761

27.4.2 生成器 761

27.4.3 训练GAN 762

27.4.4 博弈 763

27.5 实际操作中的GAN 764

27.6 DCGAN 769

27.7 挑战 771

27.7.1 使用大样本 772

27.7.2 模态崩溃 772

参考资料 773

第 28章 创造性应用 775

28.1 为什么这一章出现在这里 775

28.2 可视化过滤器 775

28.2.1 选择网络 775

28.2.2 可视化一个过滤器 776

28.2.3 可视化层 778

28.3 deep dreaming 779

28.4 神经风格迁移 782

28.4.1 在矩阵中捕获风格 783

28.4.2 宏观蓝图 784

28.4.3 内容损失 785

28.4.4 风格损失 786

28.4.5 实现风格迁移 789

28.4.6 讨论 793

28.5 为本书生成更多的内容 794

参考资料 795

第 29章 数据集 797

29.1 公共数据集 797

29.2 MNIST和Fashion-MNIST 797

29.3 库的内建数据集 798

29.3.1 scikit-learn 798

29.3.2 Keras 798







猜您喜欢

读书导航