Machine learning is a very big field for both amateur and professional computer scientists. This depth can make accessing the topic, which is dynamic and fast moving, seem complicated. Thankfully Ronald T. Kneusel has stepped up with a book to not only introduce the topic but also to lay the groundwork with skills to help give the reader confidence in their deep learning skills.
In the interest of openness and fairness: No Starch Press has given me a copy of the book for free for review purposes. They do not have any say in the editorial content of this review or my site.
“The dataset is everything” Ronald T. Kneusel (Chapter 4, Practical Deep Learning).
Kneusel kicks off with an introduction to artificial intelligence and how it is split into subfields, one of which is machine learning. If your maths is a little rusty, or if maths has not been your strong point, then you may have been put off by machine learning in the past. Thankfully chapter one explains vectors and matrices in a clear and concise manner, and although Kneusel says it’s a refresher it can be used to launch learning in those areas.
With the Maths set up, we get two chapters on Python and NumPy. Even if you have experience with NumPy I highly recommend giving Chapter 3 a read if you want a look at how it handles arrays and how images in projects are handled by both NumPy (as arrays) and the PIL module (as image formats like JPEG).
Chapter 4 discusses the need for a good dataset, the scientific version of a good dataset and then gives a brilliant example of linear regression and extrapolating data from beyond the training. Also discussed are the components of a dataset and the trade-offs when acquiring data, something all programmers hit when looking at large amounts of data and limited time. The cautionary tales help empathise how important the dataset is to the whole machine learning adventure; I’ll even repeat what Kneusel says – “look at your data”.
By chapter 10 classic machine learning and neural networks have been covered. I got a little lost in the maths at time but a re-read of the text was all that was needed and I’m glad I stuck with it. Later chapters delve into Convolutional Neural Networks (CNNs) and work with the CIFAR-10 dataset built in earlier chapters – bringing together different models to show how they compare. Kneusel’s enjoyment of the subject comes across in his writing and it really helps to bring fun to something I once saw as a confusing and dry.
“If you’ve been curious about machine learning but didn’t know where to start, this is the book you’ve been waiting for.” Back cover of Practical Deep Learning.
Kneusel’s book tackles machine learning (classification) fantastically, helping anyone with an interest to learn and turning that interest into a skillset for future machine learning projects (it has so much potential!). Although the book may be classed as an introduction, I feel like it goes so much further, and that I have a lot of inspiration to not only delve more into machine learning. The book doesn’t so much end the readers adventures but begins them as it leaves multiple paths into further reading along the topics of Generative Adversarial Networks (GANs) and Recurrent Neural Networks (RNNs). I believe that I now have a much greater understanding of the maths behind machine learning and how it all comes together, not just in a vague sense but in more of a technological sense.
Practical Deep Learning was released March 2021 and Chapter 4 (Working With Data) can be read for free over at the No Starch Press website – https://nostarch.com/practical-deep-learning-python. Code for the book can be found at rknuesel9’s GitHub repository – https://github.com/rkneusel9/PracticalDeepLearningPython.