A reader who follows my article series on MLP-coding has asked me, which books I would recommend for beginners in “Machine Learning”. I assume that he did not mean introductory books on Python, but books on things like SciKit, Artificial Neural Networks, Keras, Tensorflow, …. I also assume that he had at least a little interest in the basic mathematical background.
I should also say that the point regarding “beginners” is a difficult one. With my own limited experience I would say:
Get an overview, but then start playing around on your computer with something that interests you. Afterwards extend your knowledge about tools and methods. As with computers in general it is necessary to get used to terms and tools – even if you do not or not fully understand the theory behind them. Meaning: Books open only a limited insight into Machine Learning, you will probably learn more from practical exercises. So, do not be afraid of coding in Python – and use the tools the authors of the following books worked with. And: You should get familiar with Numpy and matplotlib pretty soon!
Well, here are my recommendations for reading – and the list of books actually implies an order:
“Machine Learning – An applied mathematics introduction”, Paul Wilmott, 2019, Panda Ohana Publishing
This is one of the best introductory books on Machine learning I have read so far – if not simply the best. One of its many advantages is: It is relatively short – around 220 pages – and concise. Despite the math it is written in a lively, personal style and I like the somewhat dry humor of the author.
This book will give you a nice overview of the most important methodologies in ML. It does not include any (Python) coding – and in my opinion this is another advantage for beginners. Coding does not distract you from the basic concepts. A thing this book will not give you is an abstract introduction into “Convolutional Neural Networks” [CNNs].
Nevertheless: Read this book before you read anything else!
“Python Machine Learning”, Sebastian Rashka, 2016, Packt Publishing Ltd
When I started reading books on ML this was one of the first I came across. Actually, I did not like it at my first reading trial. One of my problems was that I had not enough knowledge regarding Python and Matplotlib. After some months and some basics in Python I changed my mind. The book is great! It offers a lot of coding examples and the introduction into SciKit and at some points also Pandas is quite OK.
It is a “hands on” type of book – you should work with the code examples given and modify them. This first edition of the book does, however, not provide you with an introduction into CNNs and advanced tools like Tensorflow and the Keras interface. Which in my opinion was not a disadvantage at the time of reading. What I still do not like are the mathematical explanations at some points where the author argues more on the level of hints than real explanations. But it is a great book to start with SciKit-Learn experiments – and you will deepen your insight in methodologies learned in the book of Wilmott.
Note: There is a new edition available: “Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2”, 3rd Edition, by S. Rashka and V.Mirjalili.
I have not read it, but if you think about a book of Rashka, you should probably buy this edition.
For my German Readers: There is a German version of the 2nd edition available – in much better hard cover and printing quality (mitp verlag), but also more expensive. But it does not cover Tensorflow 2, to my knowledge.
“Hands-On Machine learning with SciKit-Learn, Keras & Tensorflow”, 2nd edition, Aurelien Geron, 2019, O’Reilly
This is a pure treasure trove! I have read the 1st
edition, but a week ago I bought the 2nd edition. It seems to be far better than the first edition! Not only because of the colored graphics – which really help the reader to understand things better. The book has also be revised and extended! Compared with the first edition it is partially a new book. In my opinion all important topics in ML have been covered. So, if you want to extend your practical knowledge to CNNs, RNNS and Reinforcemant Learning go for it. But around 780 pages will require their time ….
“Deep Learning mit Python und Keras”, Francois Chollet, 2018, mitp Verlag
I have only read and worked with the German version. The English version was published by Manning Publications. A profound introduction into Keras and at the same time a nice introduction into CNNs. I also liked the chapters on Generative Deep Learning. Be prepared to have a reasonable GPU ready when you start working with this book!
For theorists: Neural Networks and Analog Computation – Beyond the Turing Limit”, H.T. Siegelmann, 1999, Springer Science+, Business Media, New York
This book is only for those with a background in mathematics and theoretical information and computation science. You have been warned! But it is a strong, strong book on ANN-theory which provides major insights on the relation between ANNs, super-Turing systems and even physical systems. Far ahead of its time …
There are of course many more books on the market on very different levels – and I meanwhile own quite a bunch of them. But I limited the list intentionally. Have fun!