Classification of Machine Learning Algorithms
Tags: machinelearning, algorithms, datascience
Published: 2021-11-28 18:14:10

In recent times, Machine Learning is considered an integral part of data science, which can be used to build predictive models. In any machine learning mechanism or system, computers are taught to solve certain problems with massive datasets and are provided with models.

Machine learning is also defined as one of the branches of computer science in which algorithms (running inside computers) learn from data or datasets available to them. With this learning mechanism, the output of these various mechanisms will be used to build predictive models.

The machine learning systems (or algorithms) can be broadly classified into many categories, based on various factors and methods. The most popular of these are as follows:
- Supervised learning
- Unsupervised learning
- Semi-supervised learning
- Reinforcement learning
- Online/batch learning

**Supervised Learning:** These algorithms are typically trained by human “supervision”. That is the reason these are called “supervised learning algorithms”. Most of the training data that is used in supervised learning algorithms are “labeled” data. One can say that there is a “teacher” involved in training the model. “Labeled data” here means which have been tagged with one more name associated with it. For example, an image is labeled as it is a cat’s photo and it’s a dog’s photo based on the character and features of that photo. This helps in later classifying and training the “unlabeled data” with further classification and categorization. Based on certain features, these labels are predicted/guessed. Once predicted, that sample group is labeled with that name. By continuously providing input, the output is generated, these outputs are nothing but “labels”. The training involved various types of datasets and model building.

Some of the well-known and popularly used supervised learning algorithms are as follows:
Regression (continuous target variables)
- Linear Regression
- Logistic Regression
- Ensemble Methods
- Decision Trees and Random Forests
- Support Vector Regression (SVR)
- Gaussian Process Regression (GPR)
· Classification (categorical target variables)
- Support Vector Machines (SVMs)
- Naïve Bayes
- K-nearest Neighbors (KNN)

Common neural networks
- Multi-Layer Perceptron (MLP)

**Unsupervised Learning:** These algorithms as the name suggests are not supervised by humans. What this means is that the training data is “unlabeled”. In unsupervised learning, there is no teacher involved at all. What the system or computer learns is different patterns/structures in data. Based on these patterns the data can be grouped into with pattern as output category. Based on these patterns one can come across a set of rules, which can be later used in deriving meaningful insights. These algorithms also can be used for building descriptive modeling. These algorithms unlike supervised don’t predict or find anything specific to the data set.

Some of the well-known and popularly used unsupervised learning algorithms are as follows:
Clustering (continuous) and Dimensionality
- K-means
- K-medoids
- Hierarchical Clustering Analysis (HCA)
- Expectation Maximization
- Hidden Markov Model
- Neural Networks
- PCA (Principal Component Analysis)
- SVD
- Kernel PCA
- t-Distributed Stochastic Neighbour Embedding (t-SNE)
- Locally Linear Embedding (LLE)
· Association Analysis (categorical)
- Apriori
- Eclat
- FP-Growth

**Semi-Supervised Learning:** To categorize some of the algorithms which fall either as supervised algorithms OR unsupervised algorithms OR both, we say it falls under Semi-Supervised Learning. So, one can put it like this, either there are no labels for the observation in the data sets or labels are present only for certain observations. In some cases, where data labelling is a costly affair but needs a combination of both partial data labeling and partial non-labeling these algorithms can be used.

Some of the well-known and popularly used unsupervised learning algorithms are as follows:
- Uclassify
- GATE

**Reinforcement Learning:** This is nowadays one of the popular type algorithm learning mechanisms. Many complex models are being built using the combination of supervised learning or unsupervised learning along with reinforcement algorithms. This is a different category itself where the so-called agent observes the environment, select and perform various actions and generate rewards or penalties accordingly.

- Q-Learning: Q-Learning is a model-free RL algorithm, “Q” in Q-Learning stands for quality, which is used to determine how useful a given action is in gaining some future reward.
- Temporal Difference (TD): TD is an approach to learning how to predict a quantity that may be dependent on future values of a given signal.
- Deep Adversarial Networks: Deep Adversarial Belief Networks also sometimes called DBN, are highly parallelizable numerical algorithms.
- Markov decision process (MDP): MDP works using the methodology involving agent, environment, state, and action, each depending on the other.
- Monte Carlo Tree Search: this is a heuristic search algorithm used for decision-making processes.
- Asynchronous Actor-Critic Agents (AAAC): this algorithm is beneficial in experiments that involve some global network optimization with different environments in parallel for generalization purposes.

How many have you worked with? Let us know in the comments section.