I have read several resources, including previously asked questions such as this. I have also read arguments related to intercepts needed to separate linearly separable data. If my neural network can perform feature transformation, what is the need of a bias term?
Since the weights are learnt, my network can optimise to fit the data. For example, if my data is in 2D coordinate plane, my equation without bias for a perceptron for the layer will be $W_1X_1 + W_2X_2$ where $X_1$ is x
coordinate and $X_2$ is y
coordinate, making $W_1$ and $W_2$ coefficients of all vectors along x
and y
direction. Their linear combination will cover the whole plane which allows my data to be transformed across a line with 0 intercept.
For example, if my weight is 1.0
for input x
, and my bias is 0.1
, I might as well have weight $1+(0.1/\bar x)$ (or any other value descriptive of x) and 0
bias to get the same result.
Similar things happen for the arguments related to activation mentioned in the marked solution to the referenced question.
In such a scenario, why is the bias needed?
Edit: A lot of the answers offer reasonable arguments for the perceptron/single layer case, but perceptron was just an example. Do they hold for deep neural networks as well, because that allows for previous layers better transformation of inputs? As mentioned by some, 0
input will truly cause a problem which I agree with.