猜你喜欢
深度学习:基于Keras的Python实践

深度学习:基于Keras的Python实践

书籍作者:魏贞原 ISBN:9787121341472
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3657
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

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


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


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

作者简介

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

编辑推荐
适读人群 :本书非常适合于项目经理,有意从事机器学习开发的程序员,以及高校在读相关专业的学生。

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

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

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

前言

序言

2017年12月底的上海湿冷依旧,收到贞原《深度学习:基于Keras的Python实践》的初稿,心里升起一股暖意。人工智能(AI)在2017年可谓家喻户晓,智能医疗、智能金融及无人驾驶变得不再遥远,而其背后的深度学习尤为功不可没,机器学习(ML)是一种实现人工智能的方法,深度学习(DL)则是一种实现机器学习的技术。


国务院于2017年7月出台了《新一代人工智能发展规划》,首次从国家战略的角度阐述对人工智能在产业、技术应用层面的发展展望,并提出了明确的时间表和线路图,规划提到:


前瞻布局新一代人工智能重大科技项目。

到2030年,中国人工智能产业竞争力达到国际领先水平。

人工智能核心产业规模超过1万亿元,带动相关产业规模超过10万亿元。

作为相关领域的从业者,深感任重道远,作为国家未来的发展方向,AI技术对于经济发展、产业转型和科技进步起着至关重要的作用,这里就不得不提“事情很多,人不够用了”,准确来讲应该是人工智能领域方面的专才不够用,据相关部门2017年的统计,此缺口应该在百万级以上。


配合国家发展战略,个别省份已经陆续将人工智能相关学习纳入中小学教育,而提到机器学习、深度学习,又不得不提Python,希望读者可以借鉴贞原的这本书为自己在人工智能的相关职业发展上打开一扇新的大门。


汤志阳(汤米)

IBM中国 副合伙人

IBM客户创新中心 认知及数据团队负责人





前言


深度学习是目前人工智能领域中炙手可热的一种机器学习技术。所谓人工智能是指通过机器模拟人类所特有的“看,听,说,想,学”等智能的科学技术。关于人工智能的研究起源于1956年,在美国的达特茅斯学院,著名的计算机科学家约翰.麦卡锡,及克劳德.艾尔伍德.香农等众多的科学家,齐聚一堂,各抒己见,共同探讨如何开发“智能机器”,在这次会议中提出了人工智能的概念,这也标志着人工智能的诞生。从人工智能的诞生,到深度学习的火热,人工智能也跌宕起伏经历了几个阶段,深度学习的发展一定会给产业和社会带来翻天覆地的变化。


人工智能的首次热潮是,1957年美国心理学家弗兰克?罗森布莱特在参照人脑的神经回路的基础上构建了最原始的信息处理系统,这一系统被称为神经网络。罗森布莱特将自己开发的神经网络系统命名为“感知器”。感知器实现了初级模型的识别功能,如区分三角形和四边形,并将其分类。然而,神经网络的研究很快遇到了瓶颈,美国AI科学家马文?李?明斯基运用数学理论证明了“感知器甚至不能理解异或运算”。这一发现使神经网络的研究热潮迅速冷却。


20世纪60~70年代,研究员投身于“符号处理型AI”的研究,又称“规则库AI”。“规则库AI”是直接模拟人类智能行为的一种研究。20世纪80年代前半期,全世界范围内投入了大量的资金用于“规则库AI”的研究,所开发的系统称为专家系统。然而,因为现实生活的时间充斥着大量的例外和各种细微的差距,最终几乎没有一个专家系统能够物尽其用。从20世纪80年代末期开始,AI研发进入一段很长时间的低迷期,被称为“AI的冬天”。


在AI黯然退场的这段时间里,一种全新理念的AI研究悄然萌芽,这就是将“统计与概率推理理论”引入AI系统。在这种全新的AI理念中,不得不提贝叶斯定理,这是用来描述两种概率之间转换关系的一则定理。1990年之后,全球的Internet有了发展,大量的数据被收集,这让概率式AI的发展如虎添翼。另外,概率式AI也存在问题和局限性,首先,概率式AI不能真正地理解事物。其次,概率式AI的性能有限。


为了解决概率式AI的问题与局限,新一代的AI技术走入了人们的视野,这就是“深度神经网络”,又叫作“深度学习”,原本衰退的神经网络技术浴火重生。早期的神经网络的感知器只有两层,即信息的输入层和输出层。而现在的神经网络则是多层结构,在输入层和输出层之间还存在多层重叠的隐藏层。


目前,深度学习被广泛地应用在图像识别、自然语言处理、自动驾驶等领域,并取得了很高的成就。同时,随着物联网技术的发展,大量的数据被收集,为深度学习提供了丰富的数据,对深度学习模型的建立提供了数据基础。有了充分的数据做基础,利用深度学习技术就能演绎出更聪明的算法。在这一次AI技术的浪潮中,大量的数据为深度学习提供了材料,使深度学习得以迅速发展。对深度学习的掌握也是每一个AI开发者必需的技能。希望本书能为读者开启通往深度学习的大门。

目录

第一部分 初识


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

标签
科学
产品特色