This is a book for developers who want to learn machine learning from scratch.
Machine learning is a broad field, and no book can cover it all. We’ll focus on the three facets of machine learning that are most important today: supervised learning, neural networks, and deep learning. We’ll look into those terms as we go through the book, but here’s a picture and a few quick definitions to get you started:
Supervised learning is a specific type of machine learning. Machine learning comes in a few different flavors, but supervised learning is the most popular one these days. Part I of this book, From Zero to Image Recognition, is a hands-on supervised learning tutorial. Within a couple of chapters, we’ll write a minimal learning program. Then we’ll evolve this program step by step, progressively turning it into a machine learning system called a perceptron. Our perceptron will be a bona fide computer vision program, powerful enough to recognize handwritten characters. We’ll craft it all by ourselves, without using machine learning libraries. You’ll understand each single line of its code.
There are many ways to implement a supervised learning system. The most popular of those is the neural network—a brilliant algorithm that was loosely inspired by the connections of neurons in our own brains. Part II of this book is dedicated to neural networks. We’ll grow the program from Part I into a full-fledged neural network. We’ll have to overcome a few challenges along the way, but the payoff will be worth it: the final neural network will be way more powerful than the fledgling program we’ll start off with. Once again, we’ll write the code ourselves, line by line. Its inner workings will be open for you to play with.
Neural networks got a big boost in recent years, when researchers came up with breakthrough techniques to design and use them. This souped-up technology is vastly more powerful than the simple neural networks of old—so much so that it got its own name: deep learning. That’s also the title of Part III of this book. In it, we’ll rewrite our neural network using a modern machine learning library. The resulting code will be our starting point to understand what deep learning is about. Finally, as we wrap up the book, we’ll take a look at a few advanced deep learning techniques, paving the way for your future explorations.
In truth, things aren’t quite as clean-cut as our picture implies. For example, neural networks can be used in other fields of machine learning, not just in supervised learning. However, the diagram just shown is a good starting point to get a sense of the topics in this book, and how they fit together.