The characteristic property of supervised learning is that the learning system receives feedback in the form of being told the desired output for each input from the training dataset. This allows the system to compute the error as some measure of difference between the desired output and its actual output. It can then optimize its parameters in order to minimize this error.

Supervised learning is used to solve a wide range of problems, but these typically boil down to some form of regression or classification. The difference between the two, simply put, is that regression outputs real numbers while classification outputs categorical variables: it classifies the input of the system into one (or sometimes several) of a finite number of classes.

An illustrative example of classification is shown in the following figure:

Classification: an illustrative example.

The figure shows how an input gets converted into some numeric format that can be passed to the machine learning system, the machine learning system processes it and outputs its prediction in some kind of encoding (usually one-hot encoding). This is then decoded to get the class label.