Difference Between Algorithm and Machine Learning

Generally the students misunderstood the terms Algorithm and Machine Learning. Basically in ML algorithms are building blocks. So what are the basic differences between algorithm and ML. Lets understand the difference.

What is Algorithm?

An algorithm is a series of unambiguous instructions designed in order to solve a problem and achieve a certain goal in a finite number of steps. According to Knuth (1968) an algorithm must possess the following properties”:

Finiteness: "An algorithm must always terminate after a finite number of steps a very finite number, a reasonable number".

Definiteness: "Each step of an algorithm must be precisely defined; the actions to be carried out must be rigorously and unambiguously specified for each case".

Input: "...quantities which are given to it initially before the algorithm begins. These inputs are taken from specified sets of objects".

Output: "...quantities which have a specified relation to the inputs".

Effectiveness: "... all of the operations to be performed in the algorithm must be sufficiently basic that they can in principle be done exactly and in a finite length of time by a man using paper and pencil".

So Any algorithms takes input and gives output in a finite steps.

input ➡️☐➡️output

What is Machine Learning?

In machine learning, the algorithms are building blocks. A set of data is provided to algorithm as input and output is a model which is an executable in some sense. This model is used as deployment entity which takes input and produces output prediction.

The data set is provided to train the model. Training the model means we provide the data set and also the expected output. Its same like when a child start to learn some thing. Suppose you want to teach a child the difference between apple mango. So some sample of apple and mango will be shown to the child. And finally child will be able to differentiate between apple and mango. In this way data set are given to the model and finally model will be able to predict for new data set.

input(data set) ➡️ ⬜➡️output(model)

data ➡️ model ➡️ predicted output