Machine Learning is a computer application which can learn by itself using the experience without any user intervention. Machine Learning algorithms are built using statistics, mathematics and computer programming language. Data is the key source (input) for any Machine learning algorithms.
Formal Definition
Machine Learning is a field of study that gives computers the ability to learn without being explicitly programmed. “Arthur Samuel (1959)”
A computer is said to learn from experience E with respect to task T and some performance measure P, if its performance on T, as measured by P, improves with experience E. “Tom MITCHELL (1998)”
Difference between traditional programming and Machine Learning approach.
In traditional programming model, we provide data as input then CPU processes set of code and finally gives the expected output data. Here any changes to the code due to error, needs to be a redesign of code.
In Machine Learning models, we provide output data(past data) as input to ML algorithms then CPU processes machine learning algorithms and finally system gives a new program as part of output. This program is typically called as ‘Models’ and it can be used any no. of times with data.
Machine Learning is a subset of Data science, also a main of component analytics and it is classified into four types.
- Supervised Learning
- Unsupervised Learning
- Re-enforcement Learning
- Evolutionary Learning
Let’s see all the Learning types one by one.
- Supervised Learning
When the training data set has both predictors (input) and the outcome(output) variables, we use supervised learning algorithms. That is, the learning is supervised by fact that predictors(X) and outcome(y) are available for the model to use. Techniques such as Regression, Logistic Regression, Decision tree, Random forest and so on are supervised learning algorithms.
- Unsupervised Learning
When the training data has only predictor (input) variable(X), but not the outcome variable(Y), then we use unsupervised learning algorithm. Techniques such as K-means clustering and hierarchical clustering are examples of unsupervised learning algorithms.
- Re-enforcement Learning
In many cases, the input variable X and output Y are uncertain (Predictive keyboard/Spell check). The algorithms are used in sequential decision making scenarios; techniques such as dynamic programming and Markov decision process are examples of reinforcement
- Evolutionary Learning
These are algorithms that imitate human/animal learning process. They are most frequently used to solve prescriptive analytic problems. Techniques such as genetic algorithm and ant colony optimization belongs to this category.