Types Of Algorithms

INPUTS —> MODEL —> OUTPUTS

Models — Algorithm types

There are numerous types of machine learning algorithms. While we will not go into depth on the topic at this time, we do want to mention a few of the most common ones you may see.

Neural networks

Modeled after the human brain, neural networks use multiple layers (or processing steps) to take a variable from an input to an output in a non-linear fashion. There are many different types of neural networks. Some that you may hear of are recurrent neural networks (RNN), convolutional neural networks (CNN), long short-term memory networks (LSTM), or generative adversarial network (GAN)

Another way to think about it is that the model’s representation of the input is sequentially becoming more and more complex as it travels through the layers. Each layer of the model is able to add on to the information in the previous layer. Suppose we have a neural network with 3 layers that is trained to recognize images. The first layer might only detect the presence of simple shapes, such as lines, circles, or squares. The next layer might look for patterns made by the combination of two or three shapes. Lastly, the third layer would then look at all the combinations of all the patterns to understand the image as a whole. Because of the level of complexity that it can process, deep learning has been attributed to greater success for tasks such as image recognition and natural language processing.

Support Vector Machine

A Support Vector Machine (SVM) is a type of classifier that tries to find a hyper-plane in a multi-dimensional space that accurately separates two groups from each other. Once this hyper-plane is defined, it can be used to classify a new data point as belonging to one group or another based on which side of the hyperplane it sits.¹

Decision Trees

Decision Trees can be used for classification or regression analysis. A decision tree takes labelled data and repeatedly splits the data into smaller and smaller groups, based on the attributes of the data, until it reaches a “leaf” or a terminal node. The goal is for each split to progressively divide the data into groups in which the members within each group are more similar to each other and less similar to other groups.²

Naive Bayes

Naive Bayes is a simple, but powerful, classifier based on Bayes' Theorem that distinguishes between variables based on their unique features. Drawing on Bayes’ Theorem, it calculates the probability that something belongs to a specific class based on what is known about the probabilities of its features. It can be used as a binary or multi-class classifier.

References:

  1. Gandhi R. Support Vector Machine — Introduction to Machine Learning Algorithms. Medium. https://towardsdatascience.com/support-vector-machine-introduction-to-machine-learning-algorithms-934a444fca47. Published June 7, 2018. Accessed March 29, 2020.

  2. Yse DL. The Complete Guide to Decision Trees. Medium. https://towardsdatascience.com/the-complete-guide-to-decision-trees-28a4e3c7be14. Published April 17, 2019.