本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。本书分为上下两册。上册着重介绍深度学习的基础知识,旨在帮助读者建立扎实的知识储备,主要介绍随机性与基础统计学、训练与测试、过拟合与欠拟合、神经元、学习与推理、数据准备、分类器、集成算法、前馈网络、激活函数、反向传播等内容。下册介绍机器学习的 scikit-learn 库和深度学习的 Keras 库(这两种库均基于 Python 语言),以及卷积神经网络、循环神经网络、自编码器、强化学习、生成对抗网络等内容,还介绍了一些创造性应用,并给出了一些典型的数据集,以帮助读者 好地了解学习。本书适合想要了解和使用深度学习的人阅读,也可作为深度学习教学培训领域的入门级参考用书。
【目录】
上册
第 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
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
热门文章
热门标签
评论