When most Americans hear the phrase Artificial Intelligence or Machine Learning they immediately think of “Sky Net”, “The Matrix”, or “iRobot”.
The inevitable battle of Man vs. Machine…
Yet, most people aren’t fully aware of what machine learning is, how it affects their day-to-day lives, or even how it can benefit them.
Machine Learning is an application of artificial intelligence where a computer “learns” about something without being explicitly programmed.
The process of machine learning follows many different algorithms to perform better. Here, the term “Learning” means the program will constantly change with the data inputs it receives.
There are many different algorithms out there for machine learning. But some of the most significant ones include unsupervised learning, supervised learning, reinforcement learning, Semi-supervised learning.
I’ve talked about some of the fundamental algorithms of machine learning and now I’d like to provide some valuable insights into this topic.
In this article, I will extensively discuss the different types of machine learning algorithms. For a better understanding of this topic, it would be wise to read through the whole article.
You can also read other articles that I have written on the topic of Machine Learning, including in-depth tutorials here.
Table of Contents
- What are Machine Learning Algorithms?
- 4 Different Types of Machine Learning Algorithms
- Supervised Learning
- Unsupervised Learning
- Semi-Supervised Learning
- Reinforcement Learning
- Applications of The Common Types of Machine Learning
- Some of the Commonly Used Algorithm Models
What are Machine Learning Algorithms?
First, let’s explore the definition of the term Algorithm.
An algorithm is a procedure that is executed using different programming languages such as Python, C++, JAVA, C, to solve a specific problem. Below is a visual model of a classical computing algorithm.
As you can see from the picture, I have initialized a variable X with zero. Now, in the next step, the initialized value of the variable will increase/increment by 1 and will be printed.
In the next step, I have provided more logic that states that, if X is less than 20, the whole process will again resume from step three.
That means the number will increase/increment by 1 until it gets to 20. As soon as the variable x becomes 20, the whole operation will end.
As you can see from the provided algorithm, the process will only resume if the value of X stays under 20.
So, using this simple and effective logic, you can print 20 numbers just with a few lines of code.
In contrast, a machine learning algorithm could perform this operation on it’s own without the need for a programmer to explicitly write these procedures into code.
4 Different Types of Machine Learning Algorithms
I have already discussed what an algorithm is and how it exactly works. Now as far as machine learning is concerned, there are many algorithms available for machines to learn and perform various tasks. Some of the most significant algorithm types are provided below.
- Reinforcement Learning.
In the rest of this article, I will extensively discuss what these algorithms are, how they work, and what their real-life applications are. So, keep on reading.
The supervised algorithm is one of the most commonly used types of logic. We all know that one of the goals of machine learning is making them more intelligent and increasing their functionality. This target can be easily achieved using the supervised algorithm.
As the name suggests, in this algorithm, there is a supervisor who will guide the machine. That supervisor is called “Training Data”. Now, before learning about supervised algorithms, you must properly understand what training data is.
Training data is a series of input and output that is fed to the machine. The machine then analyzes the data and provides an output based on the fed data. For example, if a machine is provided with enough information about mammals and reptiles, they should be able to classify an animal within these groups even if they didn’t see it before. The machine will analyze various aspects of that animal and will provide an output based on the research.
How Does a Supervised Algorithm Work?
The goal of the machine learning scientists wasn’t to mimic a human brain and make an exact copy of it. They only tried to make an artificial copy of a single neuron.
In 1958, an American scientist named Frank Rosenblatt was inspired and determined to make an artificial neuron. He set a target to teach artificial intelligence to identify images as a triangle and non- triangle using supervision.
So, with that goal in mind, he created a giant machine called “Perceptron”. The size of that machine was about the same as a giant piano. Then, he connected the perceptron to a 400p camera using wires. For the time being, it was pretty high-tech, but today, the camera of your phone might be thousands of times better.
Now, Doctor Frank showed the camera a picture of a triangle and pictures of other shapes. After the machine received enough data, it reassembled every pixel of the shown photos to a triangle. And after that, a bulb would light up and that is the “Positive signal” of the machine.
Then, Doctor Frank also did another thing. He attached two buttons named “Yes” and “No”. Every time he showed a picture of a triangle to the machine, he pushed the “Yes” button and on other times, pushed the “No” button. This way, after some errors, the machine was able to detect whether the picture was of a triangle or not. This was a very early success of Machine learning.
We have already covered how supervised learning works. We humans learn different ideas and gain knowledge through supervised learning at school where our teachers supervise our learning curve and determine what we should and need to learn. But that is not the only method of gaining knowledge.
How Does an Unsupervised Algorithm Work?
Learning without a supervisor or teacher is called unsupervised learning; and with some help of programming, computers can do it too.
One of the most significant differences between unsupervised and supervised learning is what we are trying to anticipate. In supervised learning, we try to predict the outcome based on the provided information of the supervisor. In unsupervised learning, we try to predict the output based on the data provided by the environment.
For example, if you are watching a game of tennis and the video is paused right before a player hits the ball, will you be able to predict what would come in the next few seconds? You and most of the people out there will be easily able to predict the next scene. Unsupervised learning is about coming up with an output by guessing. This algorithm is very useful as a teacher or supervisor is not necessary at all.
Now, how does a computer utilize the unsupervised algorithm? They take the available data and try to match them with other similar data and set them to different clusters. For example, let’s say you want to start gardening and buy rose seeds. After the rose blooms, you realize that the roses are not in the same category.
So, you took a robot and let it observe the rose so that it could determine the types of the rose. The machine will take the observed data from the roses you have grown and will compare them with the information of other roses that will accrue either by observing or from the internet. It will do a lot of matches and mismatches and finally will provide you with an output.
Now, let’s say you have a friend who is an expert in detecting flowers. He will determine whether the machine got the types of roses right.
I have already talked about how supervised and unsupervised algorithms work and how a machine can learn and solve problems with or without a teacher. As I have mentioned earlier, the basis of machine learning was to mimic the neutron-to-neutron connection of our brain so that it could solve problems.
We already know that our brain can learn various kinds of stuff with the help of a supervisor as well as on its own. So, scientists thought that it would be a much more efficient solution if a computer could do both. From that perspective, the brilliant concept of Semi-supervised learning was born.
How Does Semi-supervised Learning Work?
Now, the concept of semi-supervised learning is a bit tricky, so stay with me to understand it fully. I have already explained how supervised and unsupervised algorithms work. I will provide an easy example so that you can understand the basics of semi-supervised learning as well.
Let’s say you have a huge list of two different animals; a cat and a dog. In that list, there are names of many different dogs and cat breeds and the machine has the job to tag them on two different categories; one of the categories will be named “Cat” and the other will be named “Dog”.
Now, you will pre-categorize some of the animals within the “cat” and “dog” groups. Do you remember the concept of supervised learning? All you did is just fed the machine some data which it will use to finish what you assigned it to do. So, as semi-supervised is the combination of supervised and unsupervised algorithms, where does the unsupervised take place?
Now, the machine will perform the unsupervised algorithm to finish its assigned job. In scene 1, you provided some labeled data to the machine. The machine will use those data to predict the unlabeled portion of data. That means the machine will try to categorize the cats and dogs into their respective groups.
Now, the machine will provide a predicted output for every animal’s name on the list you initially provided. You will have to label every animal on the list to the output that the machine has provided. This process of labeling the unlabeled data with the output that was predicted by our neural network is called pseudo labeling.
Now, if you labeled the animals in their correct places, you will be amazed to see that your computer successfully labeled all the animals on your list. It might take some trial-and-error steps before your machine could provide a pitch-perfect output.
Now, as you can see, with the help of a supervised and unsupervised algorithm, a machine is capable of finishing a job that a human either cannot do or will take much more time to finish.
Reinforcement learning opens a new window for the software building community and other scientists to achieve goals and reach heights that were thought impossible 100 years back. Reinforcement learning is considered the biggest invention in the field of computer programming along with the semi-supervised algorithm.
Although the previously discussed algorithms did a lot of things that we never even imagined, the entrance of reinforcement learning changed the game and turned the table. I am pretty sure many of you have heard of projects like AlphaGo, and Google DeepMind. All of these technological successes were possible because of this algorithm.
Can you believe that AlphaGo was made by Google and has beaten a real-life “Go” player? It is an amazing achievement as the game “GO” is pretty different from the chess game. The number of actions available in this game is more than the total number of atoms of the universe. So, learning patterns and executing them wasn’t possible, the computer did think about its every move!
Not only that, using the reinforcement technique and deep mind, the machine was able to play games like StarCraft 2, Atari, and Dota 2 and they performed better than many professional players. It is one of the biggest breakthroughs in the field of machine learning.
Now, let’s learn about the various types of reinforcement learning. There are two kinds. Positive and negative reinforcement learning.
Positive Reinforcement Learning
It is described as an occurrence due to certain behavior. This sort of strengthening helps you enhance performance and maintain change over a longer length of time. This type of reinforcement learning is used by most software firms out there.
Negative Reinforcement Learning
Negative reinforcement is defined as improved behavior that needs to be stopped or prevented because of a negative state.
How Does Reinforcement Algorithm Work?
This algorithm works like how you train your dog. If the dog behaves accordingly and does what you asked for, you reward it; let’s say a cookie. If it fails to follow an order, it won’t be rewarded. So, your dog becomes clever enough to understand that it will get a delicious cookie if it follows your command.
The key target of this algorithm is to pay attention to every important state and provide an action that is valid and knowledgeable. Now the action which will be taken by the machines will rely on the state.
Below, I have provided an example that shows the actions will rely on the state of that time:
- If you are 18 years old and you married a 35 years old man/woman that will most probably imply something different than marrying a 35 years old woman at the age of 90. Both of the cases have different motives and results, although the age of your other half remains the same.
- If you shout fire in your house, everybody will think that your room is on fire and they will rush to your room for help. But if you shout fire while playing an FPS game, the whole meaning will change.
From above, you should be able to understand that not every action will be considered the same in every state. The core meaning of action will differ based on different states.
Let‘s discuss another example so that you could understand the concept of reinforcement learning clearly. Let’s say, you have a robot and a battery in your room. You ordered the robot to find the battery and charge itself. Now, the robot will roam around the room, and let’s say it found the battery after taking 9 steps. Just like the example of the dog, the robot will get a reward.
But you know the robot could’ve found the battery within 5 steps. If you reset everything and start the whole process again, the robot will always take the path that it took before because it will learn that there is a guaranteed battery on that way. But if you reset the data as well and let the robot find the battery 100 times, and then feed all that data at the same time, the robot will calculate and from next time will always take the shortest path.
Applications of The Common Types of Machine Learning
I have already discussed four different types of machine learning algorithms, but how do we use these methods in real life? Using these algorithms, we can now perform tasks within nanoseconds that took days to accomplish. Below, I have provided some real-life applications of these algorithms.
Application of Supervised Algorithm
With today’s modern technology, we can use the supervision algorithm to make the current AI’s a lot more efficient and powerful.
This technique is used to determine which of the emails that we receive are important and which of them are spam. Also, Facebook uses this algorithm to set apart your face from your friend’s face so that it could make tag suggestions.
Application of Unsupervised Learning
With the help of the unsupervised learning algorithm, we are now able to perform tasks that were considered impossible a few years back.
Some of the most significant applications of the algorithm include speech or voice recognition, dynamic pricing, churn modeling, image classification, customer segmentation, and so on.
Application of Semi-supervised Learning
The semi-supervised learning algorithm was one of the biggest inventions in the field of machine learning and its application is vast.
We use this algorithm to analyze speech, classify the contents of the internet, classify the sequence of the protein, and so on.
Application of Reinforcement Learning
As you can see, the prospects of reinforcement learning are endless. We use reinforcement algorithms in many cases such as application in NLP (Natural-language-processing), in various games, in medical science, and so on.
But probably its biggest application is taking part in self-driving cars. As you all know, Elon Musk is pushing the idea of electric and self-driving cars and so far, he is very successful. Now, in the process of teaching the cars how to drive on their own, reinforcement learning is heavily taking part.
Some of the Commonly Used Algorithm Models
The goal of machine learning is to provide the computer’s power to solve various equations and problems like we humans do. Below, I have given some specific models that scientists follow to reach that goal.
Imagine you have a lot of wooden logs in your yard and you have to increasingly arrange them based on their weight. But there is just one problem; you cannot weigh every log and then perform the task. All you can do is visually measure the height and girth of the logs and then arrange them.
This is what linear regression is. You created a relationship between independent and dependent variables by creating a line in which the variables are fitted. The line that defines this algorithm is called a “regression line” and you can define it using the linear equation.
Y = a * X + b
Here, Y is the dependent variable (regression line), X is the independent variable (weight of the logs), a and b respectively represent slope and intercept.
In the equation, the coefficients a and b are calculated from the difference between the regression line and data points.
Logistic regression is used to estimate or find discrete values such as 0 and 1 from a set of variables (usually independent variables). If you want to know the possibility of an event, this algorithm would be very useful.
Logistic regression can achieve that goal by feeding data to one or various functions (Logit Function). That is why this algorithm is also called logit regression.
Now, there are various models out there that help logistic regression to be more precise. The models are provided below.
- Using a nonlinear model.
- Technique regulation.
- Feature elimination.
- Introduction of Interaction terms.
Decision Tree Algorithm
The decision tree algorithm is one of the most famous supervised learning algorithms out there. It is used to classify various problems based on logic. There are mainly two types of variables out there, continuous and categorical dependent variables. Using this awesome algorithm, you can classify both.
Here, a machine splits the total provided data into two or several homogeneous groups. It is achieved by matching and mismatching the significant attributes of that data. This algorithm is currently under research on many different renounced organizations.
Support Vector Machine (SVM) Algorithm
Let’s say you have “n” number of features in your hand, and you want to classify them using machine learning. In the SVM algorithm, you have to plot or set the available data in a space of n-dimension (n= number of features you have). Every feature you have will contain a value and it will be connected to a coordinate.
The coordinate will make the classification of the data easy. On the graph, there will be a line called classifiers and it will help to spit the data that machines have. Once you plot the data on a graph, the machine then can decide which features should be under which class. It is another handy algorithm that is widely used.
Naïve Bayes Algorithm
Let’s say you have data of many different features but you only need a specific feature. In the old days, you had to go through every piece of data and find the feature you are looking for. It could take hours or even days. But now, with the help of the Naïve Bayes Algorithm, you can do it within seconds.
This algorithm will calculate the probability of that specified data and provide you with output based on the calculation. Here, the machine will calculate every data or in other words, it will consider every feature separately before providing a probability output. It is one of the easiest and most applicable algorithms out there.
Gradient Boosting Algorithm
There are many big companies out there that have a huge amount of data and they must analyze this data and predict an output with high accuracy. The gradient boosting algorithm can mix various estimators to provide an accurate output.
As you can see, the aspects of machine learning are endless and there are various algorithms out there that AIs uses to get more intelligent and perform a wide array of tasks that weren’t possible before by machines.
In this article, I have extensively discussed types of machine learning algorithms. Hopefully, after reading the whole article, the concept of machine learning algorithms would become much more clear to you. Until next time, farewell.