Python神经网络编程 封面

Python神经网络编程

评分 4.7
章节数
40
丛书
深度学习系列
ISBN
9787115474810

标签

内容简介

本书是英国作者塔里克·拉希德所著的神经网络入门读物,中文版由林赐翻译,人民邮电出版社出版,隶属“深度学习系列”。全书从最简单的思路出发,一步步讲清神经网络为什么能工作,而不是一上来就堆公式。 第1章“神经网络如何工作”从一台简单的预测机讲起,用分类器、多节点权重、误差反向传播等概念,把梯度下降和权重更新的数学过程拆成可推演的小步骤,并引入矩阵乘法让读者理解一个三层神经网络如何在内部传递和回传信号。 第2章“使用Python进行DIY”转入动手实践:先介绍Python与IPython的基本用法,再用Python亲手搭建一个神经网络,并在经典的手写数字数据集MNIST上训练与测试,检验识别效果。 第3章“趣味盎然”把已经训练好的网络放到黑箱之外观察:用自己写的数字做实验、查看网络内部的状态、通过旋转图像扩充训练数据,并在结语中讨论进一步提升性能的思路。附录A补充微积分基础,附录B演示如何在树莓派上安装IPython并训练、测试神经网络。 全书篇幅精炼、图文并茂,重在建立直觉与动手能力,而非罗列深度学习框架的用法,适合作为理解神经网络原理的第一本书。

编辑推荐

市面上的深度学习书常常分两种:一种是框架 API 手册,照抄代码能跑,但不知其所以然;另一种是算法教材,符号推导严密,却让零基础读者望而却步。《Python神经网络编程》难得地走了第三条路——用最朴素的语言把“神经网络为什么能学习”这件事讲透。 它的可贵之处在于节奏。作者不急着甩出 TensorFlow 或 PyTorch,而是从一台“预测机”开始,先让人明白误差如何量、权重如何调,再把同样的逻辑搬到多个神经元、多个输出上,最后用矩阵乘法收拾成一份干净的实现。等你读到时,梯度下降已经不是什么神秘黑箱,而是自己一步步推出来的结论。 全书不到两百页,全彩印刷,图表密集,每一张示意图都在帮你少想一步多余的东西。第2章的 Python 实现短小到可以直接敲进编辑器,配合 MNIST 手写数字识别,第一次跑出识别率时的成就感相当真实;第3章让读者窥视训练好的网络内部、看看旋转图像能带来什么,属于“带着玩”的章节。 勘误提醒:书中示例基于早期 Python 与 IPython 环境,术语和库版本与今天有差异,读者自行调整即可,不影响主干脉络。若你希望绕开框架黑箱,亲手摸一遍反向传播的每一颗螺丝,这仍是一本很值得放在手边的书。

适合谁读

适合

  • 想从零理解神经网络原理、但数学基础一般的学习者
  • 会一点 Python,希望亲手实现而不只是调用框架的开发者
  • 在校学生、转行人员,需要一本薄而完整的入门读物
  • 教师与培训者,可作为神经网络原理课的辅助教材

不适合

  • 已经熟悉反向传播推导与实现、想深入 CNN/RNN 的进阶读者
  • 希望学习 PyTorch、TensorFlow 等主流框架工程实践的读者
  • 需要大规模工业级训练、调参与部署方案的从业者

阅读建议

  1. 按章节顺序读,第1章的每一步推演最好用纸笔跟着算一遍,别跳过矩阵乘法那几节。
  2. 第2章务必动手敲代码,先跑通 MNIST,再回头对照第1章理解每一行代码的作用。
  3. 书中环境较旧,遇到 IPython、Python 版本差异时可改用 Jupyter Notebook 与当前版本 Python 复现。
  4. 读完后可自行修改隐藏层节点数、学习率等超参数观察识别率变化,把书里的“试验”变成自己的实验。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1章 神经网络如何工作
  2. 1.1 尺有所短,寸有所长
  3. 1.2 一台简单的预测机
  4. 1.3 分类器与预测器并无太大差别
  5. 1.4 训练简单的分类器
  6. 1.5 有时候一个分类器不足以求解问题
  7. 1.6 神经元——大自然的计算机器
  8. 1.7 在神经网络中追踪信号
  9. 1.8 凭心而论,矩阵乘法大有用途
  10. 1.9 使用矩阵乘法的三层神经网络示例
  11. 1.10 学习来自多个节点的权重
  12. 1.11 多个输出节点反向传播误差
  13. 1.12 反向传播误差到更多层中
  14. 1.13 使用矩阵乘法进行反向传播误差
  15. 1.14 我们实际上如何更新权重
  16. 1.15 权重更新成功范例
  17. 1.16 准备数据
  18. 第2章 使用Python进行DIY
  19. 2.1 Python
  20. 2.2 交互式Python = IPython
  21. 2.3 优雅地开始使用Python
  22. 2.4 使用Python制作神经网络
  23. 2.5 手写数字的数据集MNIST
  24. 第3章 趣味盎然
  25. 3.1 自己的手写数字
  26. 3.2 神经网络大脑内部
  27. 3.3 创建新的训练数据:旋转图像
  28. 3.4 结语
  29. 附录A 微积分简介
  30. A.1 一条平直的线
  31. A.2 一条斜线
  32. A.3 一条曲线
  33. A.4 手绘微积分
  34. A.5 非手绘微积分
  35. A.6 无需绘制图表的微积分
  36. A.7 模式
  37. A.8 函数的函数
  38. 附录B 使用树莓派来工作
  39. B.1 安装IPython
  40. B.2 确保各项工作正常进行

常见问题

这本书需要什么数学基础?
书中只用到了初等代数和一点微积分思想,附录A专门从直线、曲线讲到函数的函数,为零基础读者补课。矩阵乘法在第1章有直观讲解,不需要线性代数先修。
需要先学会 Python 吗?
最好有基本的 Python 语法基础,但要求不高。第2章会介绍 Python 与 IPython 的用法,并用很少的代码完成实现,边读边补语法完全可行。
书中的代码用的是什么框架?
不使用任何深度学习框架,而是用纯 Python 从零手写一个三层神经网络,在 MNIST 手写数字数据集上训练测试,这正是它讲原理的价值所在。
这本书和主流深度学习书有什么区别?
它不追求覆盖面,而是聚焦经典前馈网络与反向传播的原理和最小实现,篇幅短、图示多。适合打底,之后可再读偏框架与 CNN/RNN 的教材。
书里环境较旧,还能照着做吗?
代码逻辑不受影响,主要差异在 IPython 与 Python 版本。建议改用 Jupyter Notebook 和当前 Python 版本,按书中逻辑重写少量代码即可复现。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分