Have you ever wondered how the spam in your mailbox is automatically detected? And what about speech recognition or handwriting recognition? These are quite challenging problems. But luckily they have one thing in common – that is data, and a good deal of it.
Machine learning aims at creating systems that learn from data using various computer science and mathematical techniques. To put it differently, machine learning is the study of computer algorithms that improve automatically through collected information of experience, i.e., data.
Now, imagine a computer. Normally when you want the computer to do your bidding, you give it instructions. These instructions are generally given using programming languages. They help us instruct the computer as to what it has to do. We not only give the computer the recipe, but also how to do each individual task. Machine learning is a bit different – and that bit is quite crucial.
Lets look at the spam detection system as an example. Lets say we have two programmers, Alice and Bob. Bob decides to make a spam detection program using the general programming tools and techniques. Alice on the other hand decides to make it using Machine learning techniques (like the Naive Bayes Span Filtering method).
The challenges Bob faces are the following: 1.) He needs to understand a great deal about spam. 2.) He needs to turn that understanding into algorithms, instructions for the computer to perform. 3.) He has to keep up with the changes that the spammer makes manually. 4.) His program will remain the same with time.
Alice on the other hand has to use Machine learning techniques that give her the following advantages: 1.) She need not learn much about spamming as she wants the system to figure out if the mail is spam or not. 2.) She does not have to make the spam detection algorithm, the computer tries to make an approximate algorithm on its own based on the data 3.) The computer can easily detect new changes in spam and readjust its parameters to get desired results on its own. 4.) The system grows over time and becomes a better approximation of spam detection the more data that it processes.
Machine learning is wide area, whose applications are used in many places like:
- Spam detection
- Handwriting(machine learning algorithms
- Google street view uses machine learning algorithms to blur out people’s faces, license plates
- Practical speech recognition
- Effective web search
- Self driving cars
- Computer vision
- Stock trading
- Drug design
- Netflix uses machine learning algorithms for better recommendations about what to watch!
All these use some form of machine learning to solve their respective problems.
Machine learning is present in almost all aspects of modern lives, we mostly don’t recognise them. These are the general steps in most machine learning 1. Get the data sets. 2. Choose a good representation(called classifiers) for the data sets, so that the computer can understand the data. 3. We send these data sets to a function that applies appropriate algorithms, give scores to various results. 4. We search among the results for highest scoring ones.
A lot of Artificial Intelligence problems are extremely complicated, and there are many approaches to solving them. An important approach is to let the computer learn on its own(we don’t explicitly program all its features) – that is, it changes and learns as it processes more data. What the computer basically learns are new patterns, better patterns.
Machine learning and other similar techniques are seeping more and more into our daily lives. With the advent of Big Data , we have entered the age of personalisation, from movie recommendations to medical advice.
Machines get smarter by the day and are here to stay.
To learn more about machine learning, this subreddit is a good starting point .