As Arthur Samuel put it in 1959, Machine learning is basically a subfield of computer science that “gives computers the ability to learn without being explicitly programmed.” Such a definition probably brings a few questions to your mind:
What is the learning based on?
What is actually learning?
And how can your startup benefit from it?
Let’s briefly connect the dots.
In machine learning, we basically have a model that needs to be trained. This model interprets the data that it gets. In general, there are four popular types of machine learning.
Let’s go through them one by one.
Imagine you’re in the room with a bunch of people sitting around the table. You’re clicking on thousands of images saying “this is a face, this also is a face, and this is the face too.” That's how supervised learning works.You tell the algorithm exactly what it needs to know. In short - A is A, B is B, C is C. You create a classifier, you know the input and output, you label the data. You know exactly how big your training and test sets are.
Supervised learning model lets you label the elements to the extent that you feel like labeling them. It means that if you need to increase the accuracy of your algorithm, you simply use more labels. But as you can imagine, labeling thousands of images, speech files, etc. is not the best way to go. It’s 100% based on how quickly and accurately you can label set images, and it’s not very scalable.
When you’ve finished labeling, it’s time to test your set. On average, you’ve got about 60% training set and 40% test set. The reason for this is not to overfit the algorithm (not to allow it to become so fit on the train algorithm, that it's unable to find higher level connections, think outside the box, and to figure out what else is useful).
When testing, it's important to focus on precision and recall. Precision is essentially the relation of positive results vs. the negative ones. In other words, it’s the percentage of algorithm’s accuracy.
A recall is how many of the positive results out of all positive results in a set does the algorithm verify. Analysing the recall, you know exactly how much you should be discovering, and you can relate to it.
There's also an F1 score, scaling precision and recall outcome and dividing them by two, and giving you a weighted average (let’s not get deeper into it for this while).
Which businesses use supervised learning?
Well, if you use Amazon or Netflix, those basically work on you training their supervised learning model. They have a general network that is accustomed to the average population, but it becomes customized when you supervise. This means that, when you buy products, you look at them, click certain buttons, visit certain sections. Meanwhile, your behavior becomes a training material of the supervised learning model.
If supervised learning is telling the algorithm exactly what is what, unsupervised is the opposite of this. In unsupervised learning, you don't really have a filter. Instead, you’re telling the algorithm to group and interpret things by itself, basing solely on input data.
Putting it shortly, you're throwing a bunch of data into the algorithm and saying “figure it out for me.” Coming back to our example of recognizing faces in the images, unsupervised learning would mean dividing a pile of photos with the same group of people on them into a few separate sets, each of them picturing just one particular individual from the group (without any former information who is who on the pictures!)
Using unsupervised learning model doesn't take much time, it’s easy (when already working), and useful, particularly when you have diverse data set and you need to figure out what the differences are. But as this model is experimental, it needs constant iterating. You obviously can’t get results right open as oftentimes, it’s difficult to find some novel insights.
The unsupervised learning method is becoming increasingly helpful as our skills at creating algorithms improve, our datasets are becoming larger, and we start processing faster, iterating more frequently, making the models more and more precise.
Which businesses use unsupervised learning?
Unsupervised learning is used for image segmentation and recognition. For instance, Facebook's pinning suggestions are based exactly on this model. Unsupervised algorithms are also used e.g., in bioinformatics, facilitating sequence analysis, genetic clustering, etc.
As you can imagine semi-supervised learning is somewhere in the middle between supervised and unsupervised learning model.
Semi-supervised learning is basically taking an unsupervised badge, and a very small, labeled training set. The other training elements are not labeled, except this small set, which makes the process way quicker.
This machine learning model is particularly helpful in case of complex actions, eg. transcribing an audio recording. For such arduous and time-consuming tasks, it’s better to support our model with a small training set that’s labeled, so that it's not completely lost.
This model has been proven to both useful and ... finicky. If you’ve got a diverse data set, and you give the computer some labeled examples, it's going to base its decisions on the information given. That’s the tricky part, as you never know what conclusions would your given examples trigger. Obviously, you can figure it out iterating, but it's way more difficult then supervised learning.
Now, our picture recognition allegory again.
You have a set of pictures with different landscapes. To make it easier for the computer, you give him a small set of labeled data, so that it knows what a dog and a tree is. In practice, your model was never taught how does the dog sitting under the tree look like. But as it recognises a dog and a tree, it extrapolates that the landscape pictures a dog under the tree.
Which businesses use semi-supervised learning?
The widely known case of semi-supervised learning usage is ImageNet. This is actually the most famous example of image recognition based on semi-supervised learning model.
Reinforcement learning is kind of like training a dog. You give the input, and you tell the computer to go on with learning and classifying, providing ‘rewards’ or ‘punishments’ dependent on its outcomes.
Remember playing Super Mario Bros? If Mario dies, that’s the punishment. The further he gets, that’s his reward. So his goal is to optimise the reward, and this is exactly how reinforcement learning works. Going back to our allegory of recognising pictures, reinforcement learning would mean identifying people in the picture, based on the same punishment/reward conditioning system.
What makes Reinforcement learning model particularly interesting is the fact that it allows the machine to figure out what is it doing. As you may imagine, it takes a lot of time and iterations, as the machine is learning in time series. In other words, it needs to be constantly busy working on something to learn effectively.
In comparison with other learning models, reinforcement learning is definitely more guided than unsupervised learning, but at the same time, it’s obviously more complex than simple labeling (supervised learning).
Which businesses use reinforcement learning?
As you might be aware, a few years ago Atari became popular with automatically playing Atari games (and also other video games). This actually works on reinforcement learning. Another example of using this learning model in practice is developing self-driving cars. The rule of reinforcement is pretty simple here: If the car gets a negative score for running a red light than it learns that that's not a right action.