Author: Matteo Alberti
Traditionally, there have been three fundamentally different types of tasks in machine learning:
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
Supervised learning is the machine learning task of inferring a function from supervised training data.
The training data consist of a set of training examples where each example is a pair consisting of an input object (typically a vector) and a desired output value.
The goal is to learn a mapping from x to y, given a training set made of pairs (xi, yi) are sampled i.i.d from some distribution which here ranges over X x Y .
A supervised learning algorithm analyses the training data and produces an inferred function that can be further grouped into regression and classification problems:
- Classification: A classification problem is when the output variable is a category (labels are discrete)
- Regression: A regression problem is when the output variable is a real value ( more generally labels are continuous)
The inferred function should predict the correct output value for any valid input object. This requires the learning algorithm to generalize from the training data to unseen situations.
Some popular examples of supervised learning algorithms are:
- Linear regression for regression problems.
- Random forest or Artificial Neural Networks for classification and regression problems.
When we just have only input data and no corresponding output variables and the goal is to model the underlying structure or distribution in the data in order to learn more about the data is called Unsupervised Learning, more formally can be written as:
Let X=(x1, … , xn) be a set of n points where xi belongs to X for all i in 1, …,n.
Typically, we assume that the points are independently and identically distributed (i.i.d) from a common distribution of X. The objective consists on estimating a density likely generated from X.
Unsupervised learning problems can be further grouped into clustering and association problems.
- Clustering and dimensionality reduction: The goal of clustering is to discover the inherent groupings in the data
- Association: Association tries to discover rules that describe large portions of data
- Quantile estimation
Some popular examples of unsupervised learning algorithms are:
- k-means for clustering problems
- Apriori algorithm for association rule learning problems
- Principal Component Analysis
Semi-supervised learning is halfway between supervised and unsupervised learning. Algorithm is provided with some supervision information but not for all examples (some data are unlabelled).
Dataset can be divided into two parts:
- Xi = (x1, … , xl) for which labels Yl= (y1, …, yl) are provided
- Xu = (xl+1, … x l+u) labels not known
One of the most interesting of semi-supervised learning is image classification where only some data is labelled.
Reinforcement learning is learning what to do—how to map situations to actions—so as to maximize a numerical reward signal. The learner is not told which actions to take, but instead must discover which actions yield the most reward by trying them.
The main example of reinforcement learning is Robotics applications where the robot is known as an agent, and is in some environment (surrounding). At each time step, it can take some action and it might receive some reward