My previous post on Machine Learning talked about the specific hardware needs for Machine Learning programming. In this article, I shall talk on the major types of Machine Learning Algorithms.
What Does A Machine Learning Algorithm Do?
Simply put, it learns and improves itself in real time. The purpose of any learning algorithm is to turn a data set into a model, a model which in most cases will lead to classification (for non-numeric data) or regression (for numeric data) of new data. The machine learning algorithm constantly óbserves’ data which is input into the system; and it extracts a pattern which results into the creation of the model. It is this model which adapts the system to a very specific and well-defined input to output task.
A set of data can be converted into a model by ‘fitting’the data to a hypothesized best possible fit relationship which is explored either linearly or non-linearly. Ordinary programming algorithms generally deal with fits which are established in a linear manner. Non-linear relationships are more complex, as they don’t deliver a one-time deterministic solution, but rather engage in a continual reiterative process which constantly tries to fit the data to an ever-evolving relationship. Thus, in true sense, the model too is not finalistic, but a constantly evolving one. And this is precisely why machine learning algorithms are using non-linear ways to explore the patterns and relationships among data.
Classification Of Machine Learning Algorithms:
Machine Learning Algorithms
Jason Brownlee gave a wonderful base of classifying the myriad of algorithms existing for machine learning. Rather than being mutually exclusive, these should be looked upon as different ways of looking at the algorithms. He grouped algorithms on the basis of:
The way the algorithm learns – learning style
The degree of similarity in form or function of the algorithm – similarity.
Grouping By Learning Style:
This is the predominant and widely publicized base for differentiating the different machine learning algorithms. Here, the algorithms are distinguished on the ways in which the algorithm creates the model from the data it is subjected to. The focus here is on the role of the input data and defining the process to create the model which best predicts the output for a given input.
There are only four types of algorithms when classified through learning style:
Supervised learning
Unsupervised learning
Semi-supervised learning
Reinforcement learning
Grouping By Similarity:
This is a very useful way to group algorithms. Algorithms are grouped together if their functioning is similar. For instance, all the regression algorithms are clubbed together, whereas algorithms working on decision tree function are grouped together. There are algorithms which may belong to more than one group, for e.g. Learning Vector Quantization (LVQ).
On this criterion, the various algorithm groups are:
Regression
Regularization
Instance based
Decision tree
Bayesian
Clustering
Association Rules
Artificial neural networks
Deep learning
Dimensionality reduction
Ensemble
I shall be explaining the types of ML algorithms in detail in my next blog. I shall also illustrate some use cases for each algorithm. Till then, keep learning.
Comments