Machine learning is the hottest tech buzzword we have been hearing for the last decade. Given the attention, machine learning has harbored and the sophisticated problems it has been solving, it may seem like magic. But it’s not, it’s a branch of computational models built on the foundation of maths & statistics, developed over a couple of decades. It’s a segue of topics primarily to understand data and fit that data into models that can be adopted & utilized by enterprises, government & in the end people. Although the topic of machine learning is intrinsic within the streams of computer science, it usually differs from conventional computational approaches. Machine Learning Algorithms are undeniably one of the most powerful and influential technologies in the modern world and we are still far from seeing their full potential.
To understand it in numbers, a report by Gartner says that by 2022, there will be at least 40% of new application development projects going on in the market that would be requiring machine learning codevelopers on their team, expected to grow $3.9 Trillion in revenue. Disciplines of computer science like NLP (Natural Language Processing), computational biology, computer vision, robotics, and others rely heavily on machine learning. With this article, we’ll try to decipher it with an easy guide. So let’s get started.
Defining Machine Learning
We know that algorithms are sets of explicitly programmed instructions defined by humans & used by machines (computers) to calculate or solve a problem. Most of them are procedurals and that’s how things are for the last 50 years of software development. ML algorithms instead allow for machines (computers) to train on a certain data type and use statistical analysis to output values that fall within the specified range.
For the next part, let’s try an activity.
As you can see three are three distinct, sloppy designed and rendered images for the number ‘3’.
But your brain has no trouble recognizing it as a ‘three’. How crazy it is that brains can do this so effortlessly? Even though the specific values of each pixel are very different from one image to the next.
At the same time, the particular light-sensitive cells in your eye can differentiate between these three images. But something in that crazy smart visual cortex of yours resolves these as representing the same idea while at the same time recognizing other images as their own distinct ideas.
Now, what if you are given a task to write a program that takes in 28 ✖️ 28 pixels like the pictures above, and outputs a single number between 0 and 10, resulting in what the machine thinks the digit is? Well, the task becomes extremely difficult? Isn’t it? However, you can deploy algorithms to allow your machine (computer) to train on data inputs and derive results. Machine Learning is basically building models from datasets in order to automate decision-making processes based on data inputs. In our case, the detecting the number ‘3’.
The Application of Machine Learning
Most of us are oblivious to the fact that we are interacting with Machine Learning Algorithms every single day. Every time we google something, or listen to a song on Spotify, or even take a photo, Machine learning is the crucial engine running at the back. It is constantly learning and improving itself from our interaction. Facial Recognition allows us to help users tag and share photos of friends on Instagram, and Snapchat. The recommendation engine, powered by Ml models enables Netflix to cater to our movie search and tell what to watch next based on our preferences. ML is also behind some notable breakthroughs in medicine like detecting tumors & creating new drugs. Self-driving cars from Tesla rely heavily on ML to navigate their route. We think It’s hardly any need to motivate the relevance and importance of machine learning and neural networks to the present & the future.
We are drowning in information and starving for knowledge —John Naisbitt
The process of Machine Learning
The process to create & deploy a Machine Learning algorithm follows five steps in a defined order. They are
- Data Collection: Collect the data that the algorithm will learn from.
- Data Prepration: Check for format & engineer the data into an optimal format, declusstring & extracting crucial features while dumping useless data.
- Training: Also known as the fitting stage, this is where the Machine Learning algorithm actually learns by showing it the data that has been collected and prepared.
- Evaluation: Test the model to see how well it performs.
- Tuning: Tune the model to maximise optimal result.
Machine Learning Techniques & Approaches
There are primarily two widely adopted & well-established ML approaches; Supervised Learning & Unsupervised Learning. The other two; Semi-Supervised Learning & Reinforcement Learning are newer and much complex, although they have shown great results. We’ll explain the common use case scenarios and leave the other two for the next blog in Machine Learning Series.
Before that, let’s talk about the No Free Lunch Theorem. It simply states that no single algorithm can perfectly bend with all the tasks, in fact, each task you try to solve has its own idiosyncrasies. Ergo, there are a number of algorithms and approaches to suit different tasks with their specific quirks.
In this type of learning, the computer is offered with example inputs that are then labeled with their desired input. The main aim of this method is for ML algorithms to learn by comparing their actual output with the sampling data to find errors. If not sufficient, modify the model accordingly. That’s why Supervised learning uses patterns to predict label values on the unlabeled data.
Suppose your friend gives you 1 million coins of three different currencies say; euro, rupees & dirham. Each coin has different weights. For example, a coin of one rupee weighs three grams, one euro weighs seven grams and one dirham weighs four grams. Your model will predict the currency of the coin. Here your weight becomes the feature of coins while currency becomes the label. When you feed this data to the machine learning model it learns which feature is associated with which label. Further, it will learn that if a coin is of three grams it will be a one rupee coin. Let’s give you a diff coin to the trained ML model on the basis of the weight of the new coin. The trained model will predict the currency hence supervised learning uses labels data to train the model.
The application of the Supervised Learning model is to use historical data to predict statistically likely future events. One such model is used for all financial institutions to anticipate upcoming fluctuations in the market. All email service providers use predictive ML models to spam unwanted or malicious emails.
Unlike Supervised Learning, we don’t have to label data in Unsupervised Learning. So the perpetual training model is left to find commonalities among its input data. As unlabeled data are more abundant than labeled data, machine learning methods that facilitate unsupervised learning are particularly valuable.
An example of Unsupervised Learning in real life would be sorting various color coins into separate categories. Nobody taught us how to separate them, nevertheless by just looking at their features such as color, we can cluster them into the right groups. Similarly, we can train a Machine Learning model to automatically discover the representation that is required to classify raw data.
The biggest application of unsupervised learning would be translational data. An enterprise may have a large dataset of their customers, their preferences, and purchases. But no human mind can comprehend what smaller attributes should be drawn from customer profile and their type of purchase. One trivial example of this is Target, and how they led a marketing campaign related to pregnancy & baby products for women of a certain age group on their purchase history of unscented soaps.
Like we mentioned, Machine Learning is a vast segue of topics and requires some thorough research to create a career out of it. The article doesn’t cover all essential topics & approaches like K-nearest neighbor, clustering, classification & regression. We assure you that we’ll continue with the Machine Learning series or update this blog in near future.
Meanwhile don’t forget to check our value-added courses for Machine Learning, Keras & other python libraries in GUVI. GUVI offers a holistic approach with more than 100 courses for an all-inclusive subscription plan. Go check it out.