Machine learning is the science of getting computers to perform a given task “without being explicitly programmed” (Arthur Samuel in 1959). In the last two decades, machine learning has imposed itself in our every-day life with self-driving cars, speech or face recognition, effective web search, spam detection and product recommendation systems. Machine learning is so ubiquitous today that you probably use it multiple times in a day without realizing it. Some researchers even believe that it will lead us towards human-level artificial intelligence.
Typical Machine Learning Problems
To use Machine Learning on a real problem, we need to cast it into one of the class of Machine Learning problem. For instance, “drive that car on the road” would become “given the input images of the different cameras, return the direction of the wheel”. In this special case, we will probably use a reinforcement-learning algorithm.
We distinguish between three common classes of problem in Machine Learning.
- Supervised learning: The computer is given an input of data and its desired output. The algorithm needs to learn from those in order to provide accurate output for new input data. Classification belongs to this area. For example, in spam detection, the two classes are spam/non-spam and from previous recorded email, the computer will classify the new arriving emails. Supervised learning algorithm also includes regression where the data is labeled with a real value (floating point) rather than belonging to a discrete set. In stock exchange, for instance, we are interested to predict the value of an auction in the future given its value in the past and other additional information. Supervised learning algorithms perform, to my point of view, the most amazing computer task arrived the last decade: speech recognition, text translation, image classification,...
- Unsupervised learning: The computer is given as input some data without any output, leaving to algorithm the task to find the internal structure of the data. The most common example is clustering. The task is to divide different samples into groups based on their similarity or another measure.
- Reinforcement learning: The computer interacts with a dynamic environment in which it has to perform a certain goal. For instance, we could ask the computer to play a video game.