What are the main types of machine learning algorithms?
In this post, we will be finding the answer to the question, “What are the main types of machine learning algorithms?”. Machine learning is one of the most well-known fields of Artificial intelligence with the primary goal of developing such machines which can act like humans.
Machine learning is mainly known for such algorithms that can enhance and update the leaning techniques of the machines so that the machines can make better decisions and can think more like humans.
We will be discussing a few important machine learning algorithms with their details of working in this section but let me first introduce to the meaning of the term “Machine learning Algorithms”.
Algorithms in simple words are techniques and steps used to solve a problem. Machine learning algorithms can be defined as one’s that can convert the extended range of data into a model to make further predictions through it.
What are the main types of machine learning algorithms?: Machine Learning Algorithms Use Cases
Let us briefly go through some machine learning algorithms being used in real life, so we may know the importance and the comfort the field has brought to us by now.
Facebook News Feed:
Facebook is used by billions of people worldwide, and with each passing day, the number of new users increases. To deal with such a large number of users, Facebook had to develop a system so that the users can see stuff that they like or want to see in their news feed while scrolling in their free time. The task was a rather complex one because each person had a different taste in what they might like.
If Facebook would have chosen the option to display everything on a person’s news feed according to the time it had been uploaded that this might have caused an issue as people would get bored finding the right content, and that would have been a hefty task.
So, Facebook changed its system from the initial years and used an algo known as EdgeRank. Serkan Piantino developed EdgeRank. In the beginning, EdgeRank was successful as it displays content according to what the people follow and the sort of content, they share themselves.
But soon, when the numbers of users increased and a trend of Facebook pages became common, then EdgeRank was not enough. Like any other intelligent company, Facebook converted its system to a Machine learning algorithm that takes more than 10000 things into account before showing us the content on our new feed.
Note: Big tech companies do not tell people about the algorithms they are using, as this can be a security threat. Anyone can try to misuse their basis of the algorithm, so only minimal information is provided to common people. Only the people who created the algorithm know about it altogether.
Google maps is also an excellent example because it is one of the oldest company to use Machine learning algorithms to suggest to us the shortest and most efficient paths that we may follow to reach our destination in less time more conveniently.
Google launched its google map services in 2005. At the time, google map was used to show us the map of anywhere in the world with just our computer. It was a great invention at the time. Soon after a few years, google started showing us the path through which we may reach our destination, which was taken as a remarkable achievement. But Google didn’t stop there, like Facebook goggle also has a vision to remain ahead and take the lead in whatever they do.
So soon afterward, goggle started using the Dijkstra algorithm to suggest its user the shortest path they can take from one location to reach the other, depending upon the distance and traffic at the time. Dijkstra uses the Reinforcement learning technique. Dijkstra is a greedy algorithm that compares all the paths in a graph and finds the one which has the shortest distance while comparing weights.
Yes, Smartphone cameras also have a lot to do with AI. Have you ever noticed that your mobile phone’s camera automatically blurs the surrounding or change the light setting when the area is dark? It is due to the Machine learning algorithm that it has been possible. Machine learning algorithms such as logistic regression, random forest, and SVM are used to detect objects as well as the person so that the focus can be directed to the person and away from the surrounding. These algorithms are mostly used simultaneously for better results.
New algorithms are being developed every day. Companies also modify or make changes to the algorithms or sometimes make their own algorithms for their needs. There is no standard for using one algorithm. If it looks good, we can even combine two different algorithm’s results to make our predictions or to achieve our desired results. The same algorithms used for taking better photos are also used to detect the face while unlocking our cell phones.
What are the main types of machine learning algorithms?: Machine learning Algorithms
Now let us have a brief look at a few Machine learning Algorithms so we can understand the concept in a more detailed manner:
Supervised Learning Algorithms:
In supervised learning algorithm, the model learns from annotated data. Annotated means that all the inputs have some output associated with it. We provide the algorithm input as well as output for each data entry.
Annotated data is considered as high-quality data, and that is why the leaning is more accurate as there is no faulty or missing data. But on the other hand, acquiring annotated data is a real task as it is not easy to acquire annotated data in a significant amount and we have already discussed earlier that more data means, better prediction. Annotated can also be said labelled data.
Supervised Learning has further two types:
In classification the output is categorical such as explained in gender identification example above, while in regression, the output is in numerical form such as housing price or list of items. In categorical data, the output has to fall in some categories depending upon the features, for example, male or female, but in numeric form, the data could be any number in a given range.
A few supervised learning algorithms include
- logistic regression
- Naive Bayes
- random forests
- decision trees
- boosted stumps
Unsupervised learning Algorithm:
In unsupervised Machine learning algorithm, the data is unannotated or not labelled, which means that the output is not associated with each of the input.
There is a significant benefit here as unannotated data can be collected easily and in large amount, as it is simpler and easier to found. But the issue arises with the quality as the quality is not up to standard and in some cases, it is very low as we are performing prediction even while the machine is in the learning phase.
So, a huge question mark remains on the accuracy and quality of data throughout. A few algorithms that are majorly used for unsupervised learning include:
- Mean-Shift Clustering Algorithm
- Fuzzy C Means
- Apriori algorithm
Let me explain a little bit working of K-nearest neighbour. In KNN the unannotated data is being annotated first by comparing it to its nearest neighbours and then associating its output a category. The number of neighbours we want to compare depends on us, but mostly the number falls in between 12 to 15.
Reinforcement learning Algorithm:
In reinforcement learning algorithm, the agent moves forward by keeping note of its previous state by continuously testing and updating its state according to each new entry. In simple words, in reinforcement learning the state of the algorithm changes with time, the algorithm changes its state when a new entry occurs that counters the algorithm. The algorithm keeps changing its state until a satisfactory state is reached, and it tries to update itself again and again until it can make the right predictions. Reinforcement learning is one of the fastest-growing fields in Machine learning as it is the basis of neural networking so machines can think and update themselves by learning through their mistakes, same as we humans do.
There are three types of reinforcement learning:
In value-based, we try to maximize the value function so each state can stay for a long duration of time.
In policy-based learning, our primary focus is towards the maximum reward, so we try to come up with a policy through which we can achieve it.
In model-based, we develop a virtual model so that the agent can perform in the environment and learn from it.
As the name gives out, self-learning algorithms are ones that can learn on their own without assistance from outside. When a new data set is provided to them, they compare the results with their algorithm and made changes and update their own algo so that they can support their previous data while predicting correctly the new data provided to them. Self-learning algorithms are mostly associated with the artificial neural network.
The reason for them to be linked with ANN is because they are programmed to think more like humans and learn by new information provided to them. The new information can be in the form of data or some task they are being asked to perform. The best example for self-learning algorithm would be that of Sophia as she can learn new data and communication skills through the internet or by direct communication with people. So, it wouldn’t be wrong to say that self-learning algorithms are the new future in the field of AI.
Feature learning algorithms:
Featured based machine learning algorithms are based on manual feature engineering. They can even learn from the smallest training data to get started. But there is a massive drawback as the most discriminating features must be learned manually as the machine can not do it on its own.
Thus, the process is very time consuming and also requires a lot of manual effort and cost. In simpler terms, all the data provided to the algorithm can not be learned directly without the assistance or some manual help. Feature-based learning is one of the starting and fundamental learning base of Machine learning. Different features are extracted, and predictions are being made depending upon the features. Neural network algorithms are quite the opposite of feature learning algorithm in terms of testing, as well as training.
A few features based learning algorithms are:
- Support Vector Machine
- Logistic Regression
- Random Forest
- Naïve Bayes
Sparse dictionary learning algorithms:
Sparce dictionary is a relatively complex algorithm, and it is a bit technical to grasp. Still, let us have a short intro of the topic here, and then we will learn it in detail later. The algorithm follows the feature learning technique. Feature learning represents a set of techniques that helps the system in feature detection on its own without the help of any external medium. Sparse coding aims to find sparse representation in the data provided. In sparse representation, we use matrices containing mostly zeros as entries. The number of zeros does not have to be necessarily lesser, but the lesser number means more sparsity. Sparsity represents systems having lesser pairwise interactions. The dictionary in this algorithm is made up of elements called atoms. Sparse dictionary learning has a wide range of applications in image, video, and audio processing.
Dictionary learning algorithms are a complex one, and formal learning or understanding is necessary to grasp the concept entirely.
Robot learning algorithms:
Robotics is one of the most emerging fields in Computer Science. Artificial Intelligence has been contributing enough to achieve maximum success in this category. A lot of machine learning algorithms have been used in robotics to make robots more like human beings. The algorithms mostly include reinforcement learning or self-learning algorithms so that the robots can learn on their own and can correct their mistakes by practising, because the lesser the human interaction, the better the model. Meaning that if the model learns on its own, it decreases human efforts and also the learning process is a lot faster this way. Mostly these algorithms are working on artificial neural networking. Computer vision is also broadly used in robotics so that the robots can recognize and differentiate between people. Along with that, voice recognition is also used so that the robots can learn and understand the commands given to them vocally. For robot learning, the algorithms mainly used are logistic regression, random forest, SVM, etc. Self-supervised learning is also emerging in the field of robotics, and there are many new wonders yet to see in this field.
Semi-supervised learning algorithms:
Semi-supervised fall in between supervised and unsupervised learning. It learns from semi annotated data. Meaning that only a few training examples have output associated with them, other than them all the training examples are without any output at all. A large amount of semi annotated data can be found or collected easily without any extra hassle. But the issue comes in the learning process as we can not be sure whether learning from semi annotated data is correct or not and there is a greater chance that it is not. So Semi-supervised learning is not considered much accurate.
Label propagation algorithm is mostly used to deal with semi-supervised learning algorithms. In label propagation, each node is provided with a unique label, and the labels then propagate throughout the network reaching from node to node, assigning the labels to other nodes depending upon the label the maximum of its neighbors occupies.
Anomaly detection algorithms:
Anomaly detection refers to the detection of anonymous data, either it is in any database or just usual learning data that does not match the rest of the data presented. For example, a website only has a few logins daily, and suddenly one day, the number of logins increases immensely at a specific duration of time. So, the anomaly could be a cyber-attack on the website. Anomaly detection is used to detect unusual events leading to cyber theft, credit card hacks, financial frauds, etc.
Anomaly detection method is also classified into two categories depending upon the type of data being used:
- Supervised method
- Unsupervised method
As the name suggests that in a supervised method, we use labelled data and use algorithms such as ANN, Bayesian or KNN. And in unsupervised, the data is unannotated, and the machine learning algorithms include K-means method and hypothesis-based analysis.
The supervised method performs well by providing more accurate output than unsupervised in terms of anomaly detection.
What are the main types of machine learning algorithms: Conclusion
Machine learning is one of the most in-demand fields, with its applications being used by every big tech company for one purpose or another. It is one of the broadest areas with new researches being done every day. The types of Machine learning algorithms depend upon the type of data and the tasks we want to perform. In the coming years, we will be able to witness a world ran by Machine learning algorithms.