RNN: Recurrent Neural Networks

In normal feed-forward neural networks the activation flows only in one direction, from the input layer to the output layer, eventually passing through a set of hidden layers. Conversely, recurrent neural networks (RNN) have also connections pointing backward, thus allowing them to take also the temporal dimension into account. This novel architecture enables them to take as their input not just the current input xi … Continue reading RNN: Recurrent Neural Networks

Teaching AI to play Snake with Genetic Algorithm

Supervised learning, unsupervised learning, and reinforcement learning are commonly recognized as the three main ways to train machine learning models. We can have a fourth one if we include the union of the first two, that is, semi-supervised learning. However, in this post, we are going to introduce an alternative algorithm that can be used to both train and optimize neural network models: Genetic Algorithm. … Continue reading Teaching AI to play Snake with Genetic Algorithm

Donut: unsupervised anomaly detection using VAE

In this post, we are going to use Donut, an unsupervised anomaly detection algorithm based on Variational Autoencoder which can work when the data is unlabeled but can also take advantage of the occasional labels when available. In particular, we are going to focus on detecting anomalies on time series KPIs (key performance indicators) which are time-series data, measuring metrics such as the number of … Continue reading Donut: unsupervised anomaly detection using VAE

GAN: Generative Adversarial Networks

Imagine a scenario where a forger attempts to produce fake currencies and the policeman has to try to distinguish those fake currencies from the real ones. At the beginning, both don’t have much experience, the forger will just come with a piece of paper with a dollar bill scribbled on it. Obviously, is that is a fake currency, but the unexperienced policeman still will struggle … Continue reading GAN: Generative Adversarial Networks

Predicting players’ departure in MMORPGs

MMORPG’s business model Nowadays, MMORPGs are so popular that their market is worth over a billion dollars in 2019 and it is expected to keep growing during the following years. They can count over 10 million active monthly players, and, as expected, their huge base of players is one the keys to their success. In fact, these kinds of games belong to the (FTP) Free-To-Play … Continue reading Predicting players’ departure in MMORPGs

Predicting players’ behaviors in MMORPGs

Have you ever heard the word “MMORPG“? Probably yes, but you don’t know its meaning, isn’t it? Well, then I’m going to tell you, it means Massive Multiplayer Online Role Play Games. They are that kind of videogames where each user controls a digital avatar and interacts with other online users in a digital world. You probably have already heard of many of them such … Continue reading Predicting players’ behaviors in MMORPGs

CNN: Convolutional Neural Networks

If we want machines to think, we need to teach them to see Fei-Fei Li Computer vision is one of the most challenging and fascinating field of machine learning. We can say it acquired popularity back in 2010 since the ILSVRC (Large Scale Visual Recognition Challenge) competition was introduced by Alex Berg from Stony Brook, Jia Deng from Princeton & Stanford, and Fei-Fei Li from … Continue reading CNN: Convolutional Neural Networks

Generating handwritten digits with VAE and Zhusuan

In the last post we talked about Variational Auteoncoders (VAE), powerful generative machine learning model able to generate new data based on previously seen samples. In this post we are going to implement one and use it to generate handritten digits. Will you recognize which digits have been written by a human and which ones have been written by a machine? We are going to … Continue reading Generating handwritten digits with VAE and Zhusuan

VAE: Variational Autoencoder

Here are some digits, first of all, I ask you “Can you recognize them?” Maybe not all of them, some digits are actually blurred while others are quite ambiguous. Now let me show you another set of digits. It sounds like someone wrote many “6”s, all of the are very similar, but not the same. The second question I want to propose now is “Have … Continue reading VAE: Variational Autoencoder

Logistic regression

Logistic regression is a supervised machine learning model used for classification tasks. It works by learning an hyperplane defined by some coefficients (or weights) θ = [θ0,…,θd] such that it can split the data into two subsets according to their labels. These coefficients θ are composed by a weights vector w = [w1,…,wd] plus a bias term b. For simplicity, we will consider a binary … Continue reading Logistic regression