Machine learning provides computers with the ability to learn without being explicitly programmed. It is basically advanced statistics that computers can perform a bazillion (real number) times faster than human beings.
Machine Learning as a way of writing programs whose business logic is generated from input data. We feed data to the algorithm and the result of the program execution will be the logic for processing new data. It is a new way of writing software, a step away from the traditional development process.
To illustrate this even better, Let’s imagine that we want to make a pepperoni pizza. Pizza… the ultimate open-faced sandwich.
We have the ingredients and the recipe — these will be our inputs. We follow the recipe and by following the correct sequence of steps, we end up with a ready-to-eat pizza. This is traditional programming. To get the right result we need the recipe.
We can write it ourselves or ask mom to write it for us.
Traditional Approach: Input + Program = output
Unlike traditional programming, machine learning is an automated process.
With Machine Learning, it’s a little bit different — We don’t know the recipe, we don’t want to write or don’t know it, but we want the pizza nonetheless. We have a bunch of ingredients and some ideas for pizza. We have no idea how to make it. If you feed in ingredients and some idea of how pizza is prepared as input data , the algorithm will formulate a program that can figure out how to prepare a pizza.
Machine learning Algorithm: Input + Output = Program
The way that machine learning programs work is broken up into three basic models. These models vary the way in which the program “learns”. They are:
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning