搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深度学习:基于Keras的Python实践
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121341472
  • 作      者:
    魏贞原著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018
收藏
编辑推荐

本书将介绍一种与传统方式不同的学习深度学习的方式;

主要介绍Keras在Python中生成并评估深度学习的模型 ;

本书具有端到端的例子,适合实践,能够快速上手,代码复现容易。

展开
作者简介

魏贞原,IBM 高级项目经理,数据分析团队Leader,主要负责银行客户的复杂系统开发。同时是IBMCIC量子计算COE团队的Python 领域专家(Subject Matter Expert),负责量子计算应用的探索工作,对机器学习和深度学习有深入的研究,精通于运用机器学习来解决数据科学的问题。并运营“知之Python”公众号,定期分享 Python 在机器学习和深度学习的实践知识。

展开
内容介绍

《深度学习:基于Keras的Python实践》本书系统讲解了深度学习的基本知识,以及使用深度学习解决实际问题,详细介绍了如何构建及优化模型,并针对不同的问题给出不同的解决方案,通过不同的例子展示了在具体项目中的应用和实践经验,是一本非常好的深度学习的入门和实践书籍。


《深度学习:基于Keras的Python实践》以实践为导向,使用Keras 作为编程框架,强调简单、快速地上手建立模型,解决实际项目问题。读者可以通过学习本书,迅速上手实践深度学习,并利用深度学习解决实际问题。


《深度学习:基于Keras的Python实践》非常适合于项目经理,有意从事机器学习开发的程序员,以及高校在读相关专业的学生。

展开
精彩书评

深度学习是目前很热的领域之一。迅速上手想必是每个想跨入深度学习开发行列的人关心的问题。本书面向对深度学习算法有一定了解的人群,全面讲解了如何利用 Python 建立、评估并且改善模型。本书中有别于传统书籍的编排方式,循序渐进,对所有知识点均提供了大量的实例,中间穿插了简洁的理论知识介绍,娓娓道来,让读者在实践中迅速上手,达到事半功倍的效果,是掌握 Deep Learning 的必读之作。


—— 张亮,副合伙人,IBM 客户创新中心银行事业部负责人


 

Watson 是 IBM 在认知计算系统领域内的杰出代表,IBM 在机器学习、深度学习等领域有丰富的理论和实践。本书作者结合 IBM 的先进实践和中国国内热度较高的开源产品,一步一步浅显易懂地讲解如何学习和掌握 Google 的 TensorFlow、微软的 CNTK 和著名 Python 类库 Keras。本书介绍了如何使用阿里云的 GPU 云服务来加速大型深度学习模型的训练,为了让读者可以边读边练,作者把源代码放到了 GitHub 上,方便查阅。详细地介绍了卷积神经网络(CNN)和循环神经网络(RNN)等理论,并通过手写数字识别、图像识别、情感分析、时间序列预测、影评序列分类、多变量时间序列预测等深度学习热点应用方向,对理论知识进行了详细的介绍和实践应用说明。

本书条理清晰,理论和实践相结合,非常值得阅读。


—— 王德会,IBM 副合伙人,IBM 客户创新中心对日保险事业部负责人

展开
精彩书摘

  激活函数是加权输入与神经元输出的简单映射。它被称为激活函数,是因为它控制神经元激活的阈值和输出信号的强度。历史上最简单的激活函数是临界值判定,如输入总和高于阈值(如0.5),则神经元将输出值1.0,否则将输出值0.0。


  激活函数通常有以下一些性质。


  非线性:当激活函数是非线性的时候,一个两层的神经网络就可以基本逼近所有的函数了。但是,如果激活函数是恒等激活函数时(f(x)=x),就不满足这个特性,假如多层感知器使用的是恒等激活函数,那么整个网络和单层神经网络是等价的。


  可微性:当优化方法是基于梯度优化时,这个性质是必需的。


  单调性:当激活函数是单调函数时,单层网络能够保证是凸函数。


  f(x)≈x:当激活函数满足这个性质时,如果参数的初始化为很小的随机值,那么神经网络的训练将会很高效;如果不满足这个性质,那么就需要很用心地去设置初始值。


  输出值的范围:当激活函数的输出值的范围有限的时候,基于梯度的优化方法会更加稳定,因为特征的表示受有限权值的影响更显著;当激活函数的输出值的范围无限的时候,模型的训练会更加高效,不过在这种情况下,一般需要更小的学习率。


  既然激活函数具有这些特征,那么如何选择激活函数呢?传统上使用非线性激活函数。这允许网络以更复杂的方式组合输入,从而可以构建功能更丰富的模型。使用类似逻辑函数的非线性函数也称为sigmoid函数,它以s形分布输出0和1之间的值。双曲正切函数也称为tanh,它在-1到+1范围内输出相同的分布。最近,线性整流函数(ReLU)已被证明可以提供更好的结果,相比于sigmoid函数和tanh函数,ReLU只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。当然,ReLU也有缺点,就是训练的时候很“脆弱”,并且很容易失去作用。举个例子,一个非常大的梯度流过一个ReLU神经元,更新参数之后,这个神经元再也不会对任何数据有激活现象。如果这个情况发生了,那么这个神经元的梯度就永远都是0。
  ……

展开
目录

第一部分  初识


1  初识深度学习/2

1.1  Python的深度学习/2

1.2  软件环境和基本要求/3

1.2.1  Python和SciPy/3

1.2.2  机器学习/3

1.2.3  深度学习/4

1.3  阅读本书的收获/4

1.4  本书说明/4

1.5  本书中的代码/5


2  深度学习生态圈/6

2.1  CNTK/6

