The term Machine Learning, together with the Artificial Intelligence is now on everyone’s lips though not always with perfect clarity or knowledge of the facts: sometimes presented as a black box that magically makes computers intelligent, at other times as one of the many languages of programming and at other times as a sector of Information Technology. In this article, after giving a brief definition of what Machine Learning actually is, we will however deal with an aspect that is often unknown to most people, that is to say which are the three types into which it is divided.
Although the term Machine Learning was coined in 1959 by the American scientist Arthur Lee Samuel, pioneer in the field of Artificial Intelligence, the currently most cited definition is that provided by another American, Tom Michael Mitchell, director of the Machine Learning department of Carnegie Mellon University:
“It is said that a program learns from experience E with reference to some classes of tasks T and with measurement of performance P, if its performances in task T, as measured by P, improve with experience E.”
With Machine Learning, in Italian automatic learning, we therefore refer to systems that are able to learn from experience, based in principle, as described by Arthur Lee Samuel himself, on the basis of two distinct approaches that make it possible to distinguish learning automatic in as many sub-categories of Machine Learning depending on whether the computer is given complete examples to be used as an indication to perform the required task or that the software is left to work without any ‘help’.
Now let’s look at the first Machine Learning technique, namely supervised learning. The objective of this approach is to construct a model starting from classified training data, with which we try to make predictions about unavailable or future data. With supervision it is therefore mean that in the set of available samples (or datasets), the desired output signals are already known as previously classified. In this type of learning we therefore try to allow the machine to automatically process hypotheses of output values based on a series of ideal examples, consisting of input and output pairs, which are initially supplied to it.
A practical example, that we will use for all the techniques in analysis, is provided by the programmer Adam Geitgey and has as its protagonist a software that must correctly estimate the price of the houses. To train it, as explained previously, a sufficient number of examples are provided in which are reported, for each house, some fundamental parameters such as the square meters, the number of rooms, the position in which it is located (luxury neighborhood, degraded neighborhood , for families etc.) and obviously the final price. Once all this information is received, the computer will start looking for the combination that will allow it to arrive at the exact price. When the software has found the values to be correctly applied to the individual elements to obtain the correct price, the work can be said to be completed and the machine will be able to estimate the value of a house.
Now let’s see another Machine Learning technique, called unsupervised learning. In this case, unlike the previous one, only unstructured data sets are provided to the system, without indicating the desired result and the machine is then asked to extract a rule that groups the cases presented according to features that it derives from the data itself. Remaining within the example of the houses, the system would be able to discover that in a university district studios or two-room apartments are easily sold, while in the hinterland, houses with gardens are the most popular.
Thus we come to the last example relating to automatic learning techniques, that is the so-called reinforcement technique. In this case the system must interact with a dynamic environment (which allows it to have input data) and reach a goal (upon reaching which it receives a reward), learning also from errors (identified by “punishment”). Behavior and system performance are determined by a reward and punishment based learning routine. With such a model, the computer learns, for example, to beat an opponent in a game or to drive a vehicle by concentrating efforts on performing a certain task and aiming to achieve the maximum value of the reward; in other words, the system learns by performing actions, how to drive, and by mistakes made by improving performance precisely based on the results achieved previously.