Python and Neural Networks in Practice cover

Python and Neural Networks in Practice

Rating 3.2
Word count
194K words
Chapters
145
ISBN
9787121342387

Tags

Summary

Artificial intelligence has become a trend, and deep learning is one of its most useful tools. Although the pace of technological development is so rapid that practical technologies are updated almost weekly, the most fundamental knowledge behind them is shared. The purpose of this book is to introduce the many basic and advanced techniques of neural networks fairly comprehensively, while also explaining how to use neural networks to solve real-world tasks. The chapters cover not only classic traditional machine learning algorithms and many aspects of neural networks but also compare and innovate on them. If readers can master the knowledge described in this book, I believe that no matter how quickly specific technologies iterate, they will be able to use the foundation laid by this book to quickly understand, get started with, and improve them. This book balances theory and practice, deriving various properties from formulas and verifying them experimentally, making it quite suitable for beginners. At the same time, the framework presented in the book can be applied directly, simply, and quickly to actual tasks, making it suitable for practitioners in related fields.

Editor's review

*Python and Neural Networks in Practice* is a precisely positioned, introductory hands-on guide. The author, He Yujian, a frontline developer, does not sink into a swamp of complex theory; instead, the book is organized around the principle of “get started quickly, apply immediately.” It uses the mainstream TensorFlow and Keras frameworks, a choice that reflects the author's keen grasp of technology trends, since these two frameworks have become de facto standards in both industry and academia. In terms of structure, the most commendable aspect of the book is its progressive project system. Starting from the most basic MNIST handwritten digit recognition project and gradually extending to practical scenarios such as image classification and natural language processing, each chapter is accompanied by complete, runnable code examples. This design allows readers to understand the mechanisms of neural network layers (such as convolutional, pooling, and fully connected layers) through actual coding rather than remaining at the level of abstract concepts. Particularly noteworthy is the discussion of “model optimization and deployment” in Chapter 7. Many introductory books stop at model training, but this book devotes an entire chapter to evaluating model performance, preventing overfitting, and simple deployment with TensorFlow Serving. This “full-pipeline” perspective is relatively rare among comparable introductory books and reflects a genuine orientation toward practice. Of course, the book is not perfect. For readers who hope to understand the mathematical principles of backpropagation in depth or the latest research advances, the depth may be insufficient. But as a guide that enables beginners to build a practical neural network project within two weeks, it fulfills its mission excellently. The seemingly simple “parameter-tuning tips” and “common error troubleshooting” in the book are precisely the experience beginners most need in actual operation.

Who it's for

A good fit for

  • Programming enthusiasts with Python basics who hope to get started quickly with neural networks
  • Data analysts who need to apply neural networks to actual projects
  • University students in computer-related majors seeking supplementary practical materials
  • Software development engineers transitioning into artificial intelligence

Not a good fit for

  • Researchers hoping to study the mathematical theory and frontier algorithms of neural networks in depth
  • Senior developers who have already mastered TensorFlow/Keras and are seeking advanced techniques

Reading tips

  1. Practice each example code in chapter order, and read the theoretical explanations after running them successfully
  2. Focus on Chapter 4, “Convolutional Neural Networks,” and Chapter 6, “Recurrent Neural Networks,” which contain many industry application scenarios
  3. Consult the official TensorFlow documentation for the function interfaces mentioned in the book to deepen understanding

About the publisher

Publishing House of Electronics Industry China · Founded in 1982

The Publishing House of Electronics Industry is a comprehensive publisher distinguished by its focus on electronic information and related fields. Judging from the more than 3,000 titles in its catalogue, its publishing covers programming and design, artificial intelligence, computer science, finance and economics, photography, and social sciences, attending both to cutting-edge technology and to general readers. Representative titles include Factor Investing: Methods and Practice, x86 Assembly Language: From Real Mode to Protected Mode, The RISC-V Reader, Artificial Intelligence: Speech Recognition, Understanding and Practice, Phased Array Radar Technology, Radar Target Characteristics, and 100 Go Mistakes and How to Avoid Them, most of which centre on technical methods and engineering practice. Its authors include Shi Chuan, Li Zhong, Wang Xiaobo, David Patterson, Andrew Waterman, and Yu Zihao, among others from China and abroad. Owing to limited public information, no further publishing features are elaborated here.

