I'm struggling to solve this past paper question and my lecturer is being less than helpful. The question is:

Apply the perceptron learning rule to update the current weight vector (0.1, 0.3) when the learning rate is 0.01, the input vector is (2.0, 4.0), and the error vector is (1, -1).

What has me confused is the use of vectors for the current weight, input and error value. We've never used vectors for this before (only regular numbers) and no examples I can find online use 2D vectors like this.

I know the perceptron learning rule is:

New weight = old weight + (learning rate * perceptron input * error value)

But I'm not sure how to do this kind of maths with 2D vectors to get a 2D vector as my result (which is what I assume I want, since the question seems to be asking for the new weight).


Firstly let me say that I am not going to solve this for you. What I would do instead is help you figure out how to solve it all by yourself.

  • How many inputs will your perceptron have if your input vector is in n-D?
  • Conceptually, what does the output from a perceptron represent?
  • Following from the second point, what does updating the weights do to the output from your perceptron?
  • Ideally, what should the updating of the weights do to the output?
  • When do you need to update the weights?

Think about this by plotting the inputs and output from the perceptron on a graph.

These are some of the basic concepts you need to understand to get the basics of Artificial Neural Networks (ANNs).

Good Luck

  • $\begingroup$ So what I think you're saying is that, based on the numbers above, the perceptron is actually receiving two different inputs (2 and 4), so that means I'll have to do the learning rule twice for the different inputs, weights and error values? So my working: NewWeight1 = 0.1 + (0.01 * 2.0 * 1) = 0.12 and NewWeight2 = 0.3 + (0.01 * 4.0 * (-1)) = 0.26. Making the new weight vector being (0.12, 0.26). Is that correct? $\endgroup$
    – Lazyfaith
    May 19 '15 at 23:48
  • $\begingroup$ There can be only one error value for a given set of inputs for each iteration. So your new weight vectors in each iteration would be evaluated using the same error value. Since there are two error values, I guess there must be two iterations. You should clarify this with your professor. $\endgroup$ May 20 '15 at 5:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.