Chapter 9. Machine Learning

9.0 Introduction

You may be surprised to hear that your humble Raspberry Pi is a great platform for experimenting with machine learning. In this chapter you will experiment with recognizing objects in real-time video, recognizing sounds, and linking all this to your own Python programs.

Programming a computer involves giving the computer a list of instructions to follow. A procedure is created to accomplish the thing we want the computer to do. This is expressed in a programming language such as Python and works really well for things like storing data or making calculations. However, it’s quite hard to think of how you would write a program to respond to a spoken command, or to identify objects in a photograph. The way humans and other animals learn such things is through practice. Our brains gradually learn to recognize things through experience. No program is running in our heads to do these things; we learn to do them.

Machine learning (ML) involves a normal computer running special machine learning programs (that bit is normal programming) that process large amounts of data and learn from that data in much the same way as a brain does. We can, for example, train the computer to recognize spoken commands by providing it with lots of samples of the commands, along with other examples and background noise that we want the computer to learn to ignore.

Most ML is concerned with classification. That is, taking some input and putting it into a category. ...

Get Raspberry Pi Cookbook, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.