Over the period of past few years the most asked question by far has been this, Which is the best book to study machine learning. And at this moment there are more books about Machine Learning than you may ever want to read. Choosing a right book is one of the most important parts when starting with Machine Learning. Though most of the books are good in their own way and for the audience it is targeted for, it may not be the best option for a beginner. It therefore becomes extremely important that you go with the right book else not only will you end up losing time learning less to nothing, but it will also fade your interest in the subject. Though there is not one size that fits all when it comes to choosing books to start studying machine learning as your previous experience and comfort level with programming and mathematics will play a huge role. However in this blog I have tried to talk about only those books that you can go through with minimum prerequisites.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
This book is a complete masterpiece by Aurelien Geron. This is literally one of the best books I have ever read in this field. The original edition of this book was released in 2017 where only Scikit-Learn and Tensorflow were used. In 2019 however, the second edition of the book came out, and it featured Scikit-Learn, Tensorflow(version 2) and Keras. The inclusion of keras is what makes this book even better. You can now learn to build, train and test neural networks built from scratch without creating complex tensorflow graphs. All of this is made possible by the use of keras which internally builds these complex graph structures using tensorflow. Building tensorflow graphs is explained at a later stage in the current edition of the book where it becomes easier to grasp all those concepts.
The organisation of the book is another great feature of this book. The book is organised into 2 parts, one for Machine Learning followed by the other for Deep Learning. The book starts with explaining the fundamentals of Machine Learning. From the second chapter itself there are 2 end to end machine learning projects each for regression and classification. Many key concepts are explained along the way in these end to end projects. In the later chapters of the first part various Machine Learning algorithms are explained in detail along with the Mathematical part. In the second part of the book the author explains fundamentals and working to neural networks along with many end to end projects.
My opinion is, if you are starting with machine learning or deep learning you should definitely consider this book. It starts everything from scratch. The prerequisites are a basic understanding of High School level Mathematics and basics of Python programming Language.
Deep Learning with Python
Deep Learning with Python is another masterpiece written by François Chollet. He is also the primary author and maintainer of the Keras library, which explains a lot. This book is divided into 2 parts, fundamentals and Deep Learning in practice. In the fundamentals, the author covers about the history and basics of Machine Learning and Deep Learning. The second part consists of various types of Deep Neural Networks, from Artificial Neural Networks(ANN) and Convolutional Neural Networks(CNN) to Generative Adversarial Networks(GANs) and best practices in deep learning. There are two features I find interesting in this book, the first being the abundance of examples along with codes. The second is that the author does not use complex mathematical formulas for explaining a particular topic but rather explaining them intuitively. It might be really helpful for people who have little to no mathematical background.
My opinion is that if you do not have a good mathematical background or do not care about the mathematical part you should definitely go for this book. You should however have a basic knowledge about the Python programming language to read this book.
Deep Learning
Deep Learning by John D Kelleher is another book that I would put in my list of the best books for Machine Learning to start with. Though it is not nearly as famous and commonly used as the other 2 books, it is nevertheless a good book to start out with. This book talks particularly about Deep Learning and not Machine Learning. An interesting feature about this book that makes it different from the other two is lack of both code and mathematics. Though this may seem counter-intuitive, it is an excellent feature for people who are barely starting out and have little to no knowledge about python programming and a poor background in mathematics. It is also an excellent book for those who want to get an intuition of how deep learning works and not necessarily work on them. They can be technology enthusiasts, general public or even managers who are managing teams working on Deep Learning and Artificial Intelligence.
Since there are no pre-requisites to reading this book apart from a basic knowledge of Mathematics, it can be read by anyone. In my opinion therefore, if you have no python programming background and no mathematical background then this book is good to get a gist of what deep learning is.
So these are the books that I recommend to people who are starting out with Machine Learning. Though this list in not exhaustive and there are many many books out there which contain a lot of quality information. However, I feel that these books will be good for starters who have a basic to intermediate level of knowledge of Mathematics and a little prior experience with python programming language. I will be discussing about other amazing books in my later posts.
I have a professional accountant who has recently developed love to learn IT. Programming and machine learning is an area I want to explore. I want to start has basic as possible .
Any reading material or advice given Will be highly appreciated.
I suggest you start with learning basic python and then go through the book hands on machine learning(2nd edition). Python is an easy to learn programming language and has many free resources online. Hands on Machine goes from absolute zero to a significant level with easy to understand language. The only pre-requisite is having a basic knowledge of python. Further, having knowledge about high school mathematics will only boost your understanding of underlying algorithms.