Regular Dose of Machine Learning
Hey guys, thanks for joining me on my journey of learning Machine learning(ML). I am Aditya Kumar and just like you, I am also new to this section of Computer Science but worry not we’ll learn about this together.
I am the kind of guy who studies and prepares notes daily. So what I have decided is to compile everything section-wise and post it here at regular intervals so everyone else like me can refer to it.
So let’s start!
What is Machine Learning?
According to Arthur Samuel (1959), Machine Learning is a field of study that gives computers the ability to learn without being explicitly programmed. But I think it’s a quite generalised statement. So, to explain ML more fundamentally let’s refer to an explanation given by Tom Mitchell (1998), A computer program is said to learn from experience E for some task T and some performance measure P. If its performance on T as measured by P improves with experience E.
I would recommend you to go through the above line once or twice more to get the clarity of the basic concept of ML. Still confused, don’t worry let’s understand this with an example.
Let’s consider a scenario where the machine learning model needs to classify emails into a spam or not spam.
Experience E — Watching you label emails as spam or not spam.
Task T — Classifying emails as spam or not spam.
Performance P — The number(or fraction) of emails correctly classified as spam or not spam.
Let’s talk about the types of Machine learning Algorithm:
Broadly Machine Learning algorithms are classified into three categories:
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
We’ll go through every type in a consecutive manner.
According to Wikipedia, Supervised Learning is the machine learning task of learning a function that maps an input to an output based on examples/sets of input and output pairs.
Supervised Machine learning is the most famous form of machine learning. It is very easy to understand and implement. Given a set of labelled data(Input-Output pairs), the model then tries to form a function that can be used to predict output for a given input automatically without being explicitly programmed. Analogically speaking it’s just like how we as a child learnt new languages, concepts, etc and formed our own logic/reasoning.
For our machine model, this logic or reasoning is represented in form of function and by convention, also known as “Hypothesis Function”. Often, Supervised Learning is described as a Task-Oriented Algorithm because it is highly focused on a singular task.
This is the learning type that we will most likely encounter, as it is exhibited in many of the common applications:
- Spam Classification
- Advertisement Popularity
- Face Recognition
This approach is a lot different from the previous approach, its a type of algorithm that learns patterns from untagged data all by itself. Idea is that through mimicry, a machine is forced to build a compact internal representation of its space. Unlike supervised learning, the algorithm is fed with lots of unlabelled data sets and given the tools to understand the properties of data. From there it can learn to group or cluster the data on the basis of their properties.
What makes unsupervised learning so interesting and popular is that majority of data in this world is unlabelled and having an intelligent algorithm that takes behemoth size of unlabelled data and makes sense out of it is definitely a huge source of potential profits for many industries.
Some areas where unsupervised learning is blooming are:
- Buying Habit Analysis
- Grouping User Logs
- Recommender Systems(used in Netflix, Spotify, Prime Videos, etc)
Reinforcement Learning is fairly different from supervised and unsupervised learning. In the above scenarios, we can easily relate between input and output states and find a relationship in a given data set or study the characteristics of data and classify them on that basis.
But in reinforcement learning, it's all about finding a suitable action in a particular situation to maximise reward. It can be summarised as it is an algorithm that learns from its mistakes.
So as long as we provide some sort of signal to the algorithm that associates good behaviours with a positive signal and bad behaviours with a negative one, we can reinforce our algorithm to prefer good behaviours over bad ones. And over time algorithm learns to make fewer mistakes.
So what are the scopes for reinforcement learning where are we using it?
- Models for autonomous cars
- Video games
- Industrial Simulation
- Resource Management
Now that we have learnt about three different types of machine learning algorithm it is important to remember that lot of times we tend to forget about the difference between them, I would suggest being consistent with the basic concept. In case of any doubt in topics, we discussed so far you can reach me out anytime and I wish you all the very best and Happy Learning!!!