标签
内容简介
《Python神经网络编程》是英国技术作者塔里克·拉希德(Tariq Rashid)所著《Make Your Own Neural Network》的中文译本,由林赐翻译,人民邮电出版社2018年4月出版(出品方异步图书)。全书分为三章,并附两个附录。第1章从最简单的预测机和线性分类器讲起,逐步引入神经元模型、多层网络、矩阵乘法、反向传播与权重更新,用大量手绘式插图和具体数字演算把神经网络的数学原理讲透;第2章进入动手实践部分,介绍Python与IPython的基本用法,带读者从零亲手用Python搭建一个三层神经网络,并在MNIST手写数字数据集上训练与测试其性能;第3章在此基础上进一步探索,例如用自己手写的数字测试网络、观察已训练网络内部权重所呈现的形态、通过旋转图像扩充训练数据以改善效果,最后作出收束与展望。附录A以浅显方式介绍书中用到的微积分基础,附录B讲解如何在树莓派上安装IPython并运行这个神经网络。全书约200页,定位是“不要求高等数学和计算机专业背景”的入门书,只需中学数学基础即可跟着做完一个能识别手写数字的网络,适合作为理解神经网络底层运作机制的起点。
编辑推荐
市面上讲深度学习的书,大多一上来就是框架、张量、自动求导,让人只见 API 不见原理。这本书偏偏反其道而行:作者用“一台简单的预测机”这样的玩具模型起步,一步一步加节点、加层、加误差回传,最后你真的会用纯 Python(只靠 numpy 一类的少量依赖)写出一个能识别手写数字的三层神经网络。 它的难得之处有两点。一是把数学讲“可视化”了——矩阵乘法和反向传播不是甩公式,而是配着数字例子和手绘图逐格演算,读者能看清每个权重是怎么被推动的。二是门槛低——作者明确面向非专家,只需要中学数学,连微积分都在附录里临时补课;做实验甚至可以在树莓派上跑完。 作为系列早期的口碑之作,它在豆瓣上长期保持在 9 分以上。如果你学完以后仍说不清“梯度下降到底在做什么”,这本书很可能补上那块最关键的拼图。
适合谁读
适合
- 刚接触机器学习、想搞懂神经网络底层原理的初学者
- 会一点 Python、希望亲手从零实现一个神经网络的自学者
- 数学基础停留在中学水平、被公式劝退的转行者
- 想把神经网络概念讲给学生或团队听的高校师生与培训者
不适合
- 希望直接学习 PyTorch、TensorFlow 等现代框架工程实践的人
- 需要卷积网络、Transformer、大模型等前沿进阶内容的读者
- 偏好严谨数学推导与形式化证明的数学/计算机专业研究者
阅读建议
- 先把第1章的每个数值例子亲手算一遍,再看第2章的代码,理解会更牢。
- 务必动手在本地运行第2章代码,用自己的手写数字测一测,比只读不练收获大得多。
- 数学吃力的读者可先跳过附录A,遇到反向传播卡住时再回头补微积分与链式法则。
- 读完可尝试替换数据集或增加一层隐藏层,观察正确率变化,把书里的实验变成自己的实验。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 第1章 神经网络如何工作
- 1.1 尺有所短,寸有所长
- 1.2 一台简单的预测机
- 1.3 分类器与预测器并无太大差别
- 1.4 训练简单的分类器
- 1.5 有时候一个分类器不足以求解问题
- 1.6 神经元——大自然的计算机器
- 1.7 在神经网络中追踪信号
- 1.8 凭心而论,矩阵乘法大有用途
- 1.9 使用矩阵乘法的三层神经网络示例
- 1.10 学习来自多个节点的权重
- 1.11 多个输出节点反向传播误差
- 1.12 反向传播误差到更多层中
- 1.13 使用矩阵乘法进行反向传播误差
- 1.14 我们实际上如何更新权重
- 1.15 权重更新成功范例
- 1.16 准备数据
- 第2章 使用Python进行DIY
- 2.1 Python
- 2.2 交互式Python = IPython
- 2.3 优雅地开始使用Python
- 2.4 使用Python制作神经网络
- 2.5 手写数字的数据集MNIST
- 第3章 趣味盎然
- 3.1 自己的手写数字
- 3.2 神经网络大脑内部
- 3.3 创建新的训练数据:旋转图像
- 3.4 结语
- 附录A 微积分简介
- A.1 一条平直的线
- A.2 一条斜线
- A.3 一条曲线
- A.4 手绘微积分
- A.5 非手绘微积分
- A.6 无需绘制图表的微积分
- A.7 模式
- A.8 函数的函数
- 附录B 使用树莓派来工作
- B.1 安装IPython
- B.2 确保各项工作正常进行
常见问题
这本书需要什么数学基础?
作者定位为只需中学数学,读者会四则运算与基本的函数概念即可上手。书中用到的微积分知识集中在附录A中补充讲解,线性代数中的矩阵乘法也在正文里从头演示,不需要高等数学或计算机专业背景。
书里的代码是 Python 2 还是 Python 3?
原书使用 Python 3 编写,正文以 IPython 交互式环境讲解,仅依赖 numpy 等少量库,代码量不大,便于逐行读懂并复现,可在普通笔记本甚至树莓派上运行。
和《深度学习入门:基于Python的理论与实现》比有什么区别?
两者都是入门书。本书更聚焦“从零手写最基础的三层网络”,篇幅更短、数学门槛更低、讲解更像对话;后者覆盖面更广,包含卷积网络等内容,且代码实现更工程化。可以先用本书打底,再读后者扩展。
这本书讲的是哪个数据集?能识别什么?
书中使用经典的 MNIST 手写数字数据集进行训练和测试,最终实现一个小型三层神经网络对手写数字进行分类识别,并引导读者观察网络内部权重、用自己手写的数字做测试。
这本书有繁体中文版吗?
有的。繁体中文版名为《類神經網路實戰:使用 Python》,由博碩文化出版,同样译自《Make Your Own Neural Network》,简体版则由人民邮电出版社于 2018 年出版。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。