Python Neural Network Programming cover

Python Neural Network Programming

Rating 4.7
Chapters
40
Series
Deep Learning Series
ISBN
9787115474810

Tags

Summary

This book is an introductory guide to neural networks by the British author Tariq Rashid, translated into Chinese by Lin Ci and published by Posts & Telecom Press as part of the "Deep Learning Series." Rather than piling on formulas from the start, it begins with the simplest ideas and explains step by step why neural networks work. Chapter 1, "How Neural Networks Work," starts from a simple predictor and, using concepts such as classifiers, multi-node weights, and error backpropagation, breaks the mathematics of gradient descent and weight updates into small, traceable steps, then introduces matrix multiplication so readers can understand how a three-layer neural network passes and returns signals internally. Chapter 2, "DIY with Python," turns to hands-on practice: it first introduces the basics of Python and IPython, then builds a neural network by hand in Python and trains and tests it on the classic handwritten-digit dataset MNIST to check its recognition performance. Chapter 3, "Fun and Games," takes the trained network out of the black box: experimenting with your own handwritten digits, inspecting the network's internal state, expanding the training data by rotating images, and, in the closing remarks, discussing ways to further improve performance. Appendix A covers the basics of calculus, and Appendix B demonstrates how to install IPython on a Raspberry Pi and train and test a neural network. Concise and richly illustrated, the book focuses on building intuition and hands-on ability rather than cataloguing the usage of deep learning frameworks, making it a good first book for understanding the principles of neural networks.

Editor's review

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

Who it's for

A good fit for

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

Not a good fit for

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

Reading tips

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

About the publisher

Posts & Telecom Press China · Founded in 1953

Posts & Telecom Press is known for its strengths in science and technology, computing, and information and communications titles, and has extended its publishing into photography, art, software learning, and inspirational growth, giving it a fairly diverse range. Its catalog includes computing and communications works such as Refactoring and Patterns (Revised Edition) and Huawei Switch Learning Guide (Second Edition), alongside bilingual collector's editions such as The Little Prince (Chinese-English-French illustrated collector's edition), The Great Gatsby, and Three Days to See. Beijing Ten Years: 1980-1990 and Ghost Blade: WLOP Personal Illustration Collection reflect its presence in photography and art. Its authors include Antoine de Saint-Exupéry, Helen Keller, Joshua Kerievsky, Wang Da, Zhang Zhaozeng, and WLOP.

Contents

  1. Chapter 1 How Neural Networks Work
  2. 1.1 Every Man Has His Weak Side
  3. 1.2 A Simple Predictor
  4. 1.3 Classifiers and Predictors Are Not So Different
  5. 1.4 Training a Simple Classifier
  6. 1.5 Sometimes One Classifier Is Not Enough
  7. 1.6 Neurons—Nature's Computing Machines
  8. 1.7 Tracing Signals in a Neural Network
  9. 1.8 Frankly, Matrix Multiplication Is Very Useful
  10. 1.9 An Example of a Three-Layer Neural Network Using Matrix Multiplication
  11. 1.10 Learning Weights from Multiple Nodes
  12. 1.11 Backpropagating Error from Multiple Output Nodes
  13. 1.12 Backpropagating Error Through More Layers
  14. 1.13 Backpropagating Error Using Matrix Multiplication
  15. 1.14 How We Actually Update Weights
  16. 1.15 A Successful Example of Weight Updating
  17. 1.16 Preparing Data
  18. Chapter 2 DIY with Python
  19. 2.1 Python
  20. 2.2 Interactive Python = IPython
  21. 2.3 Starting with Python Gracefully
  22. 2.4 Building a Neural Network with Python
  23. 2.5 The MNIST Handwritten-Digit Dataset
  24. Chapter 3 Fun and Games
  25. 3.1 Your Own Handwritten Digits
  26. 3.2 Inside the Neural Network's Brain
  27. 3.3 Creating New Training Data: Rotating Images
  28. 3.4 Closing Remarks
  29. Appendix A A Brief Introduction to Calculus
  30. A.1 A Straight Line
  31. A.2 A Slanted Line
  32. A.3 A Curve
  33. A.4 Calculus by Hand
  34. A.5 Calculus Not by Hand
  35. A.6 Calculus Without Drawing Graphs
  36. A.7 Patterns
  37. A.8 Functions of Functions
  38. Appendix B Working with a Raspberry Pi
  39. B.1 Installing IPython
  40. B.2 Making Sure Everything Works

FAQ

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

Comments

Find this book

This site is an index: you start “Search all sources” in your browser, and the entries it lists all point to third-party sites; please judge their availability yourself.

More by the same author

Top rated in the same category