# Book Review: Math for Deep Learning

One of my favorite learning resources for gaining an understanding for the mathematics behind deep learning is “Math for Deep Learning” by Ronald T. Kneusel from No Starch Press. If you’re interested in getting quickly up to speed with how deep learning algorithms work at a basic level, then this is the book for you. Getting through this relatively short treatment of the subject, at a modest 316 pages will advance your knowledge so you can obtain visibility for algorithms servicing popular problems domains such as computer vision, reinforcement learning, and NLP. Further, if you’re trying to understand how the latest generative AI, generative pre-training transformer (GPT), and large language models work such as ChatGPT, this book is a great first step (although there is a lot more to learn).

Chapter 1: Setting the Stage

Chapter 2: Probability

Chapter 3: More Probability

Chapter 4: Statistics

Chapter 5: Linear Algebra

Chapter 6: More Linear Algebra

Chapter 7: Differential Calculus

Chapter 8: Matrix Calculus

Chapter 9: Data Flow in Neural Networks

Chapter 10: Backpropagation

Chapters 1-4 are more remedial in nature, getting the reader up to speed with useful background information including topics like Python basics with NumPy, probability basics, and statistics with correlation and hypothesis testing. Chapters 5-8 form the basis of the book in demonstrating mathematical techniques upon which deep learning is based including vectors, matrices, and tensors, PCA, SVD, differential calculus, and matrix calculus. Chapter 9 focuses on convolutional neural networks (CNNs) that are used for computer vision problem domains. The most important chapters are Chapter 10 on backprop, and Chapter 11 on gradient descent. The reader should take extra time in studying these two chapters in detail with the mathematics and Python code.

Understanding the math is especially important. I recommend taking the time to work out the math by hand (like the partial derivatives for the loss function in backprop, and the non-linear activation functions like sigmoid, ReLU and Tanh), with guidance from the book.

The best part of the book is that after providing a detailed mathematical perspectives of the topics, the book also provides Python source code so you can try the computations yourself. You’ll find functions for carrying out gradient descent for example.

The book is well-organized and provides clear explanations of key mathematical concepts and techniques that are essential for understanding and applying deep learning algorithms. One of the strengths of the book is that it covers a broad range of topics, including linear algebra, calculus, probability theory, and optimization. This breadth of coverage makes it an ideal resource for beginners who may not have a strong foundation in all of these areas. Additionally, each topic is presented in a self-contained manner, so readers can focus on specific areas of interest without feeling overwhelmed by the material.

The book is structured in a logical progression, starting with the basics of linear algebra and moving on to more advanced topics such as matrix calculus, eigenvalues and eigenvectors, and probability theory. Throughout the book, Kneusel uses clear and concise language, as well as numerous examples and diagrams, to help readers grasp complex mathematical concepts.

One of the most valuable aspects of “Math for Deep Learning” is the author’s emphasis on practical applications of the math. Kneusel provides many examples of how the math is used in deep learning algorithms, which helps readers understand the relevance of the material. Additionally, he provides exercises at the end of each chapter to help readers solidify their understanding of the material.

While the book is aimed at beginners, it does assume some familiarity with basic calculus and linear algebra. However, Kneusel provides a helpful appendix that reviews the key concepts from these areas, so readers can quickly refresh their knowledge if necessary.

Overall, “Math for Deep Learning” is an excellent resource for anyone looking to gain a solid foundation in the mathematics underlying deep learning algorithms. The book is accessible, well-organized, and provides clear explanations and practical examples of key mathematical concepts. I highly recommend it to anyone interested in this field.

Contributed by Daniel D. Gutierrez, Editor-in-Chief and Resident Data Scientist for insideBIGDATA. In addition to being a tech journalist, Daniel also is a consultant in data scientist, author, educator and sits on a number of advisory boards for various start-up companies.