Contents

  1. 版权信息
  2. 关于作者
  3. 内容简介
  4. 前言
  5. 第1章 绪论
  6. 1.1 机器学习简介
  7. 1.1.1 什么是机器学习
  8. 1.1.2 机器学习常用术语
  9. 1.2 Python简介
  10. 1.2.1 Python的优势
  11. 1.2.2 scikit-learn和TensorFlow
  12. 1.3 前期准备
  13. 1.3.1 训练、交叉验证与测试
  14. 1.3.2 简易数据预处理
  15. 1.4 本章小结
  16. 第2章 经典传统机器学习算法简介
  17. 2.1 朴素贝叶斯
  18. 2.1.1 条件独立性假设
  19. 2.1.2 贝叶斯思维
  20. 2.1.3 模型算法
  21. 2.1.4 实例演示
  22. 2.1.5* 参数估计
  23. 2.1.6* 朴素贝叶斯的改进
  24. 2.2 决策树
  25. 2.2.1 决策的方法
  26. 2.2.2 决策树的生成
  27. 2.2.3 决策树的剪枝
  28. 2.2.4 实例演示
  29. 2.2.5* 决策树的三大算法
  30. 2.2.6* 数据集的划分
  31. 2.2.7* 决策树与回归
  32. 2.3 支持向量机
  33. 2.3.1 分离超平面与几何间隔
  34. 2.3.2* 感知机与SVM的原始形式
  35. 2.3.3 梯度下降法
  36. 2.3.4* 核技巧
  37. 2.3.5 实例演示
  38. 2.4 Logistic回归
  39. 2.5 本章小结
  40. 第3章 神经网络入门
  41. 3.1 神经网络的结构
  42. 3.2 前向传导算法
  43. 3.2.1 算法概述
  44. 3.2.2 算法内涵
  45. 3.2.3 激活函数
  46. 3.2.4 损失函数
  47. 3.3* 反向传播算法
  48. 3.3.1 算法概述
  49. 3.3.2 损失函数的选择
  50. 3.4 参数的更新
  51. 3.4.1 Vanilla Update
  52. 3.4.2 Momentum Update
  53. 3.4.3 Nesterov Momentum Update
  54. 3.4.4 AdaGrad
  55. 3.4.5 RMSProp
  56. 3.4.6 Adam
  57. 3.5 TensorFlow模型的基本框架
  58. 3.5.1 TensorFlow的组成单元与基本思想
  59. 3.5.2 TensorFlow模型的基本元素
  60. 3.5.3 TensorFlow元素的整合方法
  61. 3.5.4 TensorFlow模型的save & load
  62. 3.6 朴素神经网络的实现与评估
  63. 3.7 本章小结
  64. 第4章 从传统算法走向神经网络
  65. 4.1 朴素贝叶斯的线性形式
  66. 4.2 决策树生成算法的本质
  67. 4.2.1 第1隐藏层→决策超平面
  68. 4.2.2 第2隐藏层→决策路径
  69. 4.2.3 输出层→叶节点
  70. 4.2.4 具体实现
  71. 4.3 模型转换的实际意义
  72. 4.3.1 利用Softmax来赋予概率意义
  73. 4.3.2 利用Tanh+Softmax来“软化”模型
  74. 4.3.3 通过微调来缓解“条件独立性假设”
  75. 4.3.4 通过微调来丰富超平面的选择
  76. 4.3.5 模型逆转换的可能性
  77. 4.4 模型转换的局限性
  78. 4.5 本章小结
  79. 第5章 神经网络进阶
  80. 5.1 层结构内部的额外工作
  81. 5.1.1 Dropout
  82. 5.1.2 Batch Normalization
  83. 5.1.3 具体实现
  84. 5.2 “浅”与“深”的结合
  85. 5.2.1 离散型特征的处理方式
  86. 5.2.2 Wide and Deep模型概述
  87. 5.2.3 Wide and Deep的具体实现
  88. 5.2.4 WnD的重要思想与优缺点
  89. 5.3 神经网络中的“决策树”
  90. 5.3.1 DNDF结构概述
  91. 5.3.2* DNDF的具体实现
  92. 5.3.3 DNDF的应用场景
  93. 5.3.4* DNDF的结构内涵
  94. 5.4 神经网络中的剪枝
  95. 5.4.1 Surgery算法概述
  96. 5.4.2 Surgery算法改进
  97. 5.4.3 软剪枝的具体实现
  98. 5.4.4* 软剪枝的算法内涵
  99. 5.5 AdvancedNN的结构设计
  100. 5.5.1 AdvancedNN的实现补足
  101. 5.5.2 WnD与DNDF
  102. 5.5.3 DNDF与剪枝
  103. 5.5.4 剪枝与Dropout
  104. 5.5.5 没有免费的午餐
  105. 5.6 AdvancedNN的实际性能
  106. 5.7 本章小结
  107. 第6章 半自动化机器学习框架
  108. 6.1 数据的准备
  109. 6.1.1 数据预处理的流程
  110. 6.1.2 数据准备的流程
  111. 6.2 数据的转换
  112. 6.2.1 数据的数值化
  113. 6.2.2 冗余特征的去除
  114. 6.2.3 缺失值处理
  115. 6.2.4 连续型特征的数据预处理
  116. 6.2.5 特殊类型数据的处理
  117. 6.3 AutoBase的实现补足
  118. 6.4 AutoMeta的实现
  119. 6.5 训练过程的监控
  120. 6.5.1 监控训练过程的原理
  121. 6.5.2 监控训练的实现思路
  122. 6.5.3 监控训练的具体代码
  123. 6.6 本章小结
  124. 第7章 工程化机器学习框架
  125. 7.1 输出信息的管理
  126. 7.2 多次实验的管理
  127. 7.2.1 多次实验的框架
  128. 7.2.2 多次实验的初始化
  129. 7.2.3 多次实验中的数据划分
  130. 7.2.4 多次实验中的模型评估
  131. 7.2.5 多次实验的收尾工作
  132. 7.3 参数搜索的管理
  133. 7.3.1 参数搜索的框架
  134. 7.3.2* 随机搜索与网格搜索
  135. 7.3.3 参数的选取
  136. 7.3.4 参数搜索的收尾工作
  137. 7.3.5 具体的搜索方案
  138. 7.4 DistAdvanced的性能
  139. 7.5 本章小结
  140. 附录A SVM的TensorFlow实现
  141. 附录B numba的基本应用
  142. 附录C 装饰器的基本应用
  143. 附录D 可视化
  144. 附录E 模型的评估指标
  145. 附录F 实现补足

