In this blog post
Gireesh Sreedhar KP
Machine Learning (ML) is key pillar of the Artificial Intelligence (AI) domain. ML solves problems which are unimaginable using traditional programming paradigm. During my interactions with people on ML, I am frequently asked following key fundamental questions.
- What is Machine Learning (ML)?
- What is the need for ML programs when traditional programs have served us well for decades?
- What differentiates ML from traditional programming paradigm?
Let me answer above questions from a programmer’s perspective to build understanding irrespective of your ML background.
Traditional Programming Paradigm
We are familiar with traditional programming, where we use selected programming language (like C, Java, etc.) and program specific instruction or rules to process inputs which creates output we need.
Let us understand with an example, a retail store wants to write a program to find amount to be paid (Amount) given Quantity (q) and price per unit (p). We will solve this by writing code as below.
- Read two inputs ‘q’ and ‘p’ (Data)
- Amount = p*q (apply Rules, Rules are part of program, but shown as input for illustration)
- Return Amount (Output)
The need for Machine Learning
Let us try to solve same problem of computing ‘Amount’ from inputs ‘p’ and ‘q’. However this time we are required to read the inputs (p and q) from a piece of paper with digits either handwritten or printed. This needs program to recognize the digits from paper (images of digits received by program) before digits can be assigned to ‘p’ and ‘q’.
Let us examine traditional programming approach (writing rules) to recognize the images of digits received by program
- Are rules scalable?
- Can rules handle recognizing digits written in different orientations and styles? Say, when image received is program should recognize the image as digit 8.
- There are over 70,000 samples of handwritten digits which are commonly used (refer MNIST database, sample below), can we write rules to cover all possible combinations?
Now it’s clear to us that rules-based approach will break and it’s not practical to build all rules and program those. We need something else instead of rules to solve these types of problems and that something else which replaces rules is Machine Learning.
What is Machine Learning?
Let us ask ourselves
- What differentiates the first problem statement (easily solved using rules) from the second one?
- Why a problem easily solved by humans (recognizing different styles digits by vision), is such a difficult task for computers?
We humans learn to identify digits which are written in standard format, however when presented with digits written in different styles and orientations, we are still able to recognize the digits identifying the patterns which are the beauty of human learning process. Can we make computers (machines) do the same and learn like humans? Let us understand how we make a machine to learn this task and perform like humans.
We will feed the Machine Learning program (ML) with lots of data (examples) containing images of digits in different styles and orientations along with actual digit it represents (supervised learning). Say one data point will be an image and mapped to corresponding digit 8. We are providing data along with the intended output as input to ML for learning. Processing lots of inputs, ML comes up with Rules or Patterns or Models to map an input to output we need (like humans).
This Rules/Pattern/Model learned by ML will be used to process new incoming data to produce output or sometimes called as Predictions.
What differentiates ML from traditional programming paradigm
The major difference between traditional program and ML is, traditional program applies rules on input data to produce output. However, ML takes output (outcomes we need) as input and produces Rules/Pattern/Models as output which are then used to process new inputs.
Why Machine Learning
Data-driven decisions increasingly make the difference between keeping up with the competition or falling further behind. Machine learning can be the key to unlocking the value of corporate and customer data and enacting decisions that keep a company ahead of the competition.
Machine Learning at GAVS
GAVS has own in-house Artificial Intelligence research team building advanced Machine Learning algorithm and techniques powering its products and solutions. ZIF (Zero Incident FrameworkTM) Artificial Intelligence-based Technology Operations (AIOps) from GAVS is powered by state-of-the-art Machine Learning algorithms developed in house.
Gireesh is a part of the projects run in collaboration with IIT Madras for developing AI solutions and algorithms. His interest includes Data Science, Machine Learning, Financial markets and Geo-politics. He believes that he is competing against himself to become better than who he was yesterday. He aspires to become a well-recognized subject matter expert in the field of Artificial Intelligence.