Introduction to Machine Learning¶
Introduction¶
Machine learning is a field of mathematics focused on developing software that solve problems by learning from experience. The main idea behind machine learning is to develop algorithms that mimic the reasoning capability of learning through examples. As explained, in the introduction to operations research, artificial intelligence gathers a set of mathematical tools that allow to solve problems that intelligent beings are able to solve intuitively, but that are a priori complex to solve computationally. One of the most relevant fields of artificial intelligence is machine learning, which focuses on how to solve problems that cannot be precisely specified, or whose solution method cannot be described by symbolic reasoning rules, by using available data.
As shown in this unit, machine learning provides tools to reduce problems for which there is no formal mathematical model to an optimization problem through data. Note that this is an important change of paradigm to previous problem-solving approaches, as the starting point is available data, not a mathematical model of the problem.
Let us look illustrate how we have been approaching problem-solving until now with the following figure:
Based on the knowledge of the problem at hand and based on a set of assumptions, so far we have developed a mathematical model of a decision problem as an optimization problem subject to a set of constraints, and use data to set up the coefficients of the model based on the environment framing the decision-making problem. The solution to the problem provided the values of the objective variable and the decision variables.
However, the approach in machine learning is radically different:
Now, what we do is use a flexible mathematical model, or swiss-knife type of mathematical model, which is in a nutshell any mathematical model which has enough degrees of freedom to model a wide set of problems. For now, we can just assume that we will use models with coefficients that are not defined a priori, and that there are enough of such coefficients to allow it to model many problems. Now, Training consists in finding the parameters of the model that provide the best mapping between input data and output data, given a set of examples, or training data. With these parameters, the machine learning model agrees with the experienced results described in the training data. Out of all possible values for the parameters, the optimal parameters minimize an error function between the solutions obtained with the model and the solutions available in the training data.
This way, learning is reduced to a minimization problem. There are many machine learning approaches, but in most cases, learning is reduced to a minimization problem and gradient descent methods are behind most machine learning algorithms.
Core learning tasks¶
This section describes the core learning tasks, which is how we refer to the types of problems that are normally solved with machine learning. Before we go into the details of each individual learning task, bear in mind that the common denominator is that these are tasks that humans and other type of intelligence beings perform naturally and intuitively, but that do not have a closed mathematical form.
Prediction¶
Learn the behaviour of a variable with time, to make predictions about future trends or events. The variable can be quantitative (e.g. predict the value of a market stock based on a historic dataset) or categorical (e.g. predict the time to failure of a machine)
Classification and clustering¶
Learn to classify input data into known categories (classification) or unknown categories (clustering) based on the features available in the training data. For instance, classify images of cells into tumorous or healthy (classification), or learn the different types of customers from collected data.
Generation¶
Learn to generate data with the same characteristics of a set of examples. For instance, learn to translate text into a language, or generate videos from images.
Optimization¶
Learn to solve complex optimization problems, either combinatorial optimization problems (e.g. play chess or Go) or convex optimization (drone navigation control) which are very difficult to model and solve with other techniques.
Types of machine learning techniques¶
There are three main categories of machine learning techniques:
Supervised learning: In supervised learning, training data contains the outputs of the model, that is, it contains examples of the expected output of the model once it is trained. We refer to the outputs as dependent variables and the inputs as the independent variables. The common terminology establishes that training data is labelled with the dependent variables. That is, each training data sample is associated with the corresponding output obtained when collecting the training data. Supervised learning is applied to prediction, classification, and generation problems.
Unsupervised learning: In unsupervised learning on the other hand, the objective is to learn hidden features of the available data. That is, the output is not explicitly found in the training data, but rather, it is implied and the objective is to learn it from the training data set. Unsupervised learning is used to solve clustering problems, as well as other types of problems like anomaly detection, or subtasks (tasks needed to solve a learning task) like dimensionality (determine how to use the input data).
Reinforcement learning: Reinforcement learning is a different type of machine learning technique based on a reward system. A reinforcement learning agent is a mathematical model of a real world agent performing different actions. Similarly, the environment is modeled as a state machine with a numerable number of possible states. Every action of the agent results in a change of the environment to a given state. For each state, there is an associated reward, and during training, the data is configured to maximize the overall reward obtained.


