本书系统的讲解了深度的基本知识,以及使用机器学习解决实际问题,详细的介绍了如何构建及优化模型,并针对不同的问题给出了不同的解决方案,通过不同的例子展示了具体的项目中的应用和实践经验,是一本非常好的深度学习的入门和实践的书籍。本书以实践为导向,使用 Keras作为编程框架,强调简单,快速的上手建立模型,解决实际项目问题。读者可以根据本书的理解,迅速上手实践深度学习,并利用深度学习解决实际的问题。本书非常适合于项目经理,有意从事机器学习开发的程序员,以及高校在读相关专业的学生。
		
	
魏贞原,IBM 高级项目经理,主要负责银行客户的复杂系统开发。同时是 IBM CIC量子计算 COE 团队的 Python 领域专家(Subject Matter Expert),负责量子计算应用的探索工作,对机器学习和深度学习有深入的研究,精通于运用机器学习来解决数据科学的问题。并运营“知之Python”公众号,定期分享 Python 在机器学习和深度学习中的实践知识。
第一部分  初识
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