Deep Learning computer beats humans in IQ Test. Google AlphaGO defeats World champion Go player. Headlines like these are now becoming more and more common. The machines are becoming intelligent and smarter and now people are wondering if machines will completely replace human workers in all the fields. Everywhere there is only one word buzzing…….Machine Learning.
What is Machine Learning?
Machine learning is the idea that there are generic algorithms that can tell you something interesting about a set of data without you having to write any custom code specific to the problem. Instead of writing code, you feed data to the generic algorithm and it builds its own logic based on the data.
For example, one kind of algorithm is a classification algorithm. It can put data into different groups. The same classification algorithm used to recognize handwritten numbers could also be used to classify emails into spam and not-spam without changing a line of code. It’s the same algorithm but it’s fed different training data so it comes up with different classification logic.
Two kinds of Machine Learning Algorithms
There are N number of algorithms to implement machine learning but broadly all the algorithms can be classified into two broad categories, namely –
- Supervised Learning
- Unsupervised Learning
The difference is simple but very important.
Supervised Learning
Let’s say you are a real estate agent. Your business is growing, so you hire a bunch of new trainee agents to help you out. But there’s a problem — you can glance at a house and have a pretty good idea of what a house is worth, but your trainees don’t have your experience so they don’t know how to price their houses.
To help your trainees (and maybe free yourself up for a vacation), you decide to write a little app that can estimate the value of a house in your area based on it’s size, neighborhood, etc., and what similar houses have sold for.
So you write down every time someone sells a house in your city for 3 months. For each house, you write down a bunch of details — number of bedrooms, size in square feet, neighborhood, etc. But most importantly, you write down the final sale price:
Using that training data, we want to create a program that can estimate how much any other house in your area is worth:
This is called supervised learning. You knew how much each house sold for, so in other words, you knew the answer to the problem and could work backwards from there to figure out the logic.
To build your app, you feed your training data about each house into your machine learning algorithm. The algorithm is trying to figure out what kind of math needs to be done to make the numbers work out.
In supervised learning, you are letting the computer work out that relationship for you. And once you know what math was required to solve this specific set of problems, you could answer to any other problem of the same type!
Unsupervised Learning
Let’s go back to our original example with the real estate agent. What if you didn’t know the sale price for each house? Even if all you know is the size, location, etc. of each house, it turns out you can still do some really cool stuff. This is called unsupervised learning.
Even if you aren’t trying to predict an unknown number (like price), you can still do interesting things with machine learning. This is kind of like someone giving you a list of numbers on a sheet of paper and saying
“I don’t really know what these numbers mean but maybe you can figure out if there is a pattern or grouping or something - good luck!”
So what could you do with this data? For starters, you could have an algorithm that automatically identified different market segments in your data. Maybe you’d find out that home buyers in the neighborhood near the local college really like small houses with lots of bedrooms, but home buyers in the suburbs prefer 3-bedroom houses with lots of square footage. Knowing about these different kinds of customers could help direct your marketing efforts.
What are the applications?
Unlimited.
Looking at the current day world, we can have machine learning applications in every sphere of our life. Many small things of our day to day life are in fact working on the application of machine learning.
Tagging your friends on Facebook, asking Google assistant or Siri to write an email for you while you dictate, the automatic separation of spam and genuine mails in your emails, auto predicting words and phrases while you type, etc. all these are real life applications of machine learning.