There’s no surprise then that so many people are considering entering the fascinating world of computer algorithms that improve automatically through experience. If you’re among them—or if you just want to look past the hype and understand what machine learning is really about—our selection of the top 20 best machine learning textbooks can help you reach your goals.

### Artificial Intelligence: A Modern Approach (4th Edition) by Peter Norvig and Stuart J. Russell

**Available**: on Amazon

**Published**: 2020

**Page count**: 1136

Deciding which machine learning textbook to start with wasn’t difficult because Artificial Intelligence: A Modern Approach is recommended to students by universities around the world. Now in its 4^{th} edition, the book does a fantastic job of introducing the field of artificial intelligence (machine learning is a subset of AI) to beginners, and it also covers a wide range of related research topics, providing useful references for further study. According to its authors, this large textbook should take about two semesters to cover, so don’t expect it to be a quick read.

### Pattern Recognition and Machine Learning by Christopher M. Bishop

**Available: **on Amazon

**Published**: 2011

**Page count**: 738

You can think of Pattern Recognition and Machine Learning by Christopher M. Bishop as a gentle (at least as far as machine learning textbooks are concerned) introductory course to the theory behind machine learning. The textbook includes over 400 exercises that are graded according to their difficulty, and a lot more additional material is available on its website. Just don’t expect to know how to apply the theory the textbook teaches when you reach its last page—there are other books for that.

### Deep Learning by Goodfellow et. al

**Available: **on Amazon

**Published**: 2016

**Page count**: 800

If you were to ask Elon Musk to recommend you a book about machine learning, this is the one he would recommend. He once says that Deep Learning is the one complete book on this subject. The book covers everything from the mathematical and conceptual background to industry-leading deep learning techniques and the latest research perspectives. We recommend you get the electronic version because Deep Learning is infamous for its poor print quality.

### The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition by Hastie, Tibshirani, and Friedman

**Available: **on Amazon

**Published**: 2016

**Page count**: 767

Don’t let the title of this textbook intimidate you. If you want to truly understand machine learning and apply it to solve difficult problems, you need to get used to reading textbooks that don’t seem very approachable. Even though the textbook takes a decisively statistical approach, you don’t need to be a statistician to read it because it emphasizes concepts rather than mathematics.

### Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems (2^{nd} Edition) by Aurélien Géron

**Available: **on Amazon

**Published**: 2019

**Page count**: 856

Scikit-Learn, Keras, and TensorFlow are three popular machine learning libraries, and this textbook focuses on how they can be used to create machine learning programs that solve actual problems. Thanks to the beginner-friendly nature of these libraries, minimal background theoretical knowledge are required to read this textbook, making it great for those who would like to gain an intuitive understanding of machine learning by building something useful.

### Understanding Machine Learning: From Theory to Algorithms by Shai Shalev-Shwartz and Shai Ben-David

**Available**: on Amazon

**Published**: 2014

**Page count**: 410

Many textbooks about machine learning are difficult to get through because their authors are unable to put themselves in the shoes of someone new to the field, but not this one. Understanding Machine Learning begins with a clear introduction to statistical machine learning. It then connects the theoretical concepts to practical algorithms without being neither too wordy nor too vague. Regardless of if you want to refresh your knowledge or embark on a life-long journey in the industry, don’t hesitate to grab this textbook.

### Machine Learning: A Probabilistic Perspective by Kevin P. Murphy

**Available**: on Amazon

**Published**: 2012

**Page count**: 1104

As the title of this book suggests, this introduction to machine learning relies on probabilistic models to detect patterns in data and use them to make predictions about future data. The book is written in a pleasant, informal style and makes great use of illustrations and practical examples. The models it describes have been implemented using Probabilistic Modeling Toolkit, which is a MATLAB software package that you can download from the internet. Unfortunately, the toolkit is no longer supported because the new version of this book will use Python instead.

### Information Theory, Inference and Learning Algorithms by David J. C. MacKay

**Available**: on Amazon

**Published**: 2003

**Page count**: 640

Yes, this textbook was released nearly 20 years ago, but that doesn’t make it any less relevant today. After all, machine learning isn’t nearly as young as the recent hype around it might suggest. What makes Information Theory, Inference and Learning Algorithms by David J. C. MacKay so timeless is its multidisciplinary approach that provides ample connections between different fields. On its own, it’s not very useful because it doesn’t have enough practical examples, but it works great as an introductory textbook.

### An Introduction to Statistical Learning: With Applications in R by Gareth M. James, Trevor Hastie, Daniela Witten, and Robert Tibshirani

**Available**: on Amazon

**Published**: 2013

**Page count**: 440

You can think of An Introduction to Statistical Learning as a more approachable alternative to The Elements of Statistical Learning, which requires advanced knowledge of mathematical statistics. To finish this textbook, you should be perfectly fine with a bachelor’s degree in mathematics or statistics. On its 440 pages, the authors provide an overview of the field of statistical learning and present important modeling and prediction techniques, complete with their applications.

### The Hundred-Page Machine Learning Book by Andriy Burkov

**Available**: on Amazon

**Published**: 2019

**Page count**: 160

