Applying Machine learning algorithm depends on the size of the data, quality of the data and nature of the data. Of course this also includes consideration for output that we want to achieve from machine learning algorithm. Overall practice includes some extra work to identify the best possible algorithm under the defined situation. Current article is the effort to highlight possible available flavors along with a very high level view about situation when you can apply these flavors.

Machine Learning Algorithm Types

There are a number of different algorithms that can be opted in machine learning. To simplify the categorization of numbers of machine learning algorithms available, we characteristically categories them to following learning types:

a. Supervised Learning
b. Unsupervised Learning
c. Reinforcement Learning

Note: Based upon the problem there is also another type known as Semi-Supervised learning type.

Supervised Learning (Function Approximation)
Supervised learning is where we have input variable X, an output variable Y (Y = f(x)) and an algorithm to learn the mapping function from the input to the output. It is simply fitting data to a function of any variety. Supervised learning predicts on the basis of available training datasets. Supervised learning algorithm looks for the patterns in the training datasets and uses the same pattern information to predict output. Supervised learning types are further grouped into following types:

a. Classification
b. Regression
c. Reinforcement learning

“In machine learning and statistics, classification is the problem of identifying to which of a set of categories a new observation belongs, on the basis of a training set of data containing observations (or instances) whose category membership is known.” (Source: Wikipedia)
A classification problem is when the output is in the form of a category. Classification algorithms are usually supervised and require both a classifier and a training set of data to identify what the groups look like. Following are popular algorithm classifier modules:

a. Binary Classification
When there are two choices, it is called two-class/binomial/binary classification. Classifying emails into either Spam or not Spam is an example of a binary classification problem.
b. Multi-Class Classification
When there are more then two choices it is known as multi-class classification. Famous iris case study is an example of a multi-class classification problem.

A regression problem is when the output is in form of a real value, the goal is to predict a continuous number, or a floating point number (programming term). Regression techniques are used to estimate the relationship between variables. When predicting income, the predicted value is an amount, and can be any number in a given range. Another example of a regression task is predicting the yield of a corn farm, given attributes such as previous yields, weather and number of employees working on the farm. Regression is used to predict one or more continuous variables, such as profit or loss, based on other attributes in the dataset. Under regression algorithm attempts to explain the influence of variables on the outcome of another variable. Outcome variable is called a dependent/output variable because outcome depends upon other variables. These variables on which dependent variable is based upon is known as independent variable.

In supervised learning, we want to built a model on the training data, and then be able to make accurate predictions on new, unseen data. If a model is able to make accurate predictions on unseen data, we say it is able to generalize from the training set to the test set.

Building a complex model that does well on the training set but does not generalize to new data is known as overfitting, because we are focusing too much on the particularities of the training data. Avoiding overfitting is a crucial aspect of building a successful machine learning model. A good way to avoid overfitting is to restrict ourselves to building very simple models.

Underfitting refers to the model that can neither model the training data nor generalize to new data.

Unsupervised Learning
Unsupervised learning involves figuring out what makes the data special, the task of making predictions becomes much harder. In this scenario, the machine learning algorithms are not provided with any kind of known data inputs or known outputs to generate a new predictive model. The success of the new predictive model depends entirely on the ability to infer and identify patterns, structures, and relationships in the incoming data set. The goal of an unsupervised learning algorithm is to organize the data in some way or to describe its structure.This can mean grouping the data into clusters or finding different ways of looking at complex data so that it appears simpler or more organized. In simple terms, its the data where there is no correct answer and no teacher. Unsupervised learning can be further grouped as:

a. Unsupervised Transformations
b. Clustering
c. Association Rule

Unsupervised Transformations
Unsupervised transformations of a dataset are algorithms that create a new representation of the data which might be easier for humans or other machine learning algorithms to understand. A common application of unsupervised transformations is dimensionality reduction, which takes a high-dimensional representation of the data, consisting of many features, and finding a new way to represent this data that summarizes the essential characteristics about the data with fewer features. A common application for dimensionality reduction is finding the parts or components that “make up” the data. An example of this is topic extraction on collections of text documents. Here, the task is to find the unknown topics that are talked about in
each document, and to learn what topics appear in each document.

Clustering problem is where we we want to separate similar data points into groups. For example, customer segmentation. It  determines natural groupings and patterns in data-sets and are used to predict grouping classifications for a given variable. Another example is of uploading photos to a social media site. To allow to organize pictures, the site might want to group together pictures that show the same person. However, the site doesn’t know which pictures show whom, and it doesn’t know how many different people appear in your photo collection. A sensible approach would be to extract all faces, and divide them into groups of faces that look similar. Hopefully, these correspond to the same person, and can be grouped together.

Association Rule
An association rule learning problem is where we want to discover rules that describes large portion of the data. For example people that buy products A also tends to buy product B.

Reinforcement Learning
Reinforcement Learning (RL) is one learning approach that can be taken to produce intelligent programs, through a process of learning and evolving. Learning happens within the available environment and by observing the results of these interactions. It learns without an expert supervision, the type of problems that are best suited to RL are complex problems where there appears to be no obvious or easily programmable solution.


Leave a Comment