编辑推荐
当前,深度学习和人工智能的发展和应用给人们留下了深刻的印象。神经网络是深度学习和人工智能的关键元素,然而,真正了解神经网络工作机制的人少之又少。本书用轻松的笔触,一步一步揭示了神经网络的数学思想,并介绍如何使用Python编程语言开发神经网络。 本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个很好简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。 本书适合想要了解深度学习、人工智能和神经网络的读者阅读,尤其适合想要通过Python编程进行神经网络开发的读者参考。
内容简介
本书首先从简单的思路着手,详细介绍了理解神经网络如何工作所必须的基础知识。部分介绍基本的思路,包括神经网络底层的数学知识,第2部分是实践,介绍了学习Python编程的流行和轻松的方法,从而逐渐使用该语言构建神经网络,以能够识别人类手写的字母,特别是让其像专家所开发的网络那样地工作。第3部分是扩展,介绍如何将神经网络的性能提升到工业应用的层级,甚至让其在Raspberry Pi上工作。
作者简介
塔里克·拉希德 拥有物理学学士学位、机器学习和数据挖掘硕士学位。他常年活跃于伦敦的技术领域,领导并组织伦敦Python聚会小组(近3000名成员)。 译者简介 林赐 软件设计师、网络工程师,毕业于渥太华大学系统科学硕士专业,已翻译出版多本技术图书。
目录
- 第 1 章 神经网络如何工作001
- 1.1 尺有所短,寸有所长 001
- 1.2 一台简单的预测机 003
- 1.3 分类器与预测器并无太大差别008
- 1.4 训练简单的分类器 011
- 1.5 有时候一个分类器不足以求解问题 020
- 1.6 神经元——大自然的计算机器 024
- 1.7 在神经网络中追踪信号 033
- 1.8 凭心而论,矩阵乘法大有用途 037
- 1.9 使用矩阵乘法的三层神经网络示例 043
- 1.10 学习来自多个节点的权重 051
- 1.11 多个输出节点反向传播误差053
- 1.12 反向传播误差到更多层中 054
- 1.13 使用矩阵乘法进行反向传播误差 058
- 1.14 我们实际上如何更新权重 061
- 1.15 权重更新成功范例 077
- 1.16 准备数据 078
- 第 2 章 使用Python进行DIY 083
- 2.1 Python 083
- 2.2 交互式Python = IPython 084
- 2.3 优雅地开始使用Python 085
- 2.4 使用Python制作神经网络 105
- 2.5 手写数字的数据集MNIST 121
- 第 3 章 趣味盎然 153
- 3.1 自己的手写数字 153
- 3.2 神经网络大脑内部 156
- 3.3 创建新的训练数据:旋转图像 160
- 3.4 结语 164
- 附录A 微积分简介 165
- A.1 一条平直的线 166
- A.2 一条斜线 168
- A.3 一条曲线 170
- A.4 手绘微积分 172
- A.5 非手绘微积分 174
- A.6 无需绘制图表的微积分 177
- A.7 模式 180
- A.8 函数的函数 182
- 附录B 使用树莓派来工作 186
- B.1 安装IPython 187
- B.2 确保各项工作正常进行 193
- B.3 训练和测试神经网络 194
- B.4 树莓派成功了 195