当前位置:
首页 > 互联网+ > 人工智能 > TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

书名:TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

推荐语:

作者:(美)尼克·麦克卢尔(NickMcClure),李飞译

出版社:机械工业出版社

出版时间:2019-07-01

书籍编号:30506756

ISBN:9787111631262

正文语种:中文

字数:156865

版次:1

所属分类:互联网+-人工智能

全书内容:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载









译者序


经过了几年的发展,TensorFlow已经成为最受欢迎的开源机器学习框架之一,活跃的社区也加速了它的普及程度。它快速、灵活并能够大规模部署于工业生产环境,让每个开发者和研究者都能够方便地使用人工智能来解决多种多样的问题;并且它由谷歌开发、维护,有力地保障了其持续性支持与开发。


原著第1版颇受欢迎,第2版在第1版的基础之上做了一些微调,并在第10章与第11章增加了部分内容,进一步完善了本书的体系。第1版翻译水平颇高,为第2版的翻译打下了良好的基础。


本书第1章和第2章介绍了关于TensorFlow使用的基础知识,后续章节则针对一些典型算法和典型应用场景进行了实现,并配有较详细的程序说明,可读性非常强。读者如果能对其中代码进行复现,则必定会对TensorFlow的使用了如指掌。


本书翻译工作由海军航空大学和鲁东大学的机器学习研究者共同完成。其中第1~5章由刘凯博士完成,第6章由赵秀丽副教授完成,第7章由卢建华教授完成,第8~11章由李飞博士完成,鲁东大学的李静老师对全书进行了翻译风格上的统一和纠错。特别感谢刘锦涛博士对本书翻译工作的关心与支持,感谢第1版译者曾益强老师打下的基础。


由于译者水平有限,错误和不妥之处在所难免,衷心希望各位读者批评指正。


2019年3月


译者

审校者简介


Sujit Pal是Elsevier实验室的技术研究专家,致力于语义搜索、自然语言处理、机器学习和深度学习。在Elsevier,他参与了多项创新性研究工作,包括搜索质量度量与改进、图像分类、重复检测,以及医学和科技语料库的标注和本体开发。他与Antonio Gulli合著过深度学习的著作并长期在他的博客Salmon Run上分享技术;同时他也是《Reinforcement Learning in Python》的审校者。

前言


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),还介绍了Tensorboard的各种用法和如何查看计算图指标。


阅读本书前的准备


书中的章节都会使用TensorFlow,其官网为https://www.tensorflow.org/,它是基于Python 3(https://www.python.org/downloads/)编写的。大部分章节需要访问从网络中下载的数据集。


本书的目标读者


本书主要是为了帮助那些想要同时了解TensorFlow和主流机器学习算法应用策略的业余爱好者。程序员和机器学习发烧友。阅读本书,首先要有基本的数学知识和Python编程技巧。本书的主要目的在于介绍TensorFlow和提供基于TensorFlow的各种机器学习算法优秀案例,不涉及数学、机器学习以及Python编程的具体问题。更为恰当的描述是,本书是对这三个方面的宏观介绍。鉴于这一原因,读者可能会觉得本书中有的内容过于简单,有的过于烦琐。如果读者具有坚实的机器学习基础,通常会觉得书中的TensorFlow代码对自己帮助较大;如果读者善于编写Python程序,那么可能会对书中的代码注释感兴趣。如果读者想要深入研究某些特定领域,可以从许多章节末尾的“延伸学习”部分所提供的参考文献和资源中了解更多信息。


模块说明


在本书中,你会频繁看到开始、动手做、工作原理、延伸学习和参考这几个模块。


为了系统地学习相关技术,下面简单解释一下:


·开始


该节告诉读者该技术的内容,描述如何准备软件或者前期的准备工作。


·动手做


具体的操作步骤。


·工作原理


详细解释前一节发生了什么。


·延伸学习


附加资源,以供读者延伸学习。


·参考


提供有用的链接和有帮助的资源信息。


下载示例代码


读者可登录华章网站(www.hzbook.com)下载本书示例代码文件。

第1章 TensorFlow基础


本章将介绍TensorFlow的基本概念,帮助读者去理解TensorFlow是如何工作的,以及它如何访问数据集和其他资源。学完本章可以掌握以下知识点:


·TensorFlow如何工作


·声明变量和张量


·使用占位符和变量


·操作(计算)矩阵


·声明操作


·实现激励函数


·读取数据源


·其他资源

1.1 简介


