If you want to learn more about machine learning (ML), books are always a good resource to look at. But what book should you pick up? And what should you pick based on your experience level? You wouldn't want to choose a book for experts when you're a beginner and vice versa. So, this guide does some of the legwork for you, giving you three good options to pick from for beginner, intermediate and expert levels of understanding.
For beginners who are just getting into machine learning, ML is a type of artificial intelligence (AI) that allows software applications to become more accurate at predicting outcomes. Machine learning models are able to "learn" through the frameworks of reinforcement learning and statistical learning. Starting as a branch of computer science, machine learning algorithms use historical data as an input to predict new output values -- which is useful for predictive analytics.
Recommendation engines are a common use case for machine learning, while other uses include fraud detection, spam filtering, malware threat detection, business process automation (BPA), creating graphical models and predictive data analytics.
Introduction to Machine Learning with Python by Andreas C. Müller and Sarah Guido
This book focuses on teaching individuals the steps to build machine learning software while creating applications through the scikit-learn library and the Python programming language. Python is normally the dominate choice for implementing ML models.
This book is useful for entry-level ML engineers, as it doesn't assume prior knowledge on machine learning. It will introduce fundamental concepts of machine learning by providing basic methods and examples. Concepts introduced include applications, machine learning algorithms, chaining models and encapsulating workflow and representation of processed data. It also introduces concepts such as Python, probability, linear algebra and optimization.
Find a copy of Introduction to Machine Learning with Python.
Programming Collective Intelligence: Building Smart Web 2.0 Applications by Toby Segaran
This book is another good starting point for learning about ML. The book was written way back in 2007 but is still a good introduction to the subject. Just like Introduction to Machine Learning with Python, this book uses Python while teaching ML. Unlike the first book, however, Programming Collective Intelligence focuses on creating more of a guide for implementing machine learning. It also touches on how you can build applications for data mining.
The machine learning algorithms in this book are described using actual code that can be used in most places. This is a good read if you want to learn how to create a machine learning algorithm or create a program for accessing and gathering data. You can also test yourself using the included exercises. The book focuses on concepts surrounding search engine algorithms, method detection strategies and filtering techniques.
Machine Learning For Absolute Beginners: A Plain English Introduction by Oliver Theobald
Oliver Theobald wrote this book for readers who have no prior technical knowledge on machine learning -- meaning no mathematical or coding background is needed beforehand. Machine Learning For Absolute Beginners explains the terminologies used in simple language for a wide audience. The book covers the important theoretical and statistical concepts someone with little to no prior knowledge on machine learning should know first.
Concepts taught relate to machine learning and big data and data analytics. The specific concepts relating to machine learning include regression analysis, decision trees, cross-validation, data scrubbing techniques, clustering and support vector machine (SVM) algorithms. The book even covers some more in-depth concepts such as deep learning and neural networks.
Pattern Recognition and Machine Learning by Christopher M. Bishop
Intermediate level books tend to make a few assumptions, with the pretense that you already know some basic, introductory information about machine learning. Pattern Recognition and Machine Learning doesn't expect too much prior knowledge, but it assumes that readers are already aware of some basic concepts. As such, before reading this book, you should have a basic understanding of multivariate calculus, basic linear algebra, data science and some probability theory. The book starts with a general introduction covering some basic concepts surrounding probability theory and pattern recognition and grows in complexity chapter by chapter.
The book focuses on the theoretical aspects of machine learning as well as statistical concepts in machine learning and pattern recognition. If you want to learn more about these concepts, this is the book for you. Ideas covered include basic probability theory, pattern recognition, the Bayesian method and approximate inference algorithms. The book also includes practice exercises surrounding statistical pattern recognition.
Find a copy of Pattern Recognition and Machine Learning.
Understanding Machine Learning: From Theory to Algorithms by Shai Shalev-Shwartz and Shai Ben-David
Readers should have a strong grip on the basics of machine learning before reading this book. However, it does build upon some fundamentals first before getting into more complicated concepts and applications.
The book covers rather extensive theoretical concepts on the fundamental ideas surrounding machine learning and the mathematics that makes them into actual algorithms. In other words, the book teaches how to turn mathematical equations into machine learning algorithms. Understanding Machine Learning also discusses theoretical concepts, including compression-based bounds. Additional concepts covered include neural networks, stochastic gradient descent and structured output learning.
The physical copy of the book has a price attached to it; however, the Cambridge University Press allows it to be downloaded and read for free as a PDF version.
Find a copy of Understanding Machine Learning: From Theory to Algorithms.
Machine Learning: The Art and Science of Algorithms that Make Sense of Data by Peter Flach
This book is good for both intermediate and expert levels. Although the content is complex, it explains the concepts relatively well -- in a way that doesn't lose sight of the underlying principles. Similar to Pattern Recognition and Machine Learning, the book does get more and more complex with each chapter. Even so, Flach includes various case studies, examples and illustrations to keep you going.
The book covers a large amount of logical, geometric and statistical analysis models surrounding machine learning along with matrix factorization and receiver-operating characteristic (ROC) analysis. Each topic covered has an example-based approach, such as how it begins with a discussion of how a spam filter works.
Deep Learning with Python by François Chollet
This book is focused on a specific type of machine learning, deep learning. Deep learning imitates the way humans gain certain types of knowledge. This book was written by François Chollet, a Google AI researcher and creator of Keras -- a Python-based deep learning API. Even though this book deals with more complicated subjects, it starts relatively gently and grows more complicated as it progresses. The book is focused on practicality and prepares you to be able to build your own deep learning projects by the book's completion. Even though the book is touted as a good introduction to machine learning, the information presented becomes increasingly high-level as it glosses some mathematical concepts without going into deeper comprehension on those more basic concepts.
Deep Learning with Python covers practical deep learning techniques and Python code, specifically using Keras. The techniques presented are relatively current, published in 2017. The book gives you pieces of code that can be used right away. It also presents you with many useful tips based on using deep learning. Other topics focused on include computer vision, natural-language processing and generative models.
Find a copy of Deep Learning with Python.
Machine Learning: A Probabilistic Perspective by Kevin P. Murphy
Machine Learning: a Probabilistic Perspective is a much more mathematics- and model-orientated approach to the topic of machine learning. Before reading, you should have a strong grasp of some of the mathematics behind machine learning. It's written in a relatively informal style, which may help readers understand concepts faster. Each topic is complemented with an image or example to help readers as well.
The book covers subjects such as deep learning, probability, optimization, linear algebra and L1 regularization. The book covers complicated concepts, which are clarified with the help of the images. Note that this book is best as a reference book because important concepts are summarized in a brief manner.
Find a copy of Machine Learning: a Probabilistic Perspective.
Deep Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville
This book serves as a good reference for deep learning algorithms while showing an approach to problems concerning machine learning. The book is focused strongly on mathematics and conceptual information surrounding linear algebra, probability, information theory and numerical computation. It also covers topics such as sequence modeling deep feedforward networks, optimization algorithms and convolutional networks.
The book has some introductory chapters, but is best for experts because as it's very technical and math heavy. You need strong knowledge of mathematics surrounding machine learning and in-depth knowledge around machine learning in general. While the previous books are better for beginners, this book is best as a reference for those with more technical knowledge.
Find a copy of Deep Learning.
The timeline of machine learning
Machine learning has led to a number of discoveries and breakthroughs. Check out this timeline of the history of machine learning.