So, What is Machine Learning? Where does Machine Learning start and where does it ends? What exactly does it mean for a Machine to learn something? If I downloaded a copy of Encyclopedia, has my computer really learned something? Is it really smarter? In this blog, we will be trying to clarify What Machine Learning is and why you may want to use it.
This Blog will introduce a lot of Fundamental Concepts that every Data Scientist should know by heart. It will be a high-level overview. This Blog will be divided into 3 small Parts. So grab a ☕ and let's get started!
What is Machine Learning?
General Definition
Machine Learning is the art of programming computers so they can learn from Data just like you learn from your past experiences.
An Engineering-Oriented Definition
A Computer Program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. -- Tom Mitchell,1997
Did you know, the first ML application that really became mainstream, improving the lives of hundreds of millions of people was Spam Filter.
Let's take the example of a Spam Filter, So your Spam Filter is a Machine learning program that, given examples of spam emails (flagged by users) and some examples of regular(non-spam) emails, can learn to flag spam.
- The examples that the system uses to learn are called the Training Set.
- The Training Example is called Training instances(or sample).
- In this case, task T is to flag spam for new emails, the experience E is the training data, and the performance measure P needs to be defined. For Ex: you can use the ratio of correctly classified emails. This particular performance measure is called Accuracy.
Why use Machine Learning?
1) Problem: Write a Spam Filter Program
- By using Traditional Approach:
- Study pattern in the Sender's name, email body, and other parts of the emails. You might notice the same word or phrase (such as Credit Card, free, cash prize).
- Write a word detection algorithm for each of the words/patterns you noticed and your program would flag emails as Spam if a number of these words were detected.
- Test the program and repeat steps 1 and 2 until it was good enough to launch
- By using Machine Learning:
- The Machine Learning techniques automatically learns which words or phrase are good predictors of spam by detecting unusually frequent patterns of words in the spam examples. The program is much shorter, easier to maintain, and most likely more accurate.
2) Problem: Write a Program capable of distinguishing the words “one” and “two”
- By using Traditional Approach:
- For the Traditional Approach, this problem is too complex or has no known Algorithm.
- If you try to write the program you notice that the word “two” starts with a high-pitch sound (“T”), so you could hardcode an algorithm that measures the high-pitch sound intensity and use that to distinguish ones and twos—but obviously, this technique will not scale to thousands of words spoken by millions of very different people in noisy environments and in dozens of languages.
- By using Machine Learning:
- You could just write an algorithm that learns by itself, given many example recordings for each word.
3) Getting Insight into complex problems and large amounts of data. For instance, once a spam filter has been trained on enough spam, it can easily be inspected to reveal the list of words and combinations of words that it believes are the best predictors of spam.
Applying ML techniques to dig into large amounts of data can help discover patterns. This is called Data Mining.
Applications of Machine Learning
1) Detecting Tumor in Brain cells
2) Detecting Image of Products on Production Line.
3) Automatically classifying News articles.
4) Automatically Flag offensive comments on the Discussion Forum.
5) Weather Forecasting
6) ChatBot
7) Detecting Credit Card fraud.
8) Recommending Products that the client may be interested in.
9) User Segmentation based on their activity.
10) Image Transformation
This list could go on and on....on, but hopefully, it gives you a sense of the incredible breadth and complexity of the tasks that Machine Learning can tackle.
I am closing Part 1 here 🥳. In Part 2,will be covering Types of Machine Learning systems (supervised, unsupervised, semisupervised, and Reinforcement Learning)