Google的TensorFlow引擎提供了一种解决机器学习问题的高效方法。机器学习在各行各业应用广泛,特别是计算机视觉、语音识别、语言翻译和健康医疗等领域。本书将详细介绍TensorFlow操作的基本步骤以及代码。这些基础知识对理解本书后续章节非常有用。

1.2 TensorFlow如何工作


首先,TensorFlow的计算看起来并不是很复杂,因为TensorFlow的计算过程和算法开发相当容易。这章将引导读者理解TensorFlow算法的伪代码。

1.2.1 开始


截至目前,TensorFlow支持Linux、macOS和Windows操作系统。本书的代码都是在Linux操作系统上实现和运行的,不过运行在其他操作系统上也没问题。本书的代码可以在GitHub(https://github.com/nfmcclure/tensorflow_cookbook)或Packt代码库(https://github.com/PacktPublishing/TensorFlow-Machine-Learning-Cookbook-Second-Edition)获取。虽然TensorFlow是用C++编写,但是全书只介绍TensorFlow的Python使用方式。本书将使用Python 3.6+(https://www.python.org)和TensorFlow 1.10.0+(https://www.tensorflow.org)。尽管TensorFlow能在CPU上运行,但大部分算法在GPU上会运行得更快,它支持英伟达显卡(Nvidia Compute Capability v4.0+,推荐v5.1)。TensorFlow上常用的GPU是英伟达特斯拉(Nvidia Tesla)和英伟达帕斯卡(Nvidia Pascal),至少需要4GB的视频RAM。为了在GPU上运行,需要下载Nvidia Cuda Toolkit及其v5.x+(https://developer.nvidia.com/cuda-downloads)。本书还依赖Python的包:Scipy、Numpy和Scikit-Learn,这些包均包含在Anaconda中(https://www.continuum.io/downloads)。

1.2.2 动手做


这里是TensorFlow算法的一般流程,本书提炼出的纲领如下:


1.导入/生成样本数据集:所有的机器学习算法都依赖样本数据集,本书的数据集既有生成的样本数据集,也有外部公开的样本数据集。有时,生成的数据集会更容易符合预期结果,但是本书大部分都是访问外部公开的样本数据集,具体细节见1.8节。


2.转换和归一化数据:一般来讲,输入样本数据集并不符合TensorFlow期望的形状,所以需要转换数据格式以满足TensorFlow。当数据集的维度或者类型不符合所用机器学习算法的要求时,需要在使用前进行数据转换。大部分机器学习算法期待的输入样本数据是归一化的数据。TensorFlow具有内建函数来归一化数据,如下:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

3.划分样本数据集为训练样本集、测试样本集和验证样本集:一般要求机器学习算法的训练样本集和测试样本集是不同的数据集。另外,许多机器学习算法要求超参数调优,所以需要验证样本集来决定最优的超参数。


4.设置机器学习参数(超参数):机器学习经常要有一系列的常量参数。例如,迭代次数、学习率或者其他固定参数。约定俗成的习惯是一次性初始化所有的机器学习参数,从而提高程序的可读性,读者经常看到的形式如下:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

5.初始化变量和占位符:在求解最优化过程中(最小化损失函数),TensorFlow通过占位符传入数据,并调整变量(权重/偏差)。TensorFlow指定数据大小和数据类型来初始化变量和占位符。本书大部分使用float32数据类型,TensorFlow也支持float64和float16。注意,使用的数据类型字节数越多结果越精确,同时运行速度越慢。使用方式如下:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

6.定义模型结构:在获取样本数据集、初始化变量和占位符后,开始定义机器学习模型。TensorFlow通过选择操作、变量和占位符的值来构建计算图,详细讲解见2.2节。这里给出简单的线性模型y=mx+b:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

7.声明损失函数:定义完模型后,需要声明损失函数来评估输出结果。损失函数能说明预测值与实际值的差距,损失函数的种类将在第2章详细展示,这里给出n个样本的均方误差(loss=(1/n)Σ(y实际-y预测2):

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

8.初始化模型和训练模型:TensorFlow创建计算图实例,通过占位符传入数据,维护变量的状态信息。下面是初始化计算图的一种方式:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

也可以用如下的方式初始化计算图:

TensorFlow机器学习实战指南(原书第2版)pdf/doc/txt格式电子书下载

9.评估机器学习模型:一旦构建计算图,并训练机器学习模型后,需要寻找某种标准来评估机器学习模型对新样本数据集的效果。通过对训练样本集和测试样本集的评估,可以确定机器学习模型是过拟合还是欠拟合。这些将在后续章节

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示