AI (I): Machine learning

Machine learning provides de foundation for artificial intelligence. So, what is it?

Machine learning is a technique in which we train a software model using data. The model learns from the training cases and then, we can use the trained model to make predictions for new data cases. To have a computer make intelligent predictions from the data, we just need a way to train it to perform the correct calculations.

We usually start with a data set that contains historical records, often called cases or observations. Each observation includes numeric features that quantify a characteristic of the item we are working with. We can call it ‘X’. In addition, we also have some value that we are trying to predict, we can call it ‘Y’. The purpose is to use our training cases to train a machine learning model so it can calculate a value for ‘Y’ from the features in ‘X’. As a simplification, we are creating a function that operates on a set of features ‘X’, to produce predictions ‘Y’.

Generally speaking, there are two broad kinds of machine learning, supervised and unsupervised.

In supervised learning scenarios, we start with observations called labels, that include known values for the variable we want to predict. The first thing we need to do, it is to split our data because we already know the label we are trying to predict. In this way, we can train the model using half of the data and keep the rest to test the performance of our model. When we obtain the desired results and we are confident our model works, we can use it with new observations for which the label is unknown, and generate new predicted values.

Unsupervised learning is different from supervised learning, in that this time we do not have known label values in the training data set. We train the model by finding similarities between the observations. After the model is trained, each new observation is assigned to the cluster of observations with the most similar characteristics.

AI (I): Machine learning

Machine learning branches

In machine learning we can find three main different branches where we can classify the algorithms:

  • Supervised learning.
  • Unsupervised learning.
  • Reinforcement learning.

Supervised learning

In supervised algorithms you know the input and the output that you need from your model. You do not know how the output is achieved from the input data or how are the inner relations among you data, but definitely know the output data.

As an example, we can take a magazine publication that it has the subscription data of a determinate number of customers or old customers, let’s say 100.000 customers. The company in charge of the magazine knows that half of these customers (50.000) have cancelled their subscriptions and the other half (50.000) are still subscribed, and they want a model to predict what customers will cancel their subscriptions.

We know the input: customers subscription data, and the output: cancelled or not.

We can then build our training data set with 90.000 customers data. Half of them cancelled and half of them still active. We will train our system with this training set. And after that we will try to predict the result for the other 10.000 we left outside the training data to check the accuracy of our model.

Unsupervised learning

In unsupervised learning algorithms you do not know what is the output of your model, you maybe know there is some kind of relation or correlation in your data but, maybe, the data is too complex to guess.

In this kind of algorithms, you normalize your data in ways that it can be compared and you wait for the model to find some of these relationships. One of the special characteristics of these models is that, while the model can suggest different ways to categorize or order your data, it is up to you to make further research on these to unveil something useful.

For example, we can have a company selling a huge number of products and they want to improve their system to target customers with useful advertisement campaigns. We can give to our algorithm the customers data and the algorithms can suggest some relations: age range, location, …

Reinforcement learning

In reinforcement learning algorithms, they do not receive immediately the reward for their actions, and they need to accumulate some consecutive decision to know if the actions/decisions are or not correct. In this scenario, there is no supervisor, the feedback about the decision is delayed and agent’s actions affect the subsequent data it receives.

One example of this, it can be the chess game, where the algorithm is going to be taking decisions but, till the end of the game, it is not going to be able to know if these decisions were correct or not and, obviously, previous decisions affect subsequent decisions.

Machine learning branches

Machine learning vs deep learning

AI (artificial intelligence) has been one of the buzzwords in the recent years and, it looks like it is going to continue been like that for, at least, a few more. Leaving on a side terminologies, the truth is that this kind of technologies offer great opportunities. Lately, there are two terms that we can listen quite often and almost everywhere. These two terms, related with AI, are:

  • Machine learning
  • Deep learning

Both terms are related, in fact, we can say the machine learning involves deep learning. Both technologies refer systems that can learn by themselves, the difference is the way they learn. As a quick explanation, we can say that deep leaning is more complex, more sophisticated and more autonomous. Once the deep leaning system is implemented the need for human intervention is minimal.

Machine learning

The main characteristic that differentiate these systems from other less advanced is the ability to learn by themselves. In this way, the system algorithm receives a set of rules to apply to the data but, the special thing about this kind of system is they can adapt these rules or develop new ones to increase the successful rate.

For example, let’s say we write a system to identify cat pictures (Internet loves cat pictures, we know). We can ask the system to identify some patterns: four legs, hair, nose, ears, tail, two eyes… All characteristics that usually cats have. After that, we can train the algorithm with a training set pointing to the system if we can find a cat or not. With this action we allow the system to create or adapt their own rules to make easier the task when new and unknown pictures will be given.

Deep learning

The difference between machine learning and deep learning is that the second one takes the learning part to a more advanced level. In this case, the system has layers or neuronal units trying to imitate the brain’s behavior.

In deep learning, each layer process the information and return a result as a percentage. For example, this picture has a 87% change to be a cat and a 13% change to not. The next layer analyzing the image will take this value and it will combine it with its own value. With this, the percentage will vary and, this new value will be sent to the next layer to perform a similar process. This process will continue layer after layer.

All these consecutive analysis performed by the different layers reduce the error rate and increase the number of correct conclusions. To train the system we will use again a training set and, specially in this case, the bigger, the better.

Machine learning vs deep learning