**Bias** is one of the important terminologies in machine learning. Often we add bias while creating any model in the artificial neural network.

So, let's understand what is this mysterious bias.

Watch the below video for complete understanding.

In the neural network, we are given the input(`x`

) and for that input, we need to predict the output(`y`

). Here, we create a model(`mx + c`

), which predicts the output.

While training, the model itself finds the appropriate value of the constants `m`

and `c`

.

Let's say we have the model as `y = mx`

instead of the `y = mx + c`

.

Here, the model is having constraint to train itself and find a line which passes only through the origin.

Many times for the given data, it is impossible for the algorithm to fit the model so that it passes through the origin.

Who doesn't need the freedom to perform well?

Let's give some freedom to the algorithm by changing the model as `mx + c`

instead of `mx`

, so that the model can find a line which fits the given data.

Now, it is having the full freedom to train itself and find a model which fits the best for the given data.

Here, the constant `c`

is the **bias**.

**Bias** is a constant which helps the model in a way that it can fit best for the given data.

In other words, **Bias** is a constant which gives freedom to perform best.

This is **Bias**. That's it for now.