Whereas most textbooks listed in this article are closer to a thousand pages, this thin book, which began as a challenge on LinkedIn, explains a lot on just a hundred or so pages. One reason why The Hundred-Page Machine Learning Book became an instant hit is its plain language, which is a welcome departure from stiff academic papers. We recommend this book to software engineers who believe they could utilize available machine learning tools but don’t know where to start. That said, the book can be enjoyed by anyone with an interest in machine learning because it emphasizes concepts over code.

### Introduction to Machine Learning with Python: A Guide for Data Scientists by Andreas C. Müller and Sarah Guido

**Available**: on Amazon

**Published**: 2016

**Page count**: 400

If you’re fluent in Python and would like to get started with machine learning by building practical solutions to real problems, this is the right book for you. No, you won’t learn too much theory, but all fundamental concepts are covered well, and there are many other books that cover the rest. To get the most out of Introduction to Machine Learning with Python, you should have at least some familiarity with the NumPy and matplotlib libraries.

### Applied Predictive Modeling by Max Kuhn and Kjell Johnson

**Available**: on Amazon

**Published**: 1st ed. 2013, Corr. 2nd printing 2018

**Page count**: 613

This textbook provides an introduction to predictive models, which use data and statistics to predict outcomes with data models. It begins with data processing and continues with modern regression and classification techniques, always emphasizing real data problems. You can easily implement all models explained in the book thanks to the provided R code, which shows exactly what you need to do to end up with a working solution.

### Deep Learning with Python by François Chollet

**Available**: on Amazon

**Published**: 2017

**Page count**: 384

You may already be familiar with the author of this machine learning textbook because he’s responsible for an open-source neural-network library called Keras, arguably the most popular machine learning library written in Python. Given this information and the title of the textbook, it shouldn’t surprise you to learn that it’s the best Keras crash course available. Practical techniques are prioritized above theory, but that just means that you can solve sophisticated machine learning tasks in just a few weeks.

### Machine Learning by Tom M. Mitchell

**Available**: on Amazon

**Published**: 1997

**Page count**: 414

Published in 1997, this book introduces all types of machine learning algorithms in a language all CS graduates should be able to understand. If you’re the type of person who needs to have a broad understanding of a certain topic before you feel comfortable diving deep into it, you’ll love how the information in this book is presented. Just don’t expect Machine Learning by Tom M. Mitchell to be a practical guide because that’s not what this book is supposed to be.

### Building Machine Learning Powered Applications: Going from Idea to Product by Emmanuel Ameisen

**Available**: on Amazon

**Published**: 2020

**Page count**: 260

It’s one thing to understand machine learning models, and it’s something else entirely to know how to bring them to production. This relatively slim book by Emmanuel Ameisen explains just that, walking you through every step of the process, from initial idea to deployed product. Building Machine Learning Powered Applications can be recommended to budding data scientists and ML engineers who have mastered the theory but have yet to apply it in the industry.

### Reinforcement Learning: An Introduction (2nd Edition) by Richard S. Sutton, Andrew G. Barto

**Available**: on Amazon

**Published**: 2018

**Page count**: 552

Reinforcement learning is an area of machine learning concerned with the training of machine learning models to take actions in a complex, uncertain environment to maximize the total amount of reward received. If this sounds interesting to you, don’t hesitate to purchase this book because it’s widely considered to be the Bible of the subject. The second edition includes many important structural and content changes, so get it if possible.

### Learning From Data by Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin.

**Available**: on Amazon

**Published**: 2012

**Page count**: 213

Learning From Data is a short but relatively complete introduction to machine learning and its practical applications in finance, commerce, science, and engineering. The book is based on more than a decade of teaching material, which the authors distilled to a selection of core topics that everyone interested in the subject should understand. It’s great for beginners who don’t have much time to study the theory of machine learning, especially if read along with Yaser’s lecture series on YouTube.

### Neural Networks and Deep Learning: A Textbook by Charu C. Aggarwal

**Available**: on Amazon

**Published**: 2018

**Page count**: 497

Neural networks are one way of doing machine learning, and this textbook can help you understand the theory behind them. Just like machine learning in general, this book mathematically intense, so don’t expect to get too far if your math is rusty. That said, the author does a great job of explaining the math behind all provided examples and walking the reader through various intricate scenarios.

### Machine Learning For Absolute Beginners: A Plain English Introduction (2^{nd} Edition) by Oliver Theobald

**Available**: on Amazon

**Published**: 2017

**Page count**: 157

If you have an interest in machine learning but don’t necessarily feel comfortable reading long textbooks on the subject, you might prefer this beginner-friendly book, which provides a practical and high-level introduction to machine language using plain English. By the end of this book, you will know how to predict house values using your first machine learning model created in Python.

### Generative Deep Learning: Teaching Machines to Paint, Write, Compose, and Play by David Foster

**Available**: on Amazon

**Published**: 2019

**Page count**: 330

A lot has been written and said about generative adversarial networks (GANs), one of the hottest topics in the field of machine learning today. If you want to understand how they and other generative deep learning models work under the hood, this book by David Foster is a great starting point, as long as you have experience coding in Python.