The Book to Start You on Machine Learning
This book is thought for beginners in Machine Learning, that are looking for a practical approach to learning by building projects and studying the different Machine Learning algorithms within a specific context.
By Jaime Zornoza, Universidad Politecnica de Madrid
A question a lot of ML practitioners get asked a frequently is: “What can I do to start being able to actually build Machine Learning projects and solutions?”
There is so much information out there — both good and bad — that it can be hard to know where to begin. Also, people come from very different backgrounds, so the starting point can vary significantly. For example, for me, I entered the ML world by watching theoretical videos from Computer Science channels about neural networks, and as I got more and more interested I started reading articles, news, and blogs about the topic.
However, by doing this I only developed a vague understanding of the most superficial part of Machine Learning, and I was nowhere near being able to tackle a project by myself. Knowing this I decided to take some affordable Udemy Machine Learning courses. Courses like these were helpful, as they rounded and improved my knowledge a little bit, and also covered some Python implementations of different algorithms and models.
Still, the courses did not leave me content with what a knew, and I wanted to go deeper, understand every conversation, know the guts of the algorithms, and develop and understanding of how to build an End-to-End Machine Learning project by myself. I wanted to be able to have and idea, build or download a data-set, and execute it.
And this is where the book that I am going to talk about comes in.
— Heads up: This article contains Affiliate links so that you can comfortably buy any of the books without any extra charge while contributing to the creation of more posts like this one —
I read this book a while ago, but with the publication of it’s new edition I thought it would be a good idea to share my thoughts about it.
This book is “Hands-On Machine Learning with Scikit-Learn & TensorFlow”. It is a book that was originally published in 2017 and that still, in my opinion which each new revision has become an even better version of one of the best in-depth resources to learn Machine Learning by doing.
Who is this book for?
This book is thought for beginners in Machine Learning, that are looking for a practical approach to learning by building projects and studying the different Machine Learning algorithms within a specific context. After completing the whole book you should be ready to face a project by yourself and be confortable with the different steps in this process.
Despite being an fairly initiative book, it will also add some tools to the tool-kit of a medium-level Machine Learning practitioner.
The book assumes you have certain programming experience in Python, and know how to use the main scientific libraries: Numpy, Pandas,and Matplotlib.
Also, if you want to get the most out of it, it is advisable to have some basic maths, algebra and statistics knowledge. Apart from this, you can finish it easily with very little or no initial understanding or Machine Learning if you are willing to make an effort.
Everything is very clearly explained, with code snippets, notes, and examples.
What does it include?
As I mentioned earlier, this is a very practical book that already on Chapter II gets you working and coding a project. Before that, it describes what Machine Learning is, what it is not, its fundamentals, and its main applications and strengths.
It shows how to implement the different Machine Learning algorithms, and covers the theory about them that you to know, without extensively going into it and torturing you with millions of complicated equations. The newest edition is composed of 19 chapters, which are divided into two blocks:
- Part I, where the main concepts of Classification, Regression, Dimensionality Reduction, and Unsupervised Learning techniques are explained, along with traditional Machine Learning algorithms like Linear Regression, Logistic Regression, Support Vector Machines, Decision Trees or ensemble models.
- Part II, which is focused on Artificial Neural Networks and Deep Learning using Tensorflow and Keras. Convolutional Neural Networks and Recurrent Neural Networks are explained, along with Auto-encoders and there is even a chapter on Reinforcement Learning.
Each chapter is further divided into a more granular structure that takes us through it step by step, and the book also contains various Appendixes.
The Chapters are the following:
- Part I: 1. The Machine Learning landscape, 2. End-to-End Machine Learning project, 3. Classification, 4. Training Models, 5. Support Vector Machines, 6. Decision Trees, 7. Ensemble Learning and Random Forest, 8. Dimensionality Reduction, 9. Unsupervised Learning Techniques.
- Part II: 10. Introduction to Artificial Neural Networks with Keras, 11. Training Deep Neural Networks, 12. Custom Models and Training with Tensorflow, 13. Loading and Preprocessing Data with Tensorflow, 14. Deep Computer Vision Using Convolutional Neural Networks, 15. Processing Sequences Using RNNs and CNNs, 16. Natural Language Processing using RNNs and Attention, 17. Representation Learning and Generative Learning Using Autoencoders and GANs, 18. Reinforcement Learning, 19. Training and Deploying Tensorflow Models at Scale.
As I mentioned earlier, in each chapter we find code snippets and side-notes to complement the explanation along with figures, images and graphs, and at the end of each individual chapter there is a set of questions and exercises that are solved in one of the Appendixes.
Also, a very useful addition to all of this is a Checklist for what to do step by step in a common Machine Learning project.
How to read this book?
Every person is different, but for me what worked best was to read the book on paper while writing notes on the side. Simultaneously I would try to go through the code, and every time at the end of the chapter I would take my time to answer the questions and do the mini — exercises. If I got stuck or I didn’t know how to do something I re-read some parts of the chapter or looked for information on-line.
What Impact will this book have on me?
If you’ve just started studying Machine Learning, this book will take the theoretical knowledge you have, considerably improve it, and then put it to use in some real projects. Many times we are not able to test how much we know about something until we try to put it in practice. By reading this book you will be completely ready to work in projects of your interest.
If you already know about Machine Learning and have worked on some projects, this book will round up your theoretical knowledge, teach you some practical tricks that you probably ignore, and advise you on how to structure your projects in an optimal manner. It is a wonderful book to have near-by to answer specific questions that might arise in your day to day work.
What to do next?
After you have finished this book I would encourage you to think of a couple of projects you would like to do with Machine Learning and with the book by your side, try to execute them. This will test you on real world problems, make you face some of the difficulties of Machine Learning projects, and also you will be building a portfolio of solved problems that will be of high value in your learning and in your future as a Machine Learning engineer or Data Scientist.
Once you feel confortable tackling these kind of projects, if you want to go even further and come closer to an expert, you could try the same procedure you did with this book but with a more advanced one, like one of the following:
Or if you are interested in less technical books and want to explore the curiosities, dangers, and reach of Artificial Intelligence, you could read one of the books described in:
Three Top books about Artificial Intelligence and Machine Learning
Three incredible AI books to make your mind wander and your thinking flourish.
Also, if there is a specific area of Machine Learning which you want to specialise yourself in, you could look for a book on that topic, or even a more specialised online course.
As always, I hope you enjoyed the post, and that I have convinced you to read the book.
Here you can find the link to the newest edition:
If you liked this post then feel free to follow me on Twitter at @jaimezorno. Also, you can take a look at my other posts on Data Science and Machine Learning here. Have a good read!
If you want to learn more about Machine Learning and Artificial Intelligence follow me on Medium, and stay tuned for my next posts!
Until then, take care, and enjoy AI!
Bio: Jaime Zornoza is an Industrial Engineer with a bachelor specialized in Electronics and a Masters degree specialized in Computer Science.
Original. Reposted with permission.
- 10 Free Must-read Books on AI
- The Math Behind Bayes
- Deep Learning for NLP: ANNs, RNNs and LSTMs explained!