首页>参考读物>计算机科学与技术>软件与程序设计

Python深度学习:基于TensorFlow
作者 : 吴茂贵 王冬 李涛 杨本法 著
出版日期 : 2018-09-21
ISBN : 978-7-111-60972-8
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 339
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

内容简介
这是一本基于Python和TensorFlow的全栈式的深度学习指南,基础和理论讲解全面,原理和拓展分析深入,应用和实践也极具实战性,是多位人工智能和大数据领域的专家多年经验的结晶。
全书一共22章,在结构上分为三大部分:
第一部分(第1~5章) Python与数学基础
第1章详细讲解了Python和TensorFlow的基石Numpy,第2章介绍了深度学习框架的鼻祖Theano,对读者更好理解TensorFlow有帮助。
第3~5章的内容是是机器学习和深度学习必备的应用数学基础,包括线性代数、概率论、信息论、概率图等内容。
第二部分(第6~20章) TensorFlow深度学习理论与应用
第6章介绍了机器学习和深度学习的基础,其中包含很多机器学习经典理论和算法;第7章为深度学习的理论及方法,包括策略和挑战。
第8~15章讲解了TensorFlow的安装、基础、图像处理、神经元函数、自编码器、Word2Vec、卷积神经网络、循环神经网络等内容,包含大量案例。
第16章讲解了TensorFlow的高级封装,如Keras、Estimator、TFLearn等内容。
第17~20章是TensorFlow的综合实战案例,涉及情感分析、图像识别、自然语言处理等重要主题。
第三部分(第21~22章) 深度学习扩展
重点介绍了强化学习和生成式对抗网络等较为前沿的内容。
更为重要的是,为了让本书通俗易懂,在内容安排和写作方式上也颇花了一番心思。内容安排上,由点到面、由易到难,找准突破口;写作方式上,采用了图形化的表达,一图胜千言。

图书特色

从Python和数学基础,到机器学习和TensorFlow理论,再到深度学习的应用和扩展,为深度学习提供全栈式内容解决方案

图书前言

