What is Machine Learning?
Do you get automatic recommendations on Netflix and Amazon Prime about the movies you should watch next? Or maybe you get options for People You may know on Facebook or LinkedIn? You might also use Siri, Alexa, etc. on your phones. That’s all Machine Learning! This is a technology that is becoming more and more popular. Chances are that Machine Learning is used in almost every technology around you!
And it is hardly a new concept. Researchers have always been fascinated by the capacity of machines to learn on their own without being programmed in detail by humans. However, this has become much easier to do with the emergence of big data in modern times. Large amounts of data can be used to create much more accurate Machine Learning algorithms that are actually viable in the technical industry. And so, Machine Learning is now a buzz word in the industry despite having existed for a long time.
But are you wondering what is Machine Learning after all? What are its various types and what are the different Machine Learning algorithms? Read on to find the answers to all your questions!
What is Machine Learning?
Machine Learning, as the name says, is all about machines learning automatically without being explicitly programmed or learning without any direct human intervention. This machine learning process starts with feeding them good quality data and then training the machines by building various machine learning models using the data and different algorithms. The choice of algorithms depends on what type of data we have and what kind of task we are trying to automate.
As for the formal definition of Machine Learning, we can say that a Machine Learning algorithm learns from experience E with respect to some type of task T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
For example, If a Machine Learning algorithm is used to play chess. Then the experience E is playing many games of chess, the task T is playing chess with many players, and the performance measure P is the probability that the algorithm will win in the game of chess.
What is the difference between Artificial Intelligence and Machine Learning?
Artificial Intelligence and Machine Learning are correlated with each other, and yet they have some differences. Artificial Intelligence is an overarching concept that aims to create intelligence that mimics human-level intelligence. Artificial Intelligence is a general concept that deals with creating human-like critical thinking capability and reasoning skills for machines. On the other hand, Machine Learning is a subset or specific application of Artificial intelligence that aims to create machines that can learn autonomously from data. Machine Learning is specific, not general, which means it allows a machine to make predictions or take some decisions on a specific problem using data.
What are the types of Machine Learning?
Let’s see the different types of Machine Learning now:
Imagine a teacher supervising a class. The teacher already knows the correct answers but the learning process doesn’t stop until the students learn the answers as well. This is the essence of Supervised Machine Learning Algorithms. Here, the algorithm learns from a training dataset and makes predictions that are compared with the actual output values. If the predictions are not correct, then the algorithm is modified until it is satisfactory. This learning process continues until the algorithm achieves the required level of performance. Then it can provide the desired output values for any new inputs.
In this case, there is no teacher for the class and the students are left to learn for themselves! So for Unsupervised Machine Learning Algorithms, there is no specific answer to be learned and there is no teacher. In this way, the algorithm doesn’t figure out any output for input but it explores the data. The algorithm is left unsupervised to find the underlying structure in the data in order to learn more and more about the data itself.
The students learn both from their teacher and by themselves in Semi-Supervised Machine Learning. And you can guess that from the name itself! This is a combination of Supervised and Unsupervised Machine Learning that uses a little amount of labeled data like Supervised Machine Learning and a larger amount of unlabeled data like Unsupervised Machine Learning to train the algorithms. First, the labeled data is used to partially train the Machine Learning Algorithm, and then this partially trained model is used to pseudo-label the rest of the unlabeled data. Finally, the Machine Learning Algorithm is fully trained using a combination of labeled and pseudo-labeled data.
Well, here are the hypothetical students who learn from their own mistakes over time (that’s like life!). So the Reinforcement Machine Learning Algorithms learn optimal actions through trial and error. This means that the algorithm decides the next action by learning behaviors that are based on its current state and that will maximize the reward in the future. This is done using reward feedback that allows the Reinforcement Algorithm to learn which are the best behaviors that lead to maximum reward. This reward feedback is known as a reinforcement signal.
What are some popular Machine Learning algorithms?
Let’s look at some of the popular Machine Learning algorithms that are based on specific types of Machine Learning.
Supervised Machine Learning
Supervised Machine Learning includes Regression and Classification algorithms. Some of the more popular algorithms in these categories are:
The Linear Regression Algorithm provides the relation between an independent and a dependent variable. It demonstrates the impact on the dependent variable when the independent variable is changed in any way. So the independent variable is called the explanatory variable and the dependent variable is called the factor of interest. An example of the Linear Regression Algorithm usage is to analyze the property prices in the area according to the size of the property, number of rooms, etc.
The Logistic Regression Algorithm deals in discrete values whereas the Linear Regression Algorithm handles predictions in continuous values. This means that Logistic Regression is a better option for binary classification. An event in Logistic Regression is classified as 1 if it occurs and it is classified as 0 otherwise. Hence, the probability of a particular event occurrence is predicted based on the given predictor variables. An example of the Logistic Regression Algorithm usage is in medicine to predict if a person has malignant breast cancer tumors or not based on the size of the tumors.
Naive Bayes Classifier Algorithm is used to classify data texts such as a web page, a document, an email, among other things. This algorithm is based on the Bayes Theorem of Probability and it allocates the element value to a population from one of the categories that are available. An example of the Naive Bayes Classifier Algorithm usage is for Email Spam Filtering. Gmail uses this algorithm to classify an email as Spam or Not Spam.
Unsupervised Machine Learning
Unsupervised Machine Learning mainly includes Clustering algorithms. Some of the more popular algorithms in this category are:
Let’s imagine that you want to search the name “Harry” on Wikipedia. Now, “Harry” can refer to Harry Potter, Prince Harry of England, or any other popular Harry on Wikipedia! So Wikipedia groups the web pages that talk about the same ideas using the K Means Clustering Algorithm (since it is a popular algorithm for cluster analysis). K Means Clustering Algorithm in general uses K number of clusters to operate on a given data set. In this manner, the output contains K clusters with the input data partitioned among the clusters.
The Apriori Algorithm uses the if-then format to create association rules. This means that if a certain event 1 occurs, then there is a high probability that a certain event 2 also occurs. For example: IF someone buys a car, THEN there is a high chance they buy car insurance as well. The Apriori Algorithm generates this association rule by observing the number of people who bought car insurance after buying a car. For example, Google auto-complete uses the Apriori Algorithm. When a word is typed in Google, the Apriori Algorithm looks for the associated words that are usually typed after that word and displays the possibilities.
What is Deep Learning?
Deep Learning is a subset of Machine Learning. It is based on learning by example, just like humans do, using Artificial Neural Networks. These Artificial Neural Networks are created to mimic the neurons in the human brain so that Deep Learning algorithms can learn much more efficiently. Deep Learning is so popular now because of its wide range of applications in modern technology. From self-driving cars to image, speech recognition, and natural language processing, Deep Learning is used to achieve results that were not possible before.
What are Artificial Neural Networks?
Artificial Neural Networks are modeled after the neurons in the human brain. They contain artificial neurons which are called units. These units are arranged in a series of layers that together constitute the whole Artificial Neural Networks in a system. A layer can have only a dozen units or millions of units as this depends on the complexity of the system. Commonly, Artificial Neural Networks have an input layer, output layer as well as hidden layers. The input layer receives data from the outside world which the neural network needs to analyze or learn about. Then this data passes through one or multiple hidden layers that transform the input into data that is valuable for the output layer. Finally, the output layer provides an output in the form of a response of the Artificial Neural Networks to input data provided.
In the majority of neural networks, units are interconnected from one layer to another. Each of these connections has weights that determine the influence of one unit on another unit. As the data transfers from one unit to another, the neural network learns more and more about the data which eventually results in an output from the output layer.
What is Machine Learning used for?
Machine Learning is used in almost all modern technologies and this is only going to increase in the future. In fact, there are applications of Machine Learning in various fields ranging from smartphone technology to healthcare to social media, and so on.
Smartphones use personal voice assistants like Siri, Alexa, Cortana, etc. These personal assistants are an example of ML-based speech recognition that uses Natural Language Processing to interact with the users and formulate a response accordingly. Machine Learning is also used in social media. Let’s take Facebook’s ‘People you may know’ as an example. It is mind-boggling how social media platforms can guess the people you might be familiar with in real life. And they are right most of the time!!! This is done by using Machine Learning algorithms that analyze your profile, your interests, your current friends, and also their friends and various other factors to calculate the people you might potentially know.
Machine Learning is also very important in healthcare diagnosis as it can be used to diagnose a variety of problems in the medical field. For example, Machine Learning is used in oncology to train algorithms that can identify cancerous tissue at the microscopic level at the same accuracy as trained physicians. Another famous application of Machine Learning is Google Maps. The Google Maps algorithm automatically picks the best route from one point to another by relying on the projections of different timeframes and keeping in mind various factors like traffic jams, roadblocks, etc. In this way, you can see that the applications of Machine Learning are limitless. If anything, they are only increasing and Machine Learning may one day be used in almost all fields of study!
Are Machine Learning Algorithms totally objective?
Machine Learning Algorithms are trained using data sets. And unfortunately, sometimes the data may be biased and so the ML algorithms are not totally objective. This is because the data may include human biases, historical inequalities, or different metrics of judgement based on gender, race, nationality, sexual orientation, etc. For example, Amazon found out that their Machine Learning based recruiting algorithm was biased against women. This may have occurred as the recruiting algorithm was trained to analyze the candidates’ resumes by studying Amazon’s response to the resumes that were submitted in the past 10 years. However, the human recruiters who analyzed these resumes in the past were mostly men with an inherent bias against women candidates that were passed on to the AI algorithm.
This means that some Machine Learning Algorithms used in the real world may not be objective due to biased data. However, companies are working on making sure that only objective algorithms are used. One way to do this is to preprocess the data so that the bias is eliminated before the ML algorithm is trained on the data. Another way is to post-process the ML algorithm after it is trained on the data so that it satisfies an arbitrary fairness constant that can be decided beforehand.
Which Cloud Computing Platforms offer Machine Learning?
There are many Cloud Computing Platforms that offer Machine Learning services to other companies. The most popular among them are:
Some of the products that Amazon Web Services provides include Amazon SageMaker for creating and training machine learning models, Amazon Forecast to increase the forecast accuracy, Amazon Translate for language translation using natural language processing, Amazon Polly for converting text into life-like speech, etc.
Some of the products that Microsoft Azure provides include Microsoft Azure Machine Learning for creating and deploying machine learning models, Cognitive Service for providing smart cognitive services, Databricks for Apache Spark-based analytics, Bot Service for smart and intelligent bot services, etc.
Some of the products that Google Cloud provides include Google Cloud AutoML for training an AutoML machine learning model, Vision AI for cloud vision, Speech-to-Text for transmitting from speech to text, Text-to-Speech for transmitting from text to speech, Natural Language for natural language processing, etc.
Some of the products that IBM Watson Cloud provides include IBM Watson Studio for building machine learning and artificial intelligence models, Speech-to-Text for transmitting from speech to text, Text-to-Speech for transmitting from text to speech, Assistant for creating and managing virtual assistants, Natural Language Understanding for natural language processing, etc.