As per Arthur Samuel’s definition of machine learning, “the field of study that gives computers the ability to learn without being explicitly programmed.”
Later, a more modern definition came from Tom Mitchell: “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.”
For example, an email program is watching which emails are getting marked as spam so that based on that experience it can learn how to filter the future emails as spam without manually marking it. Here:
E = the experience of marking the emails as spam
T = the task of marking the emails as spam
P = the probability of marking the right email as spam
We will talk about two major kinds of machine learning: Supervised learning and unsupervised learning.
In a simple language, supervised learning processes a dataset knowing the what the output might be. There is a relationship between input and output. For example, before developing an algorithm to detect the fraudulent activities in a bank account, it is known that the result would be either ‘it is fraudulent’ or ‘it is not fraudulent’.
Supervised learning can be categorized as ‘regression’ and ‘classification.
In a regression problem, variables are being mapped into a continuous function, that means it predicts results within a continuous output. For example, predicting the housing prices based on the size, location and age of the houses.
In classification problems, results will be in discrete categories, meaning input variables will be mapped in a discrete category. For example, given the bank account transaction of a person, predicting if it is a fraudulent transaction or not. If it’s a classification problem, the result can be predicted as 0 or 1. In this bank transaction example, output can be 0 if it’s not a fraudulent transaction and output can be 1, if it is a fraudulent transaction.
Unlike supervised learning, in unsupervised learning problems we have little or no idea about the output. You only have a set of input data and no output variables. There is correct answer and main goal of the unsupervised learning is to learn more about the data itself and present the underlying distribution of the data in a more reasonable way.
Unsupervised learning has two groups.
Clustering: A clustering problem groups the data according to it’s inherent distinct behavior. Grouping the customers based on their purchasing behavior is an example of clustering.
Association : An association algorithm discovers the rules of the behavior by the previous data. For example people who bought this product also bought that product.