"I do believe something very magical can happen when you read a book.” – J.K. Rowling
When I wanted to explore the Machine Learning world, I knew I will be requiring good Books. Books which will teach me the ins and outs of this World.
As a wandered around on Internet, as a curious explorer; I caught few handful of books which are not only great for beginners but also give a hands on approach to this world.
So books for what?
These are the few broad topics which we looking to cover by reading books:
- Data Analysis: Machine Learning requires Data. Huge amount of Data. And before we can begin any model creation, we will be in need to get the Data preprocessed and get insights.
- Machine Learning: Machine Learning is all about learning from data, Mathematical models and making predictions.
- Deep Learning: All about Neural Networks and Mathematics behind it.
Once we have identified the topics, let's go on to the books. Shall we?
Note: The book recommended here are of my choice and research. Also I am not sponsored in any kind. The post assume you are having a Python Background and have little experience with the language.
Python for Data Analysis
By Wes McKinney. Publisher O'Reilly Media, Inc.
The book has been widely popular on YouTube recommendation for starters. And I was also drawn by the fact that the author himself is one of the Maintainer of the Popular Library for Data Wrangling; Pandas.
Talking about the book, the title might be misleading because the book is all about
- pandas: A Python library providing tools for data wrangling, augmentation and exploration
- NumPy: Library for fast numerical computation, along with Data Structures in Python backed by C code.
- matplotlib: A very beginner friendly and plotting library for creating various plots in Jupyter Notebook.
- And few other things that you might not want to miss.
I completed book while practicing the various examples, which you can find here. After reading it's now much more easier to plot graph and explore data. And not to mention, I don't feel need to ask on Stack Overflow, "How to do this <insert some operation on data> on my data?".
So this is good starting point to start getting comfortable with the Python Libraries which you are going to use day to day.
Hands-on Machine Learning with Scikit-Learn, Keras & TensorFlow
By Aurélien Geron. Publisher O'Reilly Media, Inc.
Another YouTube Recommended Book with I'm pleased to get my hands on.
I am actually going through this book right now and writing notes. It is brilliant in the regard that it starts with really the basics of Machine Learning while not forgetting about Mathematics and Procedures.
I was also able to learn a lot of Machine Learning Vocabulary like, Over-fitting, under-fitting, exploding gradients, gradient descend and a lot more. I hope you too will be able to.
The book is divided in 2 parts:
- Part 1: This section is to get you ready and pave your foot in Machine learning. Getting a grasp of Scikit-Learn API and Machine Learning techniques is the main focus. While also teaching about technical terms (what I would vocabulary 😁).
- Part 2: Welcome to Deep Learning baby! The 2nd part uses TensorFlow framework (sorry PyTorch) as the deep learning Library to show you what all mighty things are possible with Deep Learning. The book doesn't end there and goes on to deploying the model and more tips and precautions.
Interesting thing is, The book starts any topic will a little bit of explanation, then code, and at last in depth explanation of the stuff you just wrote (for things your mind won't naturally fit...).
Deep Learning (Adaptive Computation and Machine Learning series)
By Ian Goodfellow, Yoshua Begio and Aaron Courville.
A massive book from the giants of Deep Learning World.
The book is ALL MATHEMATICS devoted to Deep Learning and more "vocabulary". Not a single line of code. Yeah, that means if you are one of those who starts with top down approach, you should probably read this only when you have got firm grasp of one of the popular Deep Learning Libraries like TensorFlow.
From outside it might be provocative to start with this, but believe me,
"You might not be ready yet"
The book is already on my reading list, I haven't read it yet but you can look for reviews. All in all, the book won't disappoint you, and might be a good companion to follow along Andrew Ng's Deep Learning course.