An introduction to Machine Learning (ML)
Every few decennia there is a new cool kid around the block that makes an impact on the current world, an impact that is so big that we will have to adapt. Starting with the introduction of mainframe computing in 1950, the pc in 1975, the internet in 1980 and the introduction of mobile phones in 2007, towards the current age of Big Data which started in 2012.
Of course all the ages started earlier due to their development, but here we want to show the start of the "hype" cycles - or when it became a commodity.
Today, we are seeing a new and interesting interesting period (and we are already living in it!). One where machines will overtake the human brain in terms of intelligence. To illustrate how fast this is going, just take a look at the following image:
From this we can learn that the age came faster than we thought. Thanks to the introduction of the Tesla GP100 in 2016, and we can already see its impact today, just think about self driving cars, walking robots, …
Note: You need 4500 Tesla GP100s to achieve this performance. https://nvidianews.nvidia.com/news/nvidia-pascal-gpus-to-double-speed-of-europe-s-fastest-supercomputer
So you may wonder, what kind of magic is making all off this possible? Well this is a field in computer science called Machine Learning.
But what is this Machine Learning? Well after a quick search on Wikipedia, we can see that Machine Learning can be referred to: "a set of statistical techniques that gives computer systems the ability to 'learn with data, without being explicitly programmed'"
"A set of statistical techniques that gives computer systems the ability to 'learn with data, without being explicitly programmed'"
To make all this manageable, we can divide the area of Machine learning in three big chunks, namely Supervised Learning, Unsupervised Learning and since recently also Reinforcement Learning. But what do they mean?
Supervised Learning
We can compare supervised learning to teaching a kid to ride its bike. We put the kid on there and teach it how to ride while supervising it. When it falls, we help it up again and try again. Or we even try to show the kid how it should ride the bike.
If we generalize this, we can thus say that based on labeled examples, we learn to perform a certain action.
Some examples here are forecasting what the weather will be, or event where something belongs to. More commonly referred as Regression or Clustering.
Unsupervised Learning
Starting again from our "riding a bike" example above, we can now say that the kid has to learn how to ride the bike without any supervision. The kid should thus take its bike and teach itself how to ride a bike, without any examples.
In a more general description, we thus try to attempt to find structure in a dataset that is provided to us.
This is also just as in supervised learning a good method for Clustering and Regression, but then to find patterns in an unknown dataset, where we want to learn facts starting from nothing. Do note that for this method, a lot of data is needed before it becomes useful. Most of the time you will be better of with using supervised learning.
Reinforcement Learning
Reinforcement however is a completely different technique of Machine Learning. Reinforcement learning tries to act as in the natural world.
Just think about when you were young again, how did you learn words? How did you learn how to interpret different numbers, … this is reinforcement learning.
Reinforcement learning is a problem where an agent must learn to take a certain action at each timestep, receiving a reward as feedback.