6 Terms on Machine Learning You May Have Heard of
There are a lot of buzz words that fill the space around us. Here we will briefly cover top six terms on Machine Learning that you may have heard of.
A Couple of Words About Machine Learning and Deep Learning
Machine learning (ML) is a set of algorithms that ‘learn’ rules (patterns) from data.
Deep learning is a subset of ML. The main difference is in architecture and the amount of data needed for training (hence, the computational power required). But we will start with two major paradigms in ML.
1. Supervised Learning
Supervised learning is a paradigm in ML. It uses training data manually annotated by human experts to learn patterns in the data. For example, you can manually annotate thousands of examples of spam letters and valid emails and feed this data to the machine so that it will learn how to classify incoming emails into spam and non-spam. You may get good results, but manual annotation is usually slow, costly and error-prone.
2. Unsupervised Learning
Is another paradigm in ML that finds previously unknown patterns in data set without need of manual annotation. Since it requires no manual data preparation, it can be an affordable way of data exploration. However, it may take (much) longer to get an accurate model (compared to supervised ML) and you have little control over what patterns it will find.
You may want to apply unsupervised learning to the same task of spam filtering as above, but instead of spam/non-spam classifier, the machine will learn ‘letters about cats’ / ‘letters about dogs’ classifier.
3. Reinforcement Learning (RL)
This approach needs no manual labelling of training data and may produce a more controlled output. But you need to ‘explain’ to the machine what is ‘win’ and what is ‘fail’. In this case the machine learns sequence of actions needed to achieve a desired state (‘win’).
This type of ML was used in training of AlphaGO, a system that defeated a human in Go, the last game where the humans were better than the machine. The engineers used RL to train the machine by playing against itself (actually, there were two instances of the program playing one against another), and the feedback that the system received for reinforcement was the information whether it won or lost.
4. Convolutional Neural Networks (CNNs)
CNN is a class of deep learning algorithms that learn patterns in a hierarchical way most commonly applied to analyzing visual content (pictures and video). It’s like a pyramid where every ‘upper’ layer learns from ‘lower’ parts.
5. Recurrent Neural Networks (RNNs)
RNNs is another class of deep learning algorithms that are built on a chain-like architecture. It that works best for sequential data (e.g. human language, translation etc).
6. Generative Adversarial Networks (GANs)
This is an interesting type of deep neural network algorithms. It’s essentially an algorithm where two parts of the system are ‘playing’ with each other: one (a generator) tries to generate, say, an image of a cat, while the other (discriminator) is required to identify whether the image was real or artificially generated by the other part of the system. The ‘game’ lasts until generated images are indistinguishable from the real ones.
We just touched upon the most popular terms in Machine Learning. If you want to know more about them, bear with us and we will cover each of them in more detail.