书籍作者:尼克·麦克卢尔 | ISBN:9787111579489 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:2984 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书由资深数据科学家撰写,从实战角度系统讲解TensorFlow基本概念及各种应用实践。真实的应用场景和数据,丰富的代码实例,详尽的操作步骤,带你由浅入深系统掌握TensorFlow机器学习算法及其实现。
全书共11章,第1章介绍TensorFlow的基本概念;第2章介绍如何在计算图中连接算法组件,创建一个简单的分类器;第3章重点介绍如何使用TensorFlow实现各种线性回归算法;第4章介绍支持向量机(SVM)算法;第5章介绍如何使用数值度量、文本度量和归一化距离函数实现最近邻域算法;第6章讲述如何使用TensorFlow实现神经网络算法;第7章阐述TensorFlow实现的各种文本处理算法。第8章扩展神经网络算法;第9,解释在TensorFlow中如何实现递归神经网络(RNN)算法;第10章介绍TensorFlow产品级用例和tips;第11章展示TensorFlow如何实现k-means算法、遗传算法和解决常微分方程(ODE)等。
Nick McClure 资深数据科学家,目前就职于美国西雅图PayScale公司。曾经在凯撒娱乐集团工作。他在蒙大拿大学和圣本尼迪克与圣约翰大学学院的应用数学专业获得学位。他热衷于数据分析、机器学习和人工智能。Nick有时会把想法写成博客(http://fromdata.org/)或者推特(@nfmcclure)。
资深数据科学家撰写,从实战角度系统讲解TensorFlow基本概念及各种应用实践。真实的应用场景和数据,丰富的代码实例,详尽的操作步骤,为你深度实践TensorFlow提供翔实指导。
The Translator’s Words
译 者 序
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月
About the Author
作者简介
Nick McClure,资深数据科学家,目前就职于美国西雅图PayScale公司,曾经在Zillow公司和Caesar抯 Entertainment公司工作,获得蒙大拿大学和圣本尼迪克与圣约翰大学的应用数学专业学位。
他热衷于数据分析、机器学习和人工智能。Nick有时会把想法写成博客(http://fromdata.org/)或者发推特(@nfmcclure)。
感谢父母,他们总是鼓励我追求知识。也感谢朋友和同事能够给出很好的建议。本书的完成得益于开源社区的不懈努力,以及TensorFlow相关项目的良好文档说明。
这里,要特别感谢Google公司TensorFlow开发人员。他们给出了优秀的官方文档、教程和示例。
About the REVIEWERS
审校者简介
Chetan Khatri,具有5年工作经验的数据科学研究者。他现在是印度Accion Labs公司技术部门的负责人,曾就职于印度手游巨头Nazara Games公司,领导负责游戏与电信业务。
他在 KSKV Kachchh大学计算机科学和数据分析专业取得硕士学位,致力于数据科学、机器学习、AI和IoT等方面的学术和会议演讲交流。他在学术研究和工业实践两方面都有特长,所以在排除两者间的隔阂方面有不错的成就。他是Kachchh大学多门课程的合作者,比如数据分析、IoT、机器学习、AI和分布式数据库。他也是Python社区(PyKuth)的建立者之一。
目前,他正致力于智能IoT设备与机器学习、增强学习和分布式计算方面的结合。
感谢Kachchh大学计算机科学学院Devji Chhanga教授引导我走上数据分析研究的道路。
感谢Shweta Gorania教授介绍遗传算法和神经网络算法。
最后,感谢家人的支持。
PREFACE
前 言
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.3 声明张量 3
1.4 使用占位符和变量 6
1.5 操作(计算)矩阵 7
1.6 声明操作 10
1.7 实现激励函数 12
1.8 读取数据源 14
1.9 学习资料 19
第2章 TensorFlow进阶 20
2.1 本章概要 20
2.2 计算图中的操作 20
2.3 TensorFlow的嵌入Layer 21
2.4 TensorFlow的多层Layer 23
2.5 TensorFlow实现损失函数 26
2.6 TensorFlow实现反向传播 30
2.7 TensorFlow实现随机训练和批量训练 34
2.8 TensorFlow实现创建分类器 37
2.9 TensorFlow实现模型评估 40
第3章 基于TensorFlow的线性回归 45
3.1 线性回归介绍 45
3.2 用TensorFlow求逆矩阵 45
3.3 用TensorFlow实现矩阵分解 47
3.4 用TensorFlow实现线性回归算法 49
3.5 理解线性回归中的损失函数 52
3.6 用TensorFlow实现戴明回归算法 55
3.7 用TensorFlow实现lasso回归和岭回归算法 58
3.8 用TensorFlow实现弹性网络回归算法 60
3.9 用TensorFlow实现逻辑回归算法 62
第4章 基于TensorFlow的支持向量机 66
4.1 支持向量机简介 66
4.2 线性支持向量机的使用 67
4.3 弱化为线性回归 72
4.4 TensorFlow上核函数的使用 77
4.5 用TensorFlow实现非线性支持向量机 82
4.6 用TensorFlow实现多类支持向量机 85
第5章 最近邻域法 90
5.1 最近邻域法介绍 90
5.2 最近邻域法的使用 91
5.3 如何度量文本距离 95
5.4 用TensorFlow实现混合距离计算 98
5.5 用TensorFlow实现地址匹配 101
5.6 用TensorFlow实现图像识别 105
第6章 神经网络算法 109
6.1 神经网络算法基础 109
6.2 用TensorFlow实现门函数 110
6.3 使用门函数和激励函数 113
6.4 用TensorFlow实现单层神经网络 117
6.5 用TensorFlow实现神经网络常见层 120
6.6 用TensorFlow实现多层神经网络 126
6.7 线性预测模型的优化 131
6.8 用TensorFlow基于神经网络实现井字棋 136
第7章 自然语言处理 143
7.1 文本处理介绍 143
7.2 词袋的使用 144
7.3 用TensorFlow实现TF-IDF算法 149
7.4 用TensorFlow实现skip-gram模型 155
7.5 用TensorFlow实现CBOW词嵌入模型 162
7.6 使用TensorFlow的Word2Vec预测 167
7.7 用TensorFlow实现基于Doc2Vec的情感分析 172
第8章 卷积神经网络 181
8.1 卷积神经网络介绍 181
8.2 用TensorFlow实现简单的CNN 182
8.3 用TensorFlow实现进阶的CNN 188
8.4 再训练已有的CNN模型 196
8.5 用TensorFlow实现模仿大师绘画 199
8.6 用TensorFlow实现DeepDream 205
第9章 递归神经网络 211
9.1 递归神经网络介绍 211
9.2 用TensorFlow实现RNN模型进行垃圾短信预测 212
9.3 用TensorFlow实现LSTM模型 218
9.4 Stacking多个LSTM Layer 226
9.5 用TensorFlow实现Seq2Seq翻译模型 229
9.6 TensorFlow实现孪生RNN预测相似度 235
第10章 TensorFlow产品化 243
10.1 简介 243
10.2 TensorFlow的单元测试 243
10.3 TensorFlow的并发执行 247
10.4 分布式TensorFlow实践 250
10.5 TensorFlow产品化开发提示 252
10.6 TensorFlow产品化的实例 254
第11章 TensorFlow的进阶应用 257
11.1 简介 257
11.2 TensorFlow可视化:Tensorboard 257
11.3 Tensorboard的进阶 260
11.4 用TensorFlow实现遗传算法 262
11.5 TensorFlow实现k-means算法 266
11.6 用TensorFlow求解常微分方程问题 270