为什么写这本书
人工智能新时代学什么?我们知道,Python是人工智能的首选语言,深度学习是人工智能的核心,而TensorFlow是深度学习框架中的No.1。所以我们在本书中将这三者有机结合,希望借此把这些目前应用最广、最有前景的工具和算法分享给大家。
人工智能新时代如何学?市面上介绍这些工具和深度学习理论的书籍已有很多,而且不乏经典大作,如讲机器学习理论和算法的有周志华老师的《机器学习》;介绍深度学习理论和算法的有伊恩·古德费洛等编著的《深度学习》;介绍TensorFlow实战的有黄文坚、唐源编著的《TensorFlow实战》、山姆·亚伯拉罕等编著的《面向机器智能的TensorFlow实践》等。这些都是非常经典的大作,如果你对机器学习、深度学习、人工智能感兴趣的话,这些书均值得一读。
本书在某些方面或许无法和它们相比,但我觉得也会有不少让你感到满意,甚至惊喜的地方。本书的特点具体包括以下几个方面。
1.内容选择:提供全栈式的解决方案
深度学习涉及范围比较广,既有对基础、原理的一些要求,也有对代码实现的要求。如何在较短时间内快速提高深度学习的水平?如何尽快把所学运用到实践中?这方面虽然没有捷径可言,但却有方法可循。本书基于这些考量,希望能给你提供一站式解决方案。具体内容包括:机器学习与深度学习的三大基石(线性代数、概率与信息论及数值分析);机器学习与深度学习的基本理论和原理;机器学习与深度学习的常用开发工具(Python、TensorFlow、Keras等),此外还有TensorFlow的高级封装及多个综合性实战项目等。
2.层次安排:找准易撕口、快速实现由点到面的突破
我们打开塑料袋时,一般从易撕口开始,这样即使再牢固的袋子也很容易打开。面对深度学习这个“牢固袋子”,我们也可采用类似方法,找准易撕口。如果没有,就创造一个易撕口,通过这个易撕口,实现点到面的快速扩展。本书在介绍很多抽象、深奥的算法时采用了这种方法。我们知道BP算法、循环神经网络是深度学习中的两块硬骨头,所以在介绍BP算法时,先介绍单个神经如何实现BP算法这个易撕口,再延伸到一般情况;在介绍循环神经网络时,我们也以一个简单实例为易撕口,再延伸到一般情况。希望通过这种方式,能帮助你把难题化易、把大事化小、把不可能转换为可能。
3.表达形式:让图说话,一张好图胜过千言万语
在机器学习、深度学习中有很多抽象的概念、复杂的算法、深奥的理论,如Numpy的广播机制、神经网络中的共享参数、动量优化法、梯度消失或爆炸等,这些内容如果只用文字来描述,可能很难达到茅塞顿开的效果,但如果用一些图形来展现,再加上适当的文字说明,往往能取得非常好的效果,正所谓一张好图胜过千言万语。
除了以上谈到的三个方面,为了帮助大家更好理解、更快掌握机器学习、深度学习这些人工智能的核心内容,本书还包含了其他方法。我们希望通过这些方法或方式带给你不一样的理解和体验,使抽象数学不抽象、深度学习不深奥、复杂算法不复杂,这或许就是我们写这本书的主要目的。
至于人工智能(AI)的重要性,想必不用多说了。如果说2016年前属于摆事实论证的阶段,那么2016年后已进入事实胜于雄辩的阶段了,而2018年后应该属于撸起袖子加油干的阶段。目前各行各业都忙于AI+,给人“忽如一夜春风来,千树万树梨花开”的感觉!
本书特色
要说特色的话,就是上面谈到的几点,概括来说就是:把理论原理与代码实现相结合;找准切入点,从简单到一般,把复杂问题简单化;图文并茂使抽象问题直观化;实例说明使抽象问题具体化。希望通过阅读本书,能给你带来新的视角、新的理解。
读者对象
对机器学习、深度学习感兴趣的广大在校学生、在职人员。
对Python、TensorFlow感兴趣,并希望进一步提升的在校学生、在职人员。
如何阅读本书
本书共22章,按照“基础→应用→扩展”的顺序展开,分为三个部分。
第一部分(第1~5章)为Python和应用数学基础部分:第1章介绍Python和TensorFlow的基石Numpy;第2章介绍深度学习框架的鼻祖Theano;第3~5章介绍机器学习、深度学习算法应用数学基础,包括线性代数、概率与信息论、概率图等内容。
第二部分(第6~20章)为深度学习理论与应用部分:第6章为机器学习基础,也是深度学习基础,其中包含很多机器学习的经典理论和算法;第7章为深度学习理论及方法;第8~10章介绍TensorFlow基于CPU、GPU版本的安装及使用,TensorFlow基础,TensorFlow的一些新API,如Dataset API、Estimator API等(基于TensorFlow1.6版本);第11~15章为深度学习中神经网络方面的模型及TensorFlow实战案例;第16章介绍TensorFlow的高级封装,如Keras、Estimator、TFLearn等内容;第17~20章为TensorFlow综合实战案例,包括图像识别、自然语言处理等内容。
第三部分(第21~22章)为扩展部分:介绍强化学习、生成式对抗网络等内容。
勘误和支持
书中代码和数据的下载地址为http://www.feiguyunai.com。由于笔者水平有限,加之编写时间仓促,书中难免出现错误或不准确的地方,恳请读者批评指正。你可以通过QQ(1715408972)给我们反馈,也可以加入QQ交流群(763746291)进行交流,非常感谢你的支持和帮助。
致谢
在本书编写过程中,得到很多同事、朋友、老师和同学的支持!感谢张粤磊、张魁、刘未昕等负责后台环境的搭建和维护工作。感谢博世的王红星、上海理工管理学院的郁明敏,在百忙中挤出时间帮忙审稿;感谢上海交大慧谷的程国旗老师、东方易通的杨易老师、容大培训的童金浩老师、赣南师大的许景飞老师等对我们的支持和帮助!
感谢机械工业出版社的杨福川老师、李艺老师给予本书的大力支持和帮助。
最后,感谢我的爱人赵成娟,在繁忙的教学之余帮助审稿,提出不少改进意见或建议。

