编辑推荐
本书深入浅出的讲述了深度学习的基本概念与理论知识,不涉及复杂的数学内容,零基础小白也能轻松掌握。
内容简介
本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。
本书分为上下两册。
上册着重介绍深度学习的基础知识,旨在帮助读者建立扎实的知识储备,主要介绍随机性与基础统计学、训练与测试、过拟合与欠拟合、神经元、学习与推理、数据准备、分类器、集成算法、前馈网络、激活函数、反向传播等内容。
下册介绍机器学习的scikit-learn库和深度学习的Keras库(这两种库均基于Python语言),以及卷积神经网络、循环神经网络、自编码器、强化学习、生成对抗网络等内容,还介绍了一些创造性应用,并给出了一些典型的数据集,以帮助读者更好地了解学习。
本书适合想要了解和使用深度学习的人阅读,也可作为深度学习教学培训领域的入门级参考用书。
作者简介
作者安德鲁·格拉斯纳,博士,作家,同时也是计算机交互、图形学领域的顾问。他于1978年开始从事3D计算机绘图工作,在NYIT计算机图形实验室、凯斯西储大学、IBM TJ Watson研究实验室、代尔夫特理工大学、贝尔通信研究、施乐帕克研究中心和微软研究院等公司进行了相关研究。
《纽约时报》曾评价他为“计算机图形研究领域最受尊敬的天才之一。”
章节目录
版权信息
深度学习:从基础到实践(上册)
内容提要
译者序
前言
第1章 机器学习与深度学习入门
1.1 为什么这一章出现在这里
1.1.1 从数据中提取含义
1.1.2 专家系统
1.2 从标记数据中学习
1.2.1 一种学习策略
1.2.2 一种计算机化的学习策略
1.2.3 泛化
1.2.4 让我们仔细看看学习过程
1.3 监督学习
1.3.1 分类
1.3.2 回归
1.4 无监督学习
1.4.1 聚类
1.4.2 降噪
1.4.3 降维
1.5 生成器
1.6 强化学习
1.7 深度学习
1.8 接下来会讲什么
参考资料
第2章 随机性与基础统计学
2.1 为什么这一章出现在这里
2.2 随机变量
实践中的随机数
2.3 一些常见的分布
2.3.1 均匀分布
2.3.2 正态分布
2.3.3 伯努利分布
2.3.4 多项式分布
2.3.5 期望值
2.4 独立性
独立同分布(i.i.d)变量
2.5 抽样与放回
2.5.1 有放回抽样
2.5.2 无放回抽样
2.5.3 做选择
2.6 Bootstrapping算法
2.7 高维空间
2.8 协方差和相关性
2.8.1 协方差
2.8.2 相关性
2.9 Anscombe四重奏
参考资料
第3章 概率
3.1 为什么这一章出现在这里
3.2 飞镖游戏
3.3 初级概率学
3.4 条件概率
3.5 联合概率
3.6 边际概率
3.7 测量的正确性
3.7.1 样本分类
3.7.2 混淆矩阵
3.7.3 混淆矩阵的解释
3.7.4 允许错误分类
3.7.5 准确率
3.7.6 精度
3.7.7 召回率
3.7.8 关于精度和召回率
3.7.9 其他方法
3.7.10 同时使用精度和召回率
3.7.11 f1分数
3.8 混淆矩阵的应用
参考资料
第4章 贝叶斯定理
4.1 为什么这一章出现在这里
4.2 频率论者法则以及贝叶斯法则
4.2.1 频率论者法则
4.2.2 贝叶斯法则
4.2.3 讨论
4.3 抛硬币
4.4 这枚硬币公平吗
4.4.1 贝叶斯定理
4.4.2 贝叶斯定理的注意事项
4.5 生活中的贝叶斯定理
4.6 重复贝叶斯定理
4.6.1 后验-先验循环
4.6.2 例子:挑到的是哪种硬币
4.7 多个假设
参考资料
第5章 曲线和曲面
5.1 为什么这一章出现在这里
5.2 引言
5.3 导数
5.4 梯度
参考资料
第6章 信息论
6.1 为什么这一章出现在这里
信息:一词双义
6.2 意外程度与语境
6.2.1 意外程度
6.2.2 语境
6.3 用比特作为单位
6.4 衡量信息
6.5 事件的大小
6.6 自适应编码
6.7 熵
6.8 交叉熵
6.8.1 两种自适应编码
6.8.2 混合编码
6.9 KL散度
参考资料
第7章 分类
7.1 为什么这一章出现在这里
7.2 二维分类
二维二元分类
7.3 二维多分类
7.4 多维二元分类
7.4.1 one-versus-rest
7.4.2 one-versus-one
7.5 聚类
7.6 维度灾难
高维奇异性
参考资料
第8章 训练与测试
8.1 为什么这一章出现在这里
8.2 训练
测试性能
8.3 测试数据
8.4 验证数据
8.5 交叉验证
k折叠交叉验证
8.6 对测试结果的利用
参考资料
第9章 过拟合与欠拟合
9.1 为什么这一章出现在这里
9.2 过拟合与欠拟合
9.2.1 过拟合
9.2.2 欠拟合
9.3 过拟合数据
9.4 及早停止
9.5 正则化
9.6 偏差与方差
9.6.1 匹配潜在数据
9.6.2 高偏差,低方差
9.6.3 低偏差,高方差
9.6.4 比较这些曲线
9.7 用贝叶斯法则进行线拟合
参考资料
第10章 神经元
10.1 为什么这一章出现在这里
10.2 真实神经元
10.3 人工神经元
10.3.1 感知机
10.3.2 感知机的历史
10.3.3 现代人工神经元
10.4 小结
参考资料
第11章 学习与推理
11.1 为什么这一章出现在这里
11.2 学习的步骤
11.2.1 表示
11.2.2 评估
11.2.3 优化
11.3 演绎和归纳
11.4 演绎
直言三段论谬误
11.5 归纳
11.5.1 机器学习中的归纳术语
11.5.2 归纳谬误
11.6 组合推理
夏洛克·福尔摩斯——“演绎大师”
11.7 操作条件
参考资料
第12章 数据准备
12.1 为什么这一章出现在这里
12.2 数据变换
12.3 数据类型
独热编码
12.4 数据清理基础
12.4.1 数据清理
12.4.2 现实中的数据清理
12.5 归一化和标准化
12.5.1 归一化
12.5.2 标准化
12.5.3 保存数据的转换方式
12.5.4 转换方式
12.6 特征选择
12.7 降维
12.7.1 主成分分析
12.7.2 图像的标准化和PCA
12.8 转换
12.9 切片处理
12.9.1 逐样本处理
12.9.2 逐特征处理
12.9.3 逐元素处理
12.10 交叉验证转换
参考资料
第13章 分类器
13.1 为什么这一章出现在这里
13.2 分类器的种类
13.3 k近邻法
13.4 支持向量机
13.5 决策树
13.5.1 构建决策树
13.5.2 分离节点
13.5.3 控制过拟合
13.6 朴素贝叶斯
13.7 讨论
参考资料
第14章 集成算法
14.1 为什么这一章出现在这里
14.2 集成方法
14.3 投票
14.4 套袋算法
14.5 随机森林
14.6 极端随机树
14.7 增强算法
参考资料
第15章 scikit-learn
15.1 为什么这一章出现在这里
15.2 介绍
15.3 Python 约定
15.4 估算器
15.4.1 创建
15.4.2 学习fit()用法
15.4.3 用predict()预测
15.4.4 decision_function(),predict_proba()
15.5 聚类
15.6 变换
逆变换
15.7 数据精化
15.8 集成器
15.9 自动化
15.9.1 交叉验证
15.9.2 超参数搜索
15.9.3 枚举型网格搜索
15.9.4 随机型网格搜索
15.9.5 pipeline
15.9.6 决策边界
15.9.7 流水线式变换
15.10 数据集
15.11 实用工具
15.12 结束语
参考资料
第16章 前馈网络
16.1 为什么这一章出现在这里
16.2 神经网络图
16.3 同步与异步流
实践中的图
16.4 权重初始化
初始化
参考资料
第17章 激活函数
17.1 为什么这一章出现在这里
17.2 激活函数可以做什么
激活函数的形式
17.3 基本的激活函数
17.3.1 线性函数
17.3.2 阶梯状函数
17.4 阶跃函数
17.5 分段线性函数
17.6 光滑函数
17.7 激活函数画廊
17.8 归一化指数函数
参考资料
第18章 反向传播
18.1 为什么这一章出现在这里
反向传播的微妙
18.2 一种非常慢的学习方式
18.2.1 缓慢的学习方式
18.2.2 更快的学习方式
18.3 现在没有激活函数
18.4 神经元输出和网络误差
误差按比例变化
18.5 微小的神经网络
18.6 第1步:输出神经元的delta
18.7 第2步:使用delta改变权重
18.8 第3步:其他神经元的delta
18.9 实际应用中的反向传播
18.10 使用激活函数
18.11 学习率
探索学习率
18.12 讨论
18.12.1 在一个地方的反向传播
18.12.2 反向传播不做什么
18.12.3 反向传播做什么
18.12.4 保持神经元活跃
18.12.5 小批量
18.12.6 并行更新
18.12.7 为什么反向传播很有吸引力
18.12.8 反向传播并不是有保证的
18.12.9 一点历史
18.12.10 深入研究数学
参考资料
第19章 优化器
19.1 为什么这一章出现在这里
19.2 几何误差
19.2.1 最小值、最大值、平台和鞍部
19.2.2 作为二维曲线的误差
19.3 调整学习率
19.3.1 固定大小的更新
19.3.2 随时间改变学习率
19.3.3 衰减规划
19.4 更新策略
19.4.1 批梯度下降
19.4.2 随机梯度下降
19.4.3 mini-batch梯度下降
19.5 梯度下降变体
19.5.1 动量
19.5.2 Nesterov动量
19.5.3 Adagrad
19.5.4 Adadelta和RMSprop
19.5.5 Adam
19.6 优化器选择
参考资料
深度学习:从基础到实践(下册)
第20章 深度学习
20.1 为什么这一章出现在这里
20.2 深度学习概述
张量
20.3 输入层和输出层
20.3.1 输入层
20.3.2 输出层
20.4 深度学习层纵览
20.4.1 全连接层
20.4.2 激活函数
20.4.3 dropout
20.4.4 批归一化
20.4.5 卷积层
20.4.6 池化层
20.4.7 循环层
20.4.8 其他工具层
20.5 层和图形符号总结
20.6 一些例子
20.7 构建一个深度学习器
入门指南
20.8 解释结果
令人满意的可解释性
参考资料
第21章 卷积神经网络
21.1 为什么这一章出现在这里
21.2 介绍
21.2.1 “深度”的两重含义
21.2.2 放缩后的值之和
21.2.3 权重共享
21.2.4 局部感知域
21.2.5 卷积核
21.3 卷积
21.3.1 过滤器
21.3.2 复眼视图
21.3.3 过滤器的层次结构
21.3.4 填充
21.3.5 步幅
21.4 高维卷积
21.4.1 具有多个通道的过滤器
21.4.2 层次结构的步幅
21.5 一维卷积
21.6 1×1卷积
21.7 卷积层
初始化过滤器权重
21.8 转置卷积
21.9 卷积网络样例
21.9.1 VGG16
21.9.2 有关过滤器的其他内容:第1部分
21.9.3 有关过滤器的其他内容:第2部分
21.10 对手
参考资料
第22章 循环神经网络
22.1 为什么这一章出现在这里
22.2 引言
22.3 状态
使用状态
22.4 RNN单元的结构
22.4.1 具有更多状态的单元
22.4.2 状态值的解释
22.5 组织输入
22.6 训练RNN
22.7 LSTM和GRU
22.7.1 门
22.7.2 LSTM
22.8 RNN的结构
22.8.1 单个或多个输入和输出
22.8.2 深度RNN
22.8.3 双向RNN
22.8.4 深度双向RNN
22.9 一个例子
参考资料
第23章 Keras第1部分
23.1 为什么这一章出现在这里
23.1.1 本章结构
23.1.2 笔记本
23.1.3 Python警告
23.2 库和调试
23.2.1 版本和编程风格
23.2.2 Python编程和调试
23.3 概述
23.3.1 什么是模型
23.3.2 张量和数组
23.3.3 设置Keras
23.3.4 张量图像的形状
23.3.5 GPU和其他加速器
23.4 准备开始
“Hello,World”
23.5 准备数据
23.5.1 重塑
23.5.2 加载数据
23.5.3 查看数据
23.5.4 训练-测试拆分
23.5.5 修复数据类型
23.5.6 归一化数据
23.5.7 固定标签
23.5.8 在同一个地方进行预处理
23.6 制作模型
23.6.1 将网格转换为列表
23.6.2 创建模型
23.6.3 编译模型
23.6.4 模型创建摘要
23.7 训练模型
23.8 训练和使用模型
23.8.1 查看输出
23.8.2 预测
23.8.3 训练历史分析
23.9 保存和加载
23.9.1 将所有内容保存在一个文件中
23.9.2 仅保存权重
23.9.3 仅保存架构
23.9.4 使用预训练模型
23.9.5 保存预处理步骤
23.10 回调函数
23.10.1 检查点
23.10.2 学习率
23.10.3 及早停止
参考资料
第24章 Keras第2部分
24.1 为什么这一章出现在这里
24.2 改进模型
24.2.1 超参数计数
24.2.2 改变一个超参数
24.2.3 其他改进方法
24.2.4 再增加一个全连接层
24.2.5 少即是多
24.2.6 添加dropout
24.2.7 观察
24.3 使用scikit-learn
24.3.1 Keras包装器
24.3.2 交叉验证
24.3.3 归一化交叉验证
24.3.4 超参数搜索
24.4 卷积网络
24.4.1 工具层
24.4.2 为CNN准备数据
24.4.3 卷积层
24.4.4 对MNIST使用卷积
24.4.5 模式
24.4.6 图像数据增强
24.4.7 合成数据
24.4.8 CNN的参数搜索
24.5 RNN
24.5.1 生成序列数据
24.5.2 RNN数据准备
24.5.3 创建并训练RNN
24.5.4 分析RNN性能
24.5.5 一个更复杂的数据集
24.5.6 深度RNN
24.5.7 更多数据的价值
24.5.8 返回序列
24.5.9 有状态的RNN
24.5.10 时间分布层
24.5.11 生成文本
24.6 函数式API
24.6.1 输入层
24.6.2 制作函数式模型
参考资料
第25章 自编码器
25.1 为什么这一章出现在这里
25.2 引言
25.2.1 有损编码和无损编码
25.2.2 区域编码
25.2.3 混合展示
25.3 最简单的自编码器
25.4 更好的自编码器
25.5 探索自编码器
25.5.1 深入地观察隐藏变量
25.5.2 参数空间
25.5.3 混合隐藏变量
25.5.4 对不同类型的输入进行预测
25.6 讨论
25.7 卷积自编码器
25.7.1 混合卷积自编码器中的隐藏变量
25.7.2 在CNN中对不同类型的输入进行预测
25.8 降噪
25.9 VAE
25.9.1 隐藏变量的分布
25.9.2 VAE的结构
25.10 探索VAE
参考资料
第26章 强化学习
26.1 为什么这一章出现在这里
26.2 目标
学习一个新游戏
26.3 强化学习的结构
26.3.1 步骤1:智能体选择一个动作
26.3.2 步骤2:环境做出响应
26.3.3 步骤3:智能体进行自我更新
26.3.4 简单版本的变体
26.3.5 回到主体部分
26.3.6 保存经验
26.3.7 奖励
26.4 翻转
26.5 L学习
处理不可预测情况
26.6 Q学习
26.6.1 Q值与更新
26.6.2 Q学习策略
26.6.3 把所有东西放在一起
26.6.4 显而易见而又被忽略的事实
26.6.5 Q学习的动作
26.7 SARSA
26.7.1 实际中的SARSA
26.7.2 对比Q学习和SARSA
26.8 强化学习的全貌
26.9 经验回放
26.10 两个应用
参考资料
第27章 生成对抗网络
27.1 为什么这一章出现在这里
27.2 一个比喻:伪造钞票
27.2.1 从经验中学习
27.2.2 用神经网络伪造
27.2.3 一个学习回合
27.3 为什么要用“对抗”
27.4 GAN的实现
27.4.1 鉴别器
27.4.2 生成器
27.4.3 训练GAN
27.4.4 博弈
27.5 实际操作中的GAN
27.6 DCGAN
经验法则
27.7 挑战
27.7.1 使用大样本
27.7.2 模态崩溃
参考资料
第28章 创造性应用
28.1 为什么这一章出现在这里
28.2 可视化过滤器
28.2.1 选择网络
28.2.2 可视化一个过滤器
28.2.3 可视化层
28.3 deep dreaming
28.4 神经风格迁移
28.4.1 在矩阵中捕获风格
28.4.2 宏观蓝图
28.4.3 内容损失
28.4.4 风格损失
28.4.5 实现风格迁移
28.4.6 讨论
28.5 为本书生成更多的内容
参考资料
第29章 数据集
29.1 公共数据集
29.2 MNIST和Fashion-MNIST
29.3 库的内建数据集
29.3.1 scikit-learn
29.3.2 Keras
深度学习:从基础到实践(全二册)是2022年由人民邮电出版社出版,作者[美] 安德鲁·格拉斯纳。
得书感谢您对《深度学习:从基础到实践(全二册)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。