当前: 首页 - 图书专区 - TensorFlow机器学习实战指南
TensorFlow机器学习实战指南


  在线购买
[美]尼克?麦克卢尔(Nick McClure)著
978-7-111-57948-9
69.00
286
2017年09月13日
曾益强 译
计算机 > 人工智能
Packt Publishing Ltd.
350
简体中文
16
TensorFlow Machine Learning Cookbook
店面
智能系统与技术丛书
陈佳媛







TensorFlow是一个用于机器智能的开源软件库。本书从TensorFlow的基础开始介绍,包括变量、矩阵和各种数据源。之后,针对使用TensorFlow线性回归技术的实践经验进行详细讲解。后续章节将在前文的基础上讲述神经网络、CNN、RNN和NLP等重要概念。全书将以独特的方式教授读者如何使用TensorFlow进行数学计算,使读者通过使用TensorFlow来处理训练模型、模型评估、情绪分析、回归分析、聚类分析、人工神经网络及深度学习等,并在最后一章引导读者如何将其应用于生产。
TensorFlow是开源机器学习库。本书将教你如何使用TensorFlow进行复杂数据计算,让你对数据有更深刻的理解。书中循序渐进地讲解了TensorFlow的变量、矩阵和各种数据源等基本组件,深度剖析线性回归、支持向量机、最近邻域、神经网络和自然语言处理等算法,并结合丰富的实例详细讲解情感分析、回归分析、聚类分析、神经网络和深度学习实战等应用。此外,本书还给出了TensorFlow产品级应用的最佳实践和扩展用法,可以帮助你由浅入深地掌握机器学习核心思维,构建起立体完备的机器学习概念体系。
通过阅读本书,你将:
熟悉TensorFlow机器学习库的基本组件
掌握TensorFlow的线性回归技术
学习SVM算法及其实践
实现神经网络并优化预测
应用NLP和情感分析
通过实践掌握CNN和RNN
学习TensorFlow产品化

内容简介
本书由资深数据科学家撰写,从实战角度系统讲解TensorFlow基本概念及各种应用实践。真实的应用场景和数据,丰富的代码实例,详尽的操作步骤,带你由浅入深系统掌握TensorFlow机器学习算法及其实现。
全书共11章,第1章介绍TensorFlow的基本概念;第2章介绍如何在计算图中连接算法组件,创建一个简单的分类器;第3章重点介绍如何使用TensorFlow实现各种线性回归算法;第4章介绍支持向量机(SVM)算法;第5章介绍如何使用数值度量、文本度量和归一化距离函数实现最近邻域算法;第6章讲述如何使用TensorFlow实现神经网络算法;第7章阐述TensorFlow实现的各种文本处理算法;第8章扩展神经网络算法;第9章解释在TensorFlow中如何实现递归神经网络(RNN)算法;第10章介绍TensorFlow产品级用例;第11章展示TensorFlow如何实现遗传算法、k-means算法和求解常微分方程(ODE)。