FAQ

How much mathematics is needed to understand the book?
The book focuses on intuitive explanations. High-school-level mathematics is enough to understand most of the content, and places involving partial derivatives and matrix operations are explained step by step.
Are the code examples compatible with the latest version of TensorFlow?
The book was written based on TensorFlow 1.x, and some APIs have changed in version 2.x, but the core concepts still fully apply. It is recommended to adjust according to the official migration guide.
What distinguishes this book from other introductory neural network books?
Its greatest feature is “light theory, heavy implementation.” Every concept is accompanied by code that can be run immediately, and the project cases come from actual application scenarios rather than being purely teaching examples.

Related on WeRead

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.

About the author

何宇健 Author

He Yujian is a technical book author about whom limited public information is available. What can be confirmed is that he is the author of Python and Neural Networks in Practice, a title classified under programming and design. Based on the available information, his writing addresses programming practice and neural network applications, using Python—a widely used programming language—as the entry point to combine coding techniques with hands-on neural network work, a typical practical, project-oriented approach to technical writing. Since only one of his works is currently on record, it is not yet possible to assess the full range of his writing style or to trace his creative trajectory and thematic coverage. Readers interested in Python programming and introductory neural network practice may use this book as a reference for understanding his writing orientation. As for his educational background, professional experience, and other publications, no reliable public information is currently available for introduction, and further details should await the emergence of more material.

Top rated in the same category