描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302551638
学习Keras深度神经网络
《Keras深度神经网络》重点使用Keras和Python,以数学和编程方式帮助你学习、理解和实现深度神经网络;并在实际业务案例的引导下,讲述如何采用端到端的方法开发“回归”和“分类”监督学习算法。
学习本书后,读者将全面掌握深度学习的基本原理,并拥有基于Keras开发企业级深度学习解决方案的实践经验。
图书结构:
第I部分:讲述深度学习的基础知识,探讨深度学习与机器学习的区别,介绍可选的深度学习框架以及Keras生态系统。
第II部分:剖析可通过深度神经网络和监督学习算法求解的实际业务问题;采用流行的Kaggle数据集,列举一个“回归”案例和一个“分类”案例。
第III部分:介绍有趣且富有挑战性的“超参数调优”,帮助读者进一步改进模型来构建可靠的深度学习应用;还探讨你需要进一步掌握的深度学习知识,并介绍一些热点深度学习研发领域。
主要内容
● 用数学和编程思维快速掌握实用的深度学习概念
● 利用Keras框架设计、开发、训练、验证和部署深度神经网络
● 呈现调试和验证深度学习模型的更佳实践
● 将深度学习作为服务部署并集成到大型软件服务或产品中
● 将深度学习基本原理扩展到其他主流框架
目 录
第1章 深度学习和Keras简介 1
1.1 深度学习简介 1
1.1.1 揭开流行术语的神秘面纱 1
1.1.2 深度学习可求解当今世界中的哪些经典问题 4
1.1.3 深度学习模型分解 4
1.2 探索流行的深度学习框架 6
1.2.1 低级深度学习框架 7
1.2.2 高级深度学习框架 9
1.3 初步了解Keras框架 10
1.3.1 准备数据 11
1.3.2 定义模型结构 12
1.3.3 训练模型和预测 12
1.4 本章小结 12
第2章 上手Keras 13
2.1 设置环境 13
2.1.1 选择Python版本 13
2.1.2 在Windows、Linux或macOS中安装Python 14
2.1.3 安装Keras和TensorFlow后端 14
2.2 Keras深度学习入门 16
2.2.1 输入数据 17
2.2.2 神经元 18
2.2.3 激活函数 19
2.2.4 sigmoid激活函数 19
2.2.5 模型 21
2.2.6 层 22
2.2.7 损失函数 24
2.2.8 优化器 26
2.2.9 评价指标 29
2.2.10 配置模型 30
2.2.11 训练模型 30
2.2.12 模型评估 33
2.3 组合所有基本模块 34
2.4 本章小结 39
第3章 基于深度神经网络的监督学习:回归 41
3.1 引言 41
3.2 问题表述 43
3.2.1 为什么利用一种设计原则来表示问题表述很重要 43
3.2.2 设计SCQ 44
3.2.3 设计解决方案 45
3.3 探索数据 46
3.3.1 查看数据字典 48
3.3.2 查找数据类型 50
3.3.3 处理时间 51
3.3.4 预测销售额 53
3.3.5 探索数值列 54
3.3.6 了解分类特征 56
3.4 数据工程 60
3.5 定义模型的基准性能 64
3.6 设计深度神经网络 65
3.6.1 测试模型性能 68
3.6.2 改进模型 68
3.6.3 增加神经元数量 71
3.6.4 绘制跨历元的损失指标曲线 73
3.6.5 人工测试模型 74
3.7 本章小结 75
第4章 基于深度神经网络的监督学习:分类 77
4.1 引言 77
4.2 问题表述 78
4.2.1 设计SCQ 78
4.2.2 设计解决方案 79
4.3 探索数据 80
4.4 数据工程 84
4.5 定义模型的准确率基准 89
4.6 设计分类深度神经网络 90
4.7 重访数据 94
4.7.1 标准化、归一化和缩放数据 94
4.7.2 转换输入数据 95
4.8 基于改进数据的分类深度神经网络 96
4.9 本章小结 101
第5章 深度神经网络调优与部署 103
5.1 过拟合问题 103
5.2 什么是正则化 104
5.2.1 L1正则化 105
5.2.2 L2正则化 106
5.2.3 丢弃正则化 106
5.3 超参数调优 107
5.3.1 深度学习中的超参数 108
5.3.2 超参数调优方法 111
5.4 模型部署 114
5.4.1 定制测试数据 114
5.4.2 将模型保存到内存 116
5.4.3 用新数据重新训练模型 117
5.4.4 在线模型 117
5.4.5 以API形式交付模型 118
5.4.6 组件集成 118
5.5 本章小结 119
第6章 未来的学习方向 121
6.1 下一步需掌握的深度学习专业知识 121
6.1.1 CNN 122
6.1.2 RNN 125
6.1.3 CNN RNN 127
6.2 为什么深度学习需要GPU 128
6.3 深度学习的其他热门领域 130
6.4 结束寄语 131
前 言
本书旨在为读者提供关于深度学习的速成课程。读者最好具有某种现代语言的基本编程技能。如果读者具有Python编程经验,则相当完美,但不是必需的。鉴于我们可以介绍的内容广度和深度的局限性,本书旨在使初学者能够深入了解深度学习知识,包括模型开发方面的实操经验,这将有助于读者在深度学习领域打下基础。
如果读者水平高于初学者级别,并热衷于探索深度学习高级主题,例如计算机视觉、语音识别等,则不建议使用本书。关于CNN、RNN和现代无监督学习算法方面的主题,超出了本书讨论范围。我们仅对这些内容进行简要介绍,以使读者初步了解这些较高级的主题,另外提供一些推荐资源,以便读者更详细地探索这些主题。
本书涵盖内容
本书聚焦于以数学和编程友好的抽象方式向读者提供探索实用深度学习概念的快速方法。读者将学习使用业界最流行的Keras框架设计、开发、训练、验证和部署深度神经网络。读者还将掌握关于调试和验证深度学习模型的最佳实践经验,了解如何将深度学习作为服务部署和集成到更大的软件服务或产品中。最后,借助基于Keras构建深度学习模型所获得的经验,读者还可以将相同的原理推广到其他流行框架中。
本书读者对象
本书主要面向那些为谋求事业发展而热衷于探索深度学习的软件工程师和数据工程师。我们了解读者大多时间紧迫,也了解读者为了快速消化新知识会感到痛楚。此外,本书还面向数据科学爱好者,以及将深度学习作为研究和实验工具的学术和科研人员。
本书学习方式
本书遵循“惰性”编程方法。首先介绍基本情况,然后在每个步骤中逐步针对上下文展开。我们将清晰地讨论每个基本模块的工作方式,然后分析可用于实现它们的抽象原理。
本书组织结构
本书分为三部分,每部分包含两章。
第Ⅰ部分呈现快速了解深度学习需要的所有必要工具。第1章介绍深度学习的主题,详细介绍了它与相似领域的区别,并通过较深入地分析Keras生态系统来探索深度学习框架的选择。第2章将帮助读者开始利用Keras开展动手练习,了解深度学习的基本模块并开发第一个基本的深度神经网络。
第Ⅱ部分用简单明了的语言介绍深度学习基础知识,同时以最少的代码抽象化模型训练和验证的复杂性,抽象化数学原理的复杂性,但又不失灵活性、规模和必要的精确性。第3章探讨一个可通过深度神经网络监督学习算法解决的业务问题。利用流行的Kaggle数据集,求解一个回归应用场景问题和另一个分类应用场景问题。第4章深入研究深度神经网络的验证技巧(即如何度量性能以及查找缺陷和避免缺陷)。
第Ⅲ部分讲述模型改进和未来的学习方向。第5章讨论深度学习中一个有趣且具有挑战性的部分(即超参数调优)。第6章讨论进一步锤炼技能的学习方向,并讨论深度学习中的一些研究领域。
通过本书的学习,读者将在最短时间内全面了解深度学习原理,并获得利用Keras开发企业级深度学习解决方案的实践经验。
源代码下载
读者可访问www.apress.com/978-1-4842-4239-1访问和下载源代码。
也可扫封底二维码直接下载。
评论
还没有评论。