作者简介
尼克·麦克卢尔(Nick McClure) 资深数据科学家,目前就职于美国西雅图PayScale公司。曾经在凯撒娱乐集团工作。在蒙大拿大学和圣本尼迪克与圣约翰大学获得应用数学专业学位。他热衷于数据分析、机器学习和人工智能。Nick有时会把想法写成博客(http://fromdata.org/)或者发推特(@nfmcclure)。
译者简介
曾益强 互联网从业者,专注于大数据、机器学习和数学相关的内容,并运营个人公众号“神机喵算”(bigdata_ny),分享相关技术文章。
2015年11月,Google公司开源TensorFlow,随后不久TensorFlow成为GitHub上最受欢迎的机器学习库。TensorFlow创建计算图、自动求导和定制化的方式使得其能够很好地解决许多不同的机器学习问题。
本书介绍了许多机器学习算法,将其应用到真实场景和数据中,并解释产生的结果。
本书的主要内容
第1章介绍TensorFlow的基本概念,包括张量、变量和占位符;同时展示了在TensorFlow中如何使用矩阵和各种数学操作。本章末尾讲述如何访问本书所需的数据源。
第2章介绍如何在计算图中连接第1章中的所有算法组件,创建一个简单的分类器。接着,介绍计算图、损失函数、反向传播和训练模型。
第3章重点讨论使用TensorFlow实现各种线性回归算法,比如,戴明回归、lasso回归、岭回归、弹性网络回归和逻辑回归,也展示了如何在TensorFlow计算图中实现每种回归
算法。
第4章介绍支持向量机(SVM)算法,展示如何在TensorFlow中实现线性SVM算法、非线性SVM算法和多分类SVM算法。
第5章展示如何使用数值度量、文本度量和归一化距离函数实现最近邻域法。我们使用最近邻域法进行地址间的记录匹配和MNIST数据库中手写数字的分类。
第6章讲述如何使用TensorFlow实现神经网络算法,包括操作门和激励函数的概念。随后展示一个简单的神经网络并讨论如何建立不同类型的神经网络层。本章末尾通过神经网络算法教TensorFlow玩井字棋游戏。
第7章阐述借助TensorFlow实现的各种文本处理算法。我们展示如何实现文本的“词袋”和TF-IDF算法。然后介绍CBOW和skip-gram模型的神经网络文本表示方式,并对于Word2Vec和Doc2Vec用这些方法来做预测。
第8章扩展神经网络算法,说明如何借助卷积神经网络(CNN)算法在图像上应用神经网络算法。我们展示如何构建一个简单的CNN进行MNIST数字识别,并扩展到CIFAR-10任务中的彩色图片,也阐述了如何针对自定义任务扩展之前训练的图像识别模型。本章末尾详细解释TensorFlow实现的模仿大师绘画和Deep-Dream算法。
第9章解释在TensorFlow中如何实现递归神经网络(RNN)算法,展示如何进行垃圾短信预测和在莎士比亚文本样本集上扩展RNN模型生成文本。接着训练Seq2Seq模型实现德语-英语的翻译。本章末尾展示如何用孪生RNN模型进行地址记录匹配。
第10章介绍TensorFlow产品级用例和开发提示,同时介绍如何利用多处理设备(比如,GPU)和在多个设备上实现分布式TensorFlow。
第11章展示TensorFlow如何实现k-means算法、遗传算法和求解常微分方程(ODE),还介绍了Tensorboad的各种用法和如何查看计算图指标。
阅读本书前的准备
书中的章节都会使用TensorFlow,其官网为https://www.tensorflow.org/,它是基于Python 3(https://www.python.org/downloads/)编写的。大部分章节需要访问从网络中下载的数据集。
本书的目标读者
本书适用于有经验的机器学习读者和Python程序员。有机器学习背景的读者会发现TensorFlow的代码很有启发性;有Python编程经验的读者会觉得代码注释极具参考性。
模块说明
在本书中,你会频繁看到开始、动手做、工作原理、延伸学习和参考这几个模块。
为了系统地学习相关技术,下面简单解释一下:
开始
该节告诉读者该技术的内容,描述如何准备软件或者前期的准备工作。
动手做
具体的操作步骤。
工作原理
详细解释前一节发生了什么。
延伸学习
附加资源,以供读者延伸学习。
参考
提供有用的链接和有帮助的资源信息。
下载示例代码
读者可登录华章网站(www.hzbook.com)下载本书示例代码文件。
译者序
作者简介
审校者简介
前言
第1章 TensorFlow基础 1
1.1 TensorFlow介绍 1
1.2 TensorFlow如何工作 1
1.2.1 开始 1
1.2.2 动手做 2
1.2.3 工作原理 3
1.2.4 参考 3
1.3 声明张量 3
1.3.1 开始 4
1.3.2 动手做 4
1.3.3 工作原理 5
1.3.4 延伸学习 5
1.4 使用占位符和变量 6
1.4.1 开始 6
1.4.2 动手做 6
1.4.3 工作原理 6
1.4.4 延伸学习 7
1.5 操作(计算)矩阵 7
1.5.1 开始 7
1.5.2 动手做 8
1.5.3 工作原理 9
1.6 声明操作 10
1.6.1 开始 10
1.6.2 动手做 10
1.6.3 工作原理 11
1.6.4 延伸学习 12
1.7 实现激励函数 12
1.7.1 开始 12
1.7.2 动手做 12
1.7.3 工作原理 13
1.7.4 延伸学习 13
1.8 读取数据源 14
1.8.1 开始 15
1.8.2 动手做 15
1.8.3 参考 18
1.9 学习资料 19
第2章 TensorFlow进阶 20
2.1 本章概要 20
2.2 计算图中的操作 20
2.2.1 开始 20
2.2.2 动手做 21
2.2.3 工作原理 21
2.3 TensorFlow的嵌入Layer 21
2.3.1 开始 21
2.3.2 动手做 22
2.3.3 工作原理 22
2.3.4 延伸学习 22
2.4 TensorFlow的多层Layer 23
2.4.1 开始 23
2.4.2 动手做 24
2.4.3 工作原理 25
2.5 TensorFlow实现损失函数 26
2.5.1 开始 26
2.5.2 动手做 26
2.5.3 工作原理 28
2.5.4 延伸学习 29
2.6 TensorFlow实现反向传播 30
2.6.1 开始 30
2.6.2 动手做 31
2.6.3 工作原理 33
2.6.4 延伸学习 34
2.6.5 参考 34
2.7 TensorFlow实现随机训练和批量训练 34
2.7.1 开始 35
2.7.2 动手做 35
2.7.3 工作原理 36
2.7.4 延伸学习 37
2.8 TensorFlow实现创建分类器 37
2.8.1 开始 37
2.8.2 动手做 37
2.8.3 工作原理 39
2.8.4 延伸学习 40
2.8.5 参考 40
2.9 TensorFlow实现模型评估 40
2.9.1 开始 40
2.9.2 动手做 41
2.9.3 工作原理 41
第3章 基于TensorFlow的线性回归 45
3.1 线性回归介绍 45
3.2 用TensorFlow求逆矩阵 45
3.2.1 开始 45
3.2.2 动手做 46
3.2.3 工作原理 47
3.3 用TensorFlow实现矩阵分解 47
3.3.1 开始 47
3.3.2 动手做 47
3.3.3 工作原理 48
3.4 用TensorFlow实现线性回归算法 49
3.4.1 开始 49
3.4.2 动手做 49
3.4.3 工作原理 52
3.5 理解线性回归中的损失函数 52
3.5.1 开始 52
3.5.2 动手做 52
3.5.3 工作原理 53
3.5.4 延伸学习 54
3.6 用TensorFlow实现戴明回归算法 55
3.6.1 开始 55
3.6.2 动手做 56
3.6.3 工作原理 57
3.7 用TensorFlow实现lasso回归和岭回归算法 58
3.7.1 开始 58
3.7.2 动手做 58
3.7.3 工作原理 59
3.7.4 延伸学习 59
3.8 用TensorFlow实现弹性网络回归算法 60
3.8.1 开始 60
3.8.2 动手做 60
3.8.3 工作原理 61
3.9 用TensorFlow实现逻辑回归算法 62
3.9.1 开始 62
3.9.2 动手做 62
3.9.3 工作原理 65
第4章 基于TensorFlow的支持向量机 66
4.1 支持向量机简介 66
4.2 线性支持向量机的使用 67
4.2.1 开始 67
4.2.2 动手做 68
4.2.3 工作原理 72
4.3 弱化为线性回归 72
4.3.1 开始 73
4.3.2 动手做 73
4.3.3 工作原理 76
4.4 TensorFlow上核函数的使用 77
4.4.1 开始 77
4.4.2 动手做 77
4.4.3 工作原理 81
4.4.4 延伸学习 82
4.5 用TensorFlow实现非线性支持向量机 82
4.5.1 开始 82
4.5.2 动手做 82
4.5.3 工作原理 84
4.6 用TensorFlow实现多类支持向量机 85
4.6.1 开始 85
4.6.2 动手做 86
4.6.3 工作原理 89
第5章 最近邻域法 90
5.1 最近邻域法介绍 90
5.2 最近邻域法的使用 91
5.2.1 开始 91
5.2.2 动手做 91
5.2.3 工作原理 94
5.2.4 延伸学习 94
5.3 如何度量文本距离 95
5.3.1 开始 95
5.3.2 动手做 95
5.3.3 工作原理 98
5.3.4 延伸学习 98
5.4 用TensorFlow实现混合距离计算 98
5.4.1 开始 98
5.4.2 动手做 98
5.4.3 工作原理 101
5.4.4 延伸学习 101
5.5 用TensorFlow实现地址匹配 101
5.5.1 开始 101
5.5.2 动手做 102
5.5.3 工作原理 104
5.6 用TensorFlow实现图像识别 105
5.6.1 开始 105
5.6.2 动手做 105
5.6.3 工作原理 108
5.6.4 延伸学习 108
第6章 神经网络算法 109
6.1 神经网络算法基础 109
6.2 用TensorFlow实现门函数 110
6.2.1 开始 110
6.2.2 动手做 111
6.2.3 工作原理 113
6.3 使用门函数和激励函数 113
6.3.1 开始 114
6.3.2 动手做 114
6.3.3 工作原理 116
6.3.4 延伸学习 117
6.4 用TensorFlow实现单层神经网络 117
6.4.1 开始 117
6.4.2 动手做 117
6.4.3 工作原理 119
6.4.4 延伸学习 119
6.5 用TensorFlow实现神经网络常见层 120
6.5.1 开始 120
6.5.2 动手做 121
6.5.3 工作原理 126
6.6 用TensorFlow实现多层神经网络 126
6.6.1 开始 126
6.6.2 动手做 126
6.6.3 工作原理 131
6.7 线性预测模型的优化 131
6.7.1 开始 131
6.7.2 动手做 131
6.7.3 工作原理 135
6.8 用TensorFlow基于神经网络实现井字棋 136
6.8.1 开始 136
6.8.2 动手做 137
6.8.3 工作原理 142
第7章 自然语言处理 143
7.1 文本处理介绍 143
7.2 词袋的使用 144
7.2.1 开始 144
7.2.2 动手做 144
7.2.3 工作原理 149
7.2.4 延伸学习 149
7.3 用TensorFlow实现TF-IDF算法 149
7.3.1 开始 150
7.3.2 动手做 150
7.3.3 工作原理 154
7.3.4 延伸学习 154
7.4 用TensorFlow实现skip-gram模型 155
7.4.1 开始 155
7.4.2 动手做 155
7.4.3 工作原理 162
7.4.4 延伸学习 162
7.5 用TensorFlow实现CBOW词嵌入模型 162
7.5.1 开始 162
7.5.2 动手做 163
7.5.3 工作原理 167
7.5.4 延伸学习 167
7.6 使用TensorFlow的Word2Vec预测 167
7.6.1 开始 167
7.6.2 动手做 168
7.6.3 工作原理 172
7.6.4 延伸学习 172
7.7 用TensorFlow实现基于Doc2Vec的情感分析 172
7.7.1 开始 172
7.7.2 动手做 173
7.7.3 工作原理 180
第8章 卷积神经网络 181
8.1 卷积神经网络介绍 181
8.2 用TensorFlow实现简单的CNN 182
8.2.1 开始 182
8.2.2 动手做 182
8.2.3 工作原理 187
8.2.4 延伸学习 188
8.2.5 参考 188
8.3 用TensorFlow实现进阶的CNN 188
8.3.1 开始 188
8.3.2 动手做 189
8.3.3 工作原理 196
8.3.4 参考 196
8.4 再训练已有的CNN模型 196
8.4.1 开始 196
8.4.2 动手做 196
8.4.3 工作原理 199
8.4.4 参考 199
8.5 用TensorFlow实现模仿大师绘画 199
8.5.1 开始 200
8.5.2 动手做 200
8.5.3 工作原理 205
8.5.4 参考 205
8.6 用TensorFlow实现DeepDream 205
8.6.1 开始 205
8.6.2 动手做 205
8.6.3 延伸学习 210
8.6.4 参考 210
第9章 递归神经网络 211
9.1 递归神经网络介绍 211
9.2 用TensorFlow实现RNN模型进行垃圾短信预测 212
9.2.1 开始 212
9.2.2 动手做 213
9.2.3 工作原理 217
9.2.4 延伸学习 218
9.3 用TensorFlow实现LSTM模型 218
9.3.1 开始 218
9.3.2 动手做 219
9.3.3 工作原理 226
9.3.4 延伸学习 226
9.4 Stacking多个LSTM Layer 226
9.4.1 开始 226
9.4.2 动手做 227
9.4.3 工作原理 228
9.5 用TensorFlow实现Seq2Seq翻译模型 229
9.5.1 开始 229
9.5.2 动手做 229
9.5.3 工作原理 234
9.5.4 延伸学习 234
9.6 TensorFlow实现孪生RNN预测相似度 235
9.6.1 开始 235
9.6.2 动手做 236
9.6.3 延伸学习 242
第10章 TensorFlow产品化 243
10.1 简介 243
10.2 TensorFlow的单元测试 243
10.2.1 开始 243
10.2.2 工作原理 247
10.3 TensorFlow的并发执行 247
10.3.1 开始 248
10.3.2 动手做 248
10.3.3 工作原理 250
10.3.4 延伸学习 250
10.4 分布式TensorFlow实践 250
10.4.1 开始 250
10.4.2 动手做 250
10.4.3 工作原理 251
10.5 TensorFlow产品化开发提示 252
10.5.1 开始 252
10.5.2 动手做 252
10.5.3 工作原理 254
10.6 TensorFlow产品化的实例 254
10.6.1 开始 254
10.6.2 动手做 254
10.6.3 工作原理 256
第11章 TensorFlow的进阶应用 257
11.1 简介 257
11.2 TensorFlow可视化:Tensorboard 257
11.2.1 开始 257
11.2.2 动手做 258
11.3 Tensorboard的进阶 260
11.4 用TensorFlow实现遗传算法 262
11.4.1 开始 262
11.4.2 动手做 263
11.4.3 工作原理 265
11.4.4 延伸学习 266
11.5 TensorFlow实现k-means算法 266
11.5.1 开始 266
11.5.2 动手做 266
11.5.3 延伸学习 270
11.6 用TensorFlow求解常微分方程问题 270
11.6.1 开始 270
11.6.2 动手做 270
11.6.3 工作原理 271
11.6.4 参考 272
2017年3月底,华章公司的编辑邀请我翻译这本书。当时收到原书目录和样章时,大体浏览了一遍,感觉翻译难度不大。因为TensorFlow比较火,加上自身对机器学习及其算法有一定功底,前期也翻译了不少国外优秀的技术文章(可参见公众号:神机喵算),加之国内可学习的TensorFlow资料太少,所以我希望做出一些努力来帮助对TensorFlow感兴趣的读者。
Google公司开发的TensorFlow深度学习库因其简单易学、应用场景广泛已经快成为各家公司开展人工智能研究的标配了。TensorFlow采用数据流图进行数值计算。节点代表计算图中的数学操作,计算中的边表示多维数组,即张量。TensorFlow灵活的架构使其可以在多种设备(台式机、服务器或移动设备)的CPU或者GPU上进行计算。自从TensorFlow诞生以来,其开发版更新和功能优化非常快,当前已经发布到1.2.0。并且基于TensorFlow开发的深度学习库也越来越多,其中比较优秀的是Keras。Keras是基于TensorFlow或者Theano的,由Python编写的高级神经网络API,并且TensorFlow也提供支持Keras的API。
本书详细讲解了TensorFlow的方方面面,毫不夸张地说,如果读者能够坚持踏踏实实做完本书所有实战项目,则基本可以开始使用TensorFlow实际工作。最后本书还给出了TensorFlow产品级应用的最佳实践,以及扩展用法。
总之,本书适合广大对TensorFlow感兴趣的初中级读者。随着AI的兴起,会有越来越多的读者学习TensorFlow,希望本书能帮到大家。如果想进一步学习,那就要多看机器学习算法相关的书籍或者论文,并把TensorFlow的源代码研读几遍。
最后,感谢家人和朋友的帮助和支持。由于本人水平有限,加之翻译时间仓促,书中难免会出现错误。读者可通过本人公众号——神机喵算,反馈问题,发现问题后,我一定会虚心接受批评并立即改正,并实时在公众号更新勘误,避免其他读者再入“坑”。

曾益强
2017年6月
计算机/人工智能/机器学习
读者书评
发表评论



高级搜索
高效机器学习:理论、算法及实践
情感分析:挖掘观点、情感和情绪
构建实时机器学习系统


版权所有© 2017  北京华章图文信息有限公司 京ICP备08102525号 京公网安备110102004606号
通信地址:北京市百万庄南街1号 邮编:100037
电话:(010)68318309, 88378998 传真:(010)68311602, 68995260
高校教师服务
华章教育微信
诚聘英才
诚聘英才