Have you ever wondered what Machine Learning is really about? If you imagine something along the lines of a computer being able to learn something you have the right idea!

Formally defined, machine learning is a subset of artificial intelligence within computer sciences, which has the objective to design systems that have the capability to improve through experience. Moreover, its objective is not only to improve the accuracy for previously seen values but also to generalize knowledge, thus being able to predict useful values for information never seen before by the system.

An example of one of such systems is AlphaZero, a system that was able to teach itself from scratch how to play Go, Shoghi & Chess, beating the state-of-the-art game-engines in each case.

Now that we have an idea of what machine learning is all about,  it’s important to start classifying the types of approaches that can be applied. A practical way to classify machine learning algorithms is to do it based on the way these learn. Some of  the approaches are:

Supervised learning:

In this category, the system is presented with a set of values for which the desired output is already known, so any difference between the desired one and the real system output can be adjusted. As an example, we could mention back-propagation neural networks. In these ones, weights are adjusted depending on the difference between the expected output and the one produced by the network.

Unsupervised learning:

The data is presented to the system without any label or desired output, for the system, given enough information, to be able to find patterns in the data and learn important features. K-means is an example of this category. This algorithm can classify the data set into K clusters without any guidance.

Semi-supervised learning:

This is an interesting category. The system is presented with some data with known expected outputs and with some data for which the outputs are unknown. This is particularly well suited for scenarios in which a lot of data is available but only a subset of it is categorized.

Reinforcement learning:

In this category, the system is allowed to interact with an environment, with a given goal (e.g. driving a car through a racetrack). Then, the system receives a reward depending on how well it performed, which the system will try to maximize.

I hope this article has been useful as an introduction to machine learning in general. This is a broad topic that’s been growing by leaps and bounds in the latest years. Whether your email software predicts the word you are going to type in a response (or even the whole response), whether the software can automatically tag your face on a picture, whether the computer tells you the mistakes you made while playing a chess game, or whether it helps in the quick detection of Covid-19, it’s undeniable that artificial intelligence models are becoming smarter and more widely adopted every day, and of course, part of this success lies in the fact that we keep inventing new ways for these models to learn!