Machine Learning is the latest buzzword floating around, and quite rightly so. It’s one of the most interesting and fastest growing subfields of Computer Science. To put it simply, Machine Learning is what makes your Artificial Intelligence intelligent. Most people find the inner-workings of Machine Learning mysterious – but that’s far from the truth. If you’re just beginning to understand Machine Learning, let us make it easier by using an analogy:
You’re trying to throw a paper-ball into a dustbin.
After one attempt, you’ll get a fair idea of the amount of force you need to put. You put the required force in your second attempt, but the angle seems to be wrong. What is essentially happening here is that with each throw you’re learning something and bringing your outcome closer to the desired result. That is because we, humans, are inherently programmed to learn and grow from our experiences.
Suppose you replace yourself with a machine. Now, we have two ways of going forward:
Non-Machine Learning Approach
A generic, non-machine learning approach would be to measure the angle and distance and then use a formula to calculate the optimal force required. Now, suppose we add another variable – a fan that adds some wind force. Our non-ML program will fail almost certainly owing to the added variable. If we’re to get it work, we need to reprogram it keeping the wind factor in mind and the formula.
Machine Learning Approach
Now, if we were to device a Machine Learning based approach for the same problem, it’d also begin with a standard formula – but, after every experience, it’d update/refractor the formula. The formula will get improved continuously using more experiences (known as ‘data points’ in the world of Machine Learning) – this will lead to improvements in the outcome as well. You experience these things on a daily basis in the form of your Facebook newsfeed, or custom curated YouTube suggestions or other things of this sort – you get the gist.
What is Machine Learning?
The above analogy should make it clear that Machine Learning is simply using algorithms and processes to train your system to get better with experience. However, for the sake of a technical definition, a system is said to learn from the experiences with respect to a set of tasks, if its performance at the said tasks improves with time and experience.
What this essentially means is that in Machine Learning, the system improves its performance with experience. This is precisely what we noticed in our analogy as well.
Types of Machine Learning
Depending on your problem statement, you can use either of the three techniques to train your system:
Supervised Machine Learning should be applied to datasets where the label/class of each data is known. Let us imagine we want to teach our system how to distinguish between the images of a dog and a human. Suppose we have a collection of pictures that are labeled as either human or dog (labeling is done by human annotators to ensure a better quality of data). Now, we can use this data set and data classes to train our algorithm to learn the right way. Once our algorithm learns how to classify images, we can use it on different data sets- to predict the label of any new data point.
As you can guess from the name, unsupervised Machine Learning is devoid of any supervising classes or labels. We just provide our system with a large amount of data and characteristics of each data piece. For example, suppose in our earlier example we just fed a number of images (of humans and dog) to our system giving each image a characteristic. Clearly, the characteristics of humans will be similar and different from dogs. Using these characteristics, we can train our system to group data into two categories. An unsupervised version of “classification” is called as “clustering”. In clustering, we don’t have any labels. We group the datasets on the basis of common characteristics.
Natural Language Processing
In reinforcement learning, there are no classes or characteristics, there’s just an end-point – pass or fail. To understand this better, consider the example of learning to play chess. After every game, the system is informed of the win/loss status. In such a case, our system does not have every move labeled as “right” or “wrong”, but only has the end-result. As our algorithm plays more games during the training, it’ll keep giving bigger “weights” (importance) to the combination of those moves that resulted in a win.
Breakthrough Applications in the field of Machine Learning
From our above discussion, it’s clear that Machine Learning can indeed solve a lot of problems that traditional computers just can not. Let’s look at some of the applications of Machine Learning that have changed the world as we know it:
1. Fighting Webspam
Google is using “deep learning” – it’s neural network, to fight spam both online and offline. Deep Learning uses data from the users and applies natural-language processing to conclude about the emails it encountered. Not only does it help the web-users, but also the SEO companies trying to help legitimate websites rank higher using white-hat techniques.
2. Imitation Learning
Imitation learning is very similar to observational learning – something we do as infants. This is extensively used in field robotics and in industries like agriculture, search, construction, rescue, military, and others. In all such situations, it’s extremely difficult to manually program the robots. To help with that, programming by demonstration – also known as collaborative methods is used coupled with Machine Learning. Take a look at this video published by Arizona state, which shows a humanoid robot learning to grasp different objects.
3. Assistive and Medical Tech
Assistive robots are robots that are capable of processing sensory information, and performing actions in times of need. The Smart Tissue Autonomous Robot (STAR) was created using this type of machine learning and real-world collaborations. STAR uses ML and 3D sensing and can stitch together pig intestines (used for testing) better than any surgeon. While STAR wasn’t developed to replace the surgeons, it does offer a collaborative solution for delicate steps in medical procedures.
Machine Learning also finds applications in the form of predictive measures. Like a colleague can look at a doctor’s prescription and find out what they might have missed, an artificially intelligent system too can find out the missing links in a prescription if trained well. Not only this, but AI can also look for patterns that point to possible heart failures. This can prove to be extremely helpful to doctors as they can collaborate with the virtual robot A.I to better diagnose a fatal heart condition before it strikes. The extra pair of eyes (and intelligence) can do more good than harm. Studies thus far also promise for the future application of this technology.
4. Automatic Translation/Recognition
Although it looks like a simple concept, ML can also be used to translate text (even from images) into any language. Using neural networks will help in the extraction of text from an image which can then be translated into the required language before putting it back into the picture. Other than this, ML is also used in every application that deals with any kind of recognition – voice, images, text, you name it!
5. Playing Video Games Automatically
This is one of the cooler applications of Machine Learning although it might not have that much of social utility like the others mentioned in the list. Machine Learning can be used to train Neural Networks to analyse the pixels on a screen and play a video game accordingly. One of the initial attempts at this was Google’s Deepmind.
Having said that, Machine Learning isn’t the solution to all your problems. You don’t need machine learning to figure out a person’s age from his DOB, but you certainly need ML to figure out a person’s age from his music preferences. For example, you’ll find that fans of Johnny Cash and the Doors are mostly 35+ in age, whereas most of the Selena Gomez fans are under 20. Machine Learning *can* be used for any problem around you, but should it? Not really. Never use machine learning as a solution to your problems without being sure that you really need your machine to learn. Otherwise, it’d be like killing mosquitoes using machine guns – they might get killed, they might not, but at the end of the day, was it worth it?
Hope you enjoyed this article on Machine Learning. If you’re struggling somewhere, do let us know in the comments below!