2.1.1  安装CNTK/7

2.1.2  CNTK的简单例子/8

2.2  TensorFlow/8

2.2.1  TensorFlow介绍/8

2.2.2  安装TensorFlow/9

2.2.3  TensorFlow的简单例子/9

2.3  Keras/10

2.3.1  Keras简介/11

2.3.2  Keras安装/11

2.3.3  配置Keras的后端/11

2.3.4  使用Keras构建深度学习模型/12

2.4  云端GPUs计算/13


第二部分  多层感知器


3  第一个多层感知器实例:印第安人糖尿病诊断/16

3.1  概述/16

3.2  Pima Indians数据集/17

3.3  导入数据/18

3.4  定义模型/19

3.5  编译模型/20

3.6  训练模型/21

3.7  评估模型/21

3.8  汇总代码/22


4  多层感知器速成/24

4.1  多层感知器/24

4.2  神经元/25

4.2.1  神经元权重/25

4.2.2  激活函数/26

4.3  神经网络/27

4.3.1  输入层(可视层)/28

4.3.2  隐藏层/28

4.3.3  输出层/28

4.4  训练神经网络/29

4.4.1  准备数据/29

4.4.2  随机梯度下降算法/30

4.4.3  权重更新/30

4.4.4  预测新数据/31


5  评估深度学习模型/33

5.1  深度学习模型和评估/33

5.2  自动评估/34

5.3  手动评估/36

5.3.1  手动分离数据集并评估/36

5.3.2  k折交叉验证/37


6  在Keras中使用Scikit-Learn/40

6.1  使用交叉验证评估模型/41

6.2  深度学习模型调参/42


7  多分类实例:鸢尾花分类/49

7.1  问题分析/49

7.2  导入数据/50

7.3  定义神经网络模型/50

7.4  评估模型/52

7.5  汇总代码/52


8  回归问题实例:波士顿房价预测/54

8.1  问题描述/54

8.2  构建基准模型/55

8.3  数据预处理/57

8.4  调参隐藏层和神经元/58


9  二分类实例:银行营销分类/61

9.1  问题描述/61

9.2  数据导入与预处理/62

9.3  构建基准模型/64

9.4  数据格式化/66

9.5  调参网络拓扑图/66


10  多层感知器进阶/68

10.1  JSON序列化模型/68

10.2  YAML序列化模型/74

10.3  模型增量更新/78

10.4  神经网络的检查点/81

10.4.1  检查点跟踪神经网络模型/82

10.4.2  自动保存最优模型/84

10.4.3  从检查点导入模型/86

10.5  模型训练过程可视化/87


11  Dropout与学习率衰减92

11.1  神经网络中的Dropout/92

11.2  在Keras中使用Dropout/93

11.2.1  输入层使用Dropout/94

11.2.2  在隐藏层使用Dropout/95

11.2.3  Dropout的使用技巧/97

11.3  学习率衰减/97

11.3.1  学习率线性衰减/98

11.3.2  学习率指数衰减/100

11.3.3  学习率衰减的使用技巧/103


第三部分  卷积神经网络


12  卷积神经网络速成/106

12.1  卷积层/108

12.1.1  滤波器/108

12.1.2  特征图/109

12.2  池化层/109

12.3  全连接层/109

12.4  卷积神经网络案例/110


13  手写数字识别/112

13.1  问题描述/112

13.2  导入数据/113

13.3  多层感知器模型/114

13.4  简单卷积神经网络/117

13.5  复杂卷积神经网络/120


14  Keras中的图像增强/124

14.1  Keras中的图像增强API/124

14.2  增强前的图像/125

14.3  特征标准化/126

14.4  ZCA白化/128

14.5  随机旋转、移动、剪切和反转图像/129

14.6  保存增强后的图像/132


15  图像识别实例:CIFAR-10分类/134

15.1  问题描述/134

15.2  导入数据/135

15.3  简单卷积神经网络/136

15.4  大型卷积神经网络/140

15.5  改进模型/145


16  情感分析实例:IMDB影评情感分析/152

16.1  问题描述/152

16.2  导入数据/153

16.3  词嵌入/154

16.4  多层感知器模型/155

16.5  卷积神经网络/157


第四部分  循环神经网络


17  循环神经网络速成/162

17.1  处理序列问题的神经网络/163

17.2  循环神经网络/164

17.3  长短期记忆网络/165


18  多层感知器的时间序列预测:国际旅行人数预测/167

18.1  问题描述/167

18.2  导入数据/168

18.3  多层感知器/169

18.4  使用窗口方法的多层感知器/172


19  LSTM时间序列问题预测:国际旅行人数预测177

19.1  LSTM处理回归问题/177

19.2  使用窗口方法的LSTM回归/181

19.3  使用时间步长的LSTM回归/185

19.4  LSTM的批次间记忆/188

19.5  堆叠LSTM的批次间记忆/192


20  序列分类:IMDB影评分类/197

20.1  问题描述/197

20.2  简单LSTM/197

20.3  使用Dropout改进过拟合/199

20.4  混合使用LSTM和CNN/201


21  多变量时间序列预测:PM2.5预报/203

21.1  问题描述/203

21.2  数据导入与准备/204

21.3  构建数据集/206

21.4  简单LSTM/207


22  文本生成实例:爱丽丝梦游仙境/211

22.1  问题描述/211

22.2  导入数据/212

22.3  分词与向量化/212

22.4  词云/213

22.5  简单LSTM/215

22.6  生成文本/219


附录A  深度学习的基本概念/223

A.1  神经网络基础/223

A.2  卷积神经网络/227

A.3  循环神经网络/229

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证