吴茂贵

上架指导

计算机/人工智能/深度学习与神经网络

封底文字

Python是目前人工智能领域普遍使用的基础性技术和工具,TensorFlow是当下主流的深度学习框架,本书基于Python和TensorFlow,从理论到实践,对深度学习做了全方位的讲解。具体包含如下核心内容:
数据科学通用工具NumPy的使用;
人工智能框架Theano的原理和使用;
与机器学习和深度学习相关的线性代数、概率论、信息论、概率图模型等应用数学的知识;
机器学习和深度学习的基础理论和方法;
TensorFlow在各种环境下的安装和配置;
TensorFlow的系统架构和使用;
TensorFlow的图像处理、神经元函数、自编码、Word2Vec实现等;
TensorFlow的卷积神经网络、循环神经网络等;
TensorFlow的Keras、Estimator、TFLearn高级封装;
TensorFlow在情感分析、图像识别、聊天机器人、人脸识别方面的实践;
深度学习在强化学习、生成式对抗网络等新兴领域的扩展。
如果把本书比作一叶小舟,那大量的图片构成它的帆,详细代码就是它的桨,而循序渐进的描述方式犹如其船头,所有驾驭着这叶小舟的读者,将会更快抵达人工智能的彼岸。

作者简介

吴茂贵 王冬 李涛 杨本法 著:作者简介
吴茂贵
资深BI和大数据专家,就职于中国外汇交易中心,在BI、数据挖掘与分析、数据仓库、机器学习等领域有超过20年的工作经验,在Spark机器学习、TensorFlow深度学习领域大量的实践经验。
王冬
任职于博世(中国)投资有限公司,负责Bosch企业BI及工业4.0相关大数据和数据挖掘项目。对机器学习、人工智能有多年实践经验。
李涛
参与过多个人工智能项目,如研究开发服务机器人、无人售后店等项目。熟悉python、caffe、TensorFlow等,对深度学习、尤其对计算机视觉方面有较深理解。
杨本法
高级算法工程师,在机器学习、文本挖掘、可视化等领域有多年实践经验。熟悉Hadoop、Spark生态圈的相关技术,对Python有丰富的实战经验。

图书目录

