# Delta rule for binary step function

I have a question of understanding about the Delta Rule:

Δwᵢ = (y – ŷ)*xᵢ

Why does x have to be multiplied again after the difference? If the input is 0, the product of w and x remains 0 anyway. Then it should not matter if the weight changes with an input of 0.

let us take the following example:

• w_i = the ith weight of the weight vector
• Δw_i = the change in weight w_i
• y = the desired output of the neuron for the learning example
• ŷ = the actual, calculated output for the learning example
• x_i = the input

Step t:

• Input (x) = 1 0 0
• Random weights = 0.1 0.1 0.1
• Scalar product –> 0.1
• Step function outputs 1 –> ŷ = 1

BUT we want as output y = 0 So the weights have to be adjusted as follows:

Step t+1:

• Δw_0 = (0 – 1) * 1 = -1
• Δw_1 = (0 – 1) * 0 = 0
• Δw_2 = (0 – 1) * 0 = 0

w_i(new) = w_i(old) + Δw_i

• New weights: -0.9 0.1 0.1
• Scalar product = -0.9
• Output (y = 0)

You can totally skip the multiplication by x, can’t you? Because at the latest when the scalar product is created, the weight which is multiplied by x = 0 is still not included. So why multiply by x in the delta w?