What is Machine Learning? This story started in mid 60 in the last century. Scientists and engineers found a lot of problems that were too complicated for traditional algorithms that it was not possible to create a program that could have possibly solved the problem.
Imagine a case where you have an object that is descirbed by 21 properties (as an input) and based on these properties you need to classify it to group A or to the group B. How would you solve the problem? Would you need to analyze all the 21 attributes and for all their possible combinations say whether your object is in group A or B.
21! = 5.1090942e+19 combinations. It is a lot! That means you would need to write 5.1090942e+19 instructions like IF statements. This is not possible at all I think!
If you wonder what object I refer to – here it is – the data set and a beautiful picture of it below.
This is why people started to think that at some point traditional programming is not enough and this approach will not work anymore. We need to use other methods to find insights in the data. There should be new algorithms that can learn from data. That means that the algorithms should look for some patterns (but not only). This is a boring task so we (humans) let the machines to do this. We (humans) like creative tasks.
How much data we need for Machine Learning? The more the better! The more you have the more insights you can find. Lets make a pause here as it is not so simple and require some knowledge from statistics as well. You need to also have some knowledge from linear algebra, probability theory and optimization methods. I will explain this in the next articles.
How to start with Machine Learning?
Every Machine Learning process is built from several steps like:
- what would you like to achieve (define the goal)
- prepare the data
- select an algorithm(s)
- build and train the model
- test the model (and score it)
I will go through all the mentioned steps in details in next articles. They are important and you need to understand them very well.
What types of Machine Learning do we have?
There are three types of ML:
A Supervised Machine Learining is when you know your data set – you know the label of each of the attributes in the data set. You know the names and you know what is the purpose of each attribute. At the end you can say what are the inputs and outputs – so you know what to look for.
In the Unsupervised Machine Learning the data set contains attributes with no label. The algorithms try to find patterns, knowledge from the data. This might look very intuitive as of now but we will go into this as well.
The Reinforcement Machine Learning allows the algorithms to learn by trial and error. Then an algorithm makes and error it is penalized. When an algotithm does not have errors – it is rewarded. Think about a chess game or a very complex game of Go and maybe an autonomous cars.