前言
第一部分 Python及应用数学基础
第1章 NumPy常用操作 2
1.1 生成ndarray的几种方式 3
1.2 存取元素 5
1.3 矩阵操作 6
1.4 数据合并与展平 7
1.5 通用函数 9
1.6 广播机制 11
1.7 小结 12
第2章 Theano基础 13
2.1 安装 14
2.2 符号变量 15
2.3 符号计算图模型 17
2.4 函数 18
2.5 条件与循环 21
2.6 共享变量 23
2.7 小结 24
第3章 线性代数 25
3.1 标量、向量、矩阵和张量 25
3.2 矩阵和向量运算 28
3.3 特殊矩阵与向量 29
3.4 线性相关性及向量空间 31
3.5 范数 32
3.6 特征值分解 33
3.7 奇异值分解 34
3.8 迹运算 35
3.9 实例:用Python实现主成分分析 36
3.10 小结 39
第4章 概率与信息论 40
4.1 为何要学概率、信息论 40
4.2 样本空间与随机变量 41
4.3 概率分布 42
4.3.1 离散型随机变量 42
4.3.2 连续型随机变量 45
4.4 边缘概率 47
4.5 条件概率 47
4.6 条件概率的链式法则 48
4.7 独立性及条件独立性 48
4.8 期望、方差及协方差 49
4.9 贝叶斯定理 52
4.10 信息论 53
4.11 小结 56
第5章 概率图模型 57
5.1 为何要引入概率图 57
5.2 使用图描述模型结构 58
5.3 贝叶斯网络 59
5.3.1 隐马尔可夫模型简介 60
5.3.2 隐马尔可夫模型三要素 60
5.3.3 隐马尔可夫模型三个基本问题 61
5.3.4 隐马尔可夫模型简单实例 62
5.4 马尔可夫网络 64
5.4.1 马尔可夫随机场 64
5.4.2 条件随机场 65
5.4.3 实例:用Tensorflow实现条件随机场 66
5.5 小结 70
第二部分 深度学习理论与应用
第6章 机器学习基础 72
6.1 监督学习 72
6.1.1 线性模型 73
6.1.2 SVM 77
6.1.3 贝叶斯分类器 79
6.1.4 集成学习 81
6.2 无监督学习 84
6.2.1 主成分分析 84
6.2.2 k-means聚类 84
6.3 梯度下降与优化 85
6.3.1 梯度下降简介 86
6.3.2 梯度下降与数据集大小 87
6.3.3 传统梯度优化的不足 89
6.3.4 动量算法 90
6.3.5 自适应算法 92
6.3.6 有约束最优化 95
6.4 前馈神经网络 96
6.4.1 神经元结构 97
6.4.2 感知机的局限 98
6.4.3 多层神经网络 99
6.4.4 实例:用TensorFlow实现XOR 101
6.4.5 反向传播算法 103
6.5 实例:用Keras构建深度学习架构 109
6.6 小结 109
第7章 深度学习挑战与策略 110
7.1 正则化 110
7.1.1 正则化参数 111
7.1.2 增加数据量 115
7.1.3 梯度裁剪 116
7.1.4 提前终止 116
7.1.5 共享参数 117
7.1.6 Dropout 117
7.2 预处理 119
7.2.1 初始化 120
7.2.2 归一化 120
7.3 批量化 121
7.3.1 随机梯度下降法 121
7.3.2 批标准化 122
7.4 并行化 124
7.4.1 TensorFlow利用GPU加速 124
7.4.2 深度学习并行模式 125
7.5 选择合适的激活函数 127
7.6 选择合适代价函数 128
7.7 选择合适的优化算法 129
7.8 小结 130
第8章 安装TensorFlow 131
8.1 TensorFlow CPU版的安装 131
8.2 TensorFlow GPU版的安装 132
8.3 配置Jupyter Notebook 136
8.4 实例:CPU与GPU性能比较 137
8.5 实例:单GPU与多GPU性能比较 138
8.6 小结 140
第9章 TensorFlow基础 141
9.1 TensorFlow系统架构 141
9.2 数据流图 143
9.3 TensorFlow基本概念 144
9.3.1 张量 144
9.3.2 算子 145
9.3.3 计算图 146
9.3.4 会话 146
9.3.5 常量 148
9.3.6 变量 149
9.3.7 占位符 153
9.3.8 实例:比较constant、variable和placeholder 154
9.4 TensorFlow实现数据流图 156
9.5 可视化数据流图 156
9.6 TensorFlow分布式 158
9.7 小结 160
第10章 TensorFlow图像处理 162
10.1 加载图像 162
10.2 图像格式 163
10.3 把图像转换为TFRecord文件 164
10.4 读取TFRecord文件 165
10.5 图像处理实例 166
10.6 全新的数据读取方式—Dataset API 170
10.6.1 Dataset API 架构 170
10.6.2 构建Dataset 171
10.6.3 创建迭代器 174
10.6.4 从迭代器中获取数据 174
10.6.5 读入输入数据 175
10.6.6 预处理数据 175
10.6.7 批处理数据集元素 176
10.6.8 使用高级API 176
10.7 小结 177
第11章 TensorFlow神经元函数 178
11.1 激活函数 178
11.1.1 sigmoid函数 179
11.1.2 tanh函数 179
11.1.3 relu函数 180
11.1.4 softplus函数 181
11.1.5 dropout函数 181
11.2 代价函数 181
11.2.1 sigmoid_cross_entropy_with_logits函数 182
11.2.2 softmax_cross_entropy_with_logits函数 183
11.2.3 sparse_softmax_cross_entropy_with_logits函数 184
11.2.4 weighted_cross_entropy_with_logits函数 184
11.3 小结 185
第12章 TensorFlow自编码器 186
12.1 自编码简介 186
12.2 降噪自编码 188
12.3 实例:TensorFlow实现自编码 188
12.4 实例:用自编码预测信用卡欺诈 191
12.5 小结 197
第13章 TensorFlow实现Word2Vec 198
13.1 词向量及其表达 198
13.2 Word2Vec原理 199
13.2.1 CBOW模型 200
13.2.2 Skim-gram模型 200
13.3 实例:TensorFlow实现Word2Vec 201
13.4 小结 206
第14章 TensorFlow卷积神经网络 207
14.1 卷积神经网络简介 207
14.2 卷积层 208
14.2.1 卷积核 209
14.2.2 步幅 211
14.2.3 填充 212
14.2.4 多通道上的卷积 213
14.2.5 激活函数 214
14.2.6 卷积函数 215
14.3 池化层 216
14.4 归一化层 217
14.5 TensorFlow实现简单卷积神经网络 218
14.6 TensorFlow实现进阶卷积神经网络 219
14.7 几种经典卷积神经网络 223
14.8 小结 224
第15章 TensorFlow循环神经网络 226
15.1 循环神经网络简介 226
15.2 前向传播与随时间反向传播 228
15.3 梯度消失或爆炸 231
15.4 LSTM算法 232
15.5 RNN其他变种 235
15.6 RNN应用场景 236
15.7 实例:用LSTM实现分类 237
15.8 小结 241
第16章 TensorFlow高层封装 242
16.1 TensorFlow高层封装简介 242
16.2 Estimator简介 243
16.3 实例:使用Estimator预定义模型 245
16.4 实例:使用Estimator自定义模型 247
16.5 Keras简介 252
16.6 实例:Keras实现序列式模型 253
16.7 TFLearn简介 255
16.7.1 利用TFLearn解决线性回归问题 256
16.7.2 利用TFLearn进行深度学习 256
16.8 小结 257
第17章 情感分析 258
17.1 深度学习与自然语言处理 258
17.2 词向量简介 259
17.3 循环神经网络 260
17.4 迁移学习简介 261
17.5 实例:TensorFlow实现情感分析 262
17.5.1 导入数据 262
17.5.2 定义辅助函数 267
17.5.3 构建RNN模型 267
17.5.4 调优超参数 269
17.5.5 训练模型 270
17.6 小结 272
第18章 利用TensorFlow预测乳腺癌 273
18.1 数据说明 273
18.2 数据预处理 274
18.3 探索数据 276
18.4 构建神经网络 279
18.5 训练并评估模型 281
18.6 小结 283
第19章 聊天机器人 284
19.1 聊天机器人原理 284
19.2 带注意力的框架 286
19.3 用TensorFlow实现聊天机器人 289
19.3.1 接口参数说明 290
19.3.2 训练模型 293
19.4 小结 302
第20章 人脸识别 303
20.1 人脸识别简介 303
20.2 项目概况 306
20.3 实施步骤 307
20.3.1 数据准备 307
20.3.2 预处理数据 307
20.3.3 训练模型 309
20.3.4 测试模型 313
20.4 小结 316
第三部分 扩展篇
第21章 强化学习基础 318
21.1 强化学习简介 318
21.2 强化学习常用算法 320
21.2.1 Q-Learning算法 320
21.2.2 Sarsa算法 322
21.2.3 DQN算法 322
21.3 小结 324
第22章 生成式对抗网络 325
22.1 GAN简介 325
22.2 GAN的改进版本 327
22.3 小结 329

教学资源推荐
作者: [美] 罗伯特·塞奇威克(Robert Sedgewick), 凯文·韦恩(Kevin Wayne), 罗伯特·唐德罗(Robert Dondero)著
作者: [美]詹姆斯·高斯林(James Gosling), 比尔·乔伊(Bill Joy), 盖·斯蒂尔(Guy Steele),吉拉德·布拉查(Gilad Bracha), 亚历克斯·巴克利(Alex Buckley) 著
作者: [美] 克里斯多夫 W. 弗雷泽(Christopher W. Fraser)戴维 R. 汉森(David R. Hanson) 著
参考读物推荐
作者: 吴津津 田睿 李云 刘昊 著
作者: (美) Emad Benjamin 著
作者: 王慧 王浩 等编著