温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
深度
学习
基于
Keras
Python
实践
CMYCMMYCYCMYK深度学:基于keras的Python践fy.pdf 1 2018/5/14 14:59:05 内 容 简 介 本书系统讲解了深度学习的基本知识,以及使用深度学习解决实际问题,详细介绍了如何构建及优化模型,并针对不同的问题给出不同的解决方案,通过不同的例子展示了在具体项目中的应用和实践经验,是一本非常好的深度学习的入门和实践书籍。本书以实践为导向,使用 Keras 作为编程框架,强调简单、快速地上手建立模型,解决实际项目问题。读者可以通过学习本书,迅速上手实践深度学习,并利用深度学习解决实际问题。本书非常适合于项目经理,有意从事机器学习开发的程序员,以及高校在读相关专业的学生。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 深度学习:基于 Keras 的 Python 实践/魏贞原著.北京:电子工业出版社,2018.5 ISBN 978-7-121-34147-2.深.魏.学习系统软件工具程序设计.TP273 中国版本图书馆 CIP 数据核字(2018)第 088226 号 策划编辑:石 倩 责任编辑:牛 勇 特约编辑:赵树刚 印 刷:三河市双峰印刷装订有限公司 装 订:三河市双峰印刷装订有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:15.25 字数:268.4 千字 版 次:2018 年 5 月第 1 版 印 次:2018 年 5 月第 1 次印刷 定 价:59.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件到 。本书咨询联系方式:010-51260888-819,。序言 2017 年 12 月底的上海湿冷依旧,收到贞原 深度学习:基于 Keras 的 Python 实践的初稿,心里升起一股暖意。人工智能(AI)在 2017 年可谓家喻户晓,智能医疗、智能金融及无人驾驶变得不再遥远,而其背后的深度学习尤为功不可没,机器学习(ML)是一种实现人工智能的方法,深度学习(DL)则是一种实现机器学习的技术。国务院于 2017 年 7 月出台了新一代人工智能发展规划,首次从国家战略的角度阐述对人工智能在产业、技术应用层面的发展展望,并提出了明确的时间表和线路图,规划提到:前瞻布局新一代人工智能重大科技项目。到 2030 年,中国人工智能产业竞争力达到国际领先水平。人工智能核心产业规模超过 1 万亿元,带动相关产业规模超过 10 万亿元。作为相关领域的从业者,深感任重道远,作为国家未来的发展方向,AI 技术对于经济发展、产业转型和科技进步起着至关重要的作用,这里就不得不提“事情很多,人不够用了”,准确来讲应该是人工智能领域方面的专才不够用,据相关部门 2017 年的统计,此缺口应该在百万级以上。深度学习:基于 Keras 的 Python 实践 IV 配合国家发展战略,个别省份已经陆续将人工智能相关学习纳入中小学教育,而提到机器学习、深度学习,又不得不提 Python,希望读者可以借鉴贞原的这本书为自己在人工智能的相关职业发展上打开一扇新的大门。汤志阳(汤米)IBM 中国 副合伙人 IBM 客户创新中心 认知及数据团队负责人 轻松注册成为博文视点社区用户(),扫码直达本书页面。下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。页面入口:http:/ 前言 深度学习是目前人工智能领域中炙手可热的一种机器学习技术。所谓人工智能是指通过机器模拟人类所特有的“看,听,说,想,学”等智能的科学技术。关于人工智能的研究起源于 1956 年,在美国的达特茅斯学院,著名的计算机科学家约翰麦卡锡,及克劳德艾尔伍德香农等众多的科学家,齐聚一堂,各抒己见,共同探讨如何开发“智能机器”,在这次会议中提出了人工智能的概念,这也标志着人工智能的诞生。从人工智能的诞生,到深度学习的火热,人工智能也跌宕起伏经历了几个阶段,深度学习的发展一定会给产业和社会带来翻天覆地的变化。人工智能的首次热潮是,1957 年美国心理学家弗兰克罗森布莱特在参照人脑的神经回路的基础上构建了最原始的信息处理系统,这一系统被称为神经网络。罗森布莱特将自己开发的神经网络系统命名为“感知器”。感知器实现了初级模型的识别功能,如区分三角形和四边形,并将其分类。然而,神经网络的研究很快遇到了瓶颈,美国 AI 科学家马文李明斯基运用数学理论证明了“感知器甚至不能理解异或运算”。这一发现使神经网络的研究热潮迅速冷却。深度学习:基于 Keras 的 Python 实践 VI 20 世纪 6070 年代,研究员投身于“符号处理型 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 深度学习:基于 Keras 的 Python 实践 VIII2.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 目录 IX 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 深度学习:基于 Keras 的 Python 实践 X8.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 目录 XI 第三部分 卷积神经网络 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 深度学习:基于 Keras 的 Python 实践 XII 15.4 大型卷积神经网络.140 15.5 改进模型.145 16 情感分析实例:IMDB 影评情感分析.15