blur code

Blur Code

Working towards providing new and cool programming articles.
A perfect blend of knowledge & technology to become a better coder

Machine Learning in Layman’s Term

A Comprehensive guide to start your journey in Machine Learning. It covers all the basics Required to understand the advanced concepts. A must read for any beginner.

Shrikumar Shankar

6 minute read

Nowadays, the buzz is around these magical tools called ‘Machine Learning’ and ‘Deep Learning’. But for an average human with no computer science background it is just that magic. Possibility is that you are using it in one way or the other and you don’t even know about it.

In this post (and possibly subsequent posts), I will ATTEMPT to explain Machine Learning and the tools, trickery behind it.


What is Machine Learning?

By definition, Machine learning provides computers with the ability to learn without being explicitly programmed. The core essence of (most) Machine Learning algorithms is Pattern Recognition.

Source Github
Source Github

Consider the example. There’s a baby. The baby’s task is to fit wooden blocks into correctly shaped slots. The baby might start off by sticking a circular block to a square hole. It fails in its first attempt, but will eventually learn to match the block with its respective hole. Thus the baby could identify a pattern between the shape of block and shape of the hole.

Here’s a more technical definition of machine learning — *A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E. *Now let’s try to map the parameters P, T and E with the above given shape sorter example.

Here parameter E will be the experience of baby trying to sort the given shapes. Parameter T will be the task presented to the baby, i.e. to fit wooden blocks into correctly shaped slots. Parameter P will measure the performance of the baby. Thus the baby will ‘learn’ after each iteration of performing the task.

A real world example could be finding patterns among data in a very huge database. These patterns might not be visible to humans, but leveraging computer’s capability we can identify such complex patterns. For example, identifying a mail as spam, E-commerce recommendation system, image recognition etc.

In a world saturated by artificial intelligence, machine learning, and over-zealous talks about both, it is important to understand and identify the types of machine learning we may encounter. For the practitioners creating these algorithms, it’s essential to know the types of machine learning so that for any given task they may encounter, they can craft the proper learning environment and understand what to apply.

Machine Learning can be broadly classified into 3 types :- Supervised learning, Unsupervised learning and Reinforcement Learning.


1. Supervised Learning

Supervised learning is the most popular paradigm for machine learning. It is the easiest to understand and the simplest to implement. Supervised machine learning algorithms are designed to learn by example. The name “supervised” learning originates from the idea that training this type of algorithm is like having a teacher supervise the whole process.

When training a supervised learning algorithm, the training data will consist of inputs paired with the correct outputs. During training, the algorithm will search for patterns in the data that correlate with the desired outputs. After training, a supervised learning algorithm will take in new unseen inputs and will determine which label the new inputs will be classified as based on prior training data. The objective of a supervised learning model is to predict the correct label for newly presented input data. At its most basic form, a supervised learning algorithm can be written simply as:

Source Medium
Source Medium

Where Y is the predicted output that is determined by a mapping function that assigns a class to an input value x. The function used to connect input features to a predicted output is created by the machine learning model during training.

Supervised learning can be split into two subcategories: Classification and Regression.

Source Medium
Source Medium

Some examples of Classification are Identity fraud detection, Spam E-mail detection, Image Classification etc. Population growth prediction, Market Forecasting, Weather Forecasting etc. are some common examples of Regression.


2. Unsupervised Learning

Unsupervised Learning, on the other hand, doesn’t need any examples. Consider giving a baby a bunch of square and circular blocks and not telling the baby the difference between them. Now, you ask the baby to separate the blocks into 2 categories. A smart baby would understand what you’re saying and would be able to identify that these blocks are in different shapes. Unsupervised learning algorithm works similarly i.e. By sorting these blocks by their shapes, our algorithm would be able to identify 2 separate categories (i.e. square and circle) for these blocks.

Thus Unsupervised Learning is identifying patterns without you having to explain what the pattern is.

Source Medium
Source Medium

The most common form of Unsupervised learning is Clustering. The above explained example is a type of Clustering problem. A loose definition of clustering could be “the process of organizing objects into groups whose members are similar in some way”. A cluster is therefore a collection of objects which are “similar” between them and are “dissimilar” to the objects belonging to other clusters.

Many companies use clustering for targeted marketing and customer segmentation. For example, Given the height and weight of customers, a clothing company can group their customers according to their shirt size. The most common example of Clustering is recommender systems used by OTT platforms like Netfilx, Amazon etc.


3. Reinforcement learning

Reinforcement Learning is a part of Machine Learning which mainly focuses on making models learn from mistakes. It is learning what to do and how to map situations to actions. The algorithm gets either rewards or penalties for the actions it performs. The end result is to maximize the numerical reward signal. The learner is not told which action to take, but instead must discover which action will yield the maximum reward.

Consider an example of a child learning to walk.

Source Medium
Source Medium
  1. The first thing the child will do is to observe how you are walking. You use two legs, taking a step at a time in order to walk. Grasping this concept, the child tries to replicate you.

  2. But soon he/she will understand that before walking, the child has to stand up! This is a challenge that comes along while trying to walk. So now the child **attempts to get up. **He/she might fail to do so in the first attempt but will eventually succeed.

  3. The next challenge would be to remain still. Clutching thin air to find support, the child manages to stay standing.

  4. Now the real task for the child is to start walking. But it’s easy to say than actually do it. There are so many things to keep in mind, like balancing the body weight, deciding which foot to put next and where to put it.

Source Medium
Source Medium

The child gets a reward (let’s say chocolate) when he/she accomplishes a sub module of the task (viz taking couple of steps) and will not receive any chocolate** (a.k.a negative reward)** when he/she is not able to walk. This is a simplified description of a reinforcement learning problem.

Self driving cars, Game AI (bots), Robot navigation etc. are some examples of reinforcement learning.


And that’s it. Now you know about the types of machine learning algorithms.


About the author

Shrikumar Shankar, is an undergraduate pursuing B. Tech from SRM IST. He is an enthusiast in Machine Learning and loves to share the knowledge gained through his blogs. He aims to make non-tech people aware of the basic terminologies of machine learning and its applications.

Shrikumar Shankar
Shrikumar Shankar


Reviews

If You find it interesting!! we would really like to hear from you.

Ping us at Instagram/@the.blur.code

If you want articles on Any topics dm us on insta.

Thanks for reading!! Happy Coding

Recent posts

Categories