LFD Book Forum (http://book.caltech.edu/bookforum/index.php)
-   Chapter 1 - The Learning Problem (http://book.caltech.edu/bookforum/forumdisplay.php?f=108)
-   -   Perceptron update rule problem (http://book.caltech.edu/bookforum/showthread.php?t=4652)

 joshreesjones 01-22-2016 11:51 AM

Perceptron update rule problem

Hello,
I'm trying some things out with the perceptron learning algorithm and I've come across a case where the boundary line moves away from a misclassified point. Can someone shed some light on what I'm doing wrong? Here's what I did:

Choose a point x = <1, 6, 6> (1 is the placeholder). Pretend that it is correctly classified as -1, that is, y(x) = -1.
Now, choose a weight vector w = <-10, 1, 1.5>. w misclassifies x:
y(x) != sign(w*x)
sign(w*x) = sign(<-10, 1, 1.5>*<1, 6, 6>) = sign(-10*1 + 1*6 + 1.5*6) = sign(-10 + 6 + 9) = sign(5) = +1
Such a setup looks like this:

http://i.imgur.com/3ThX2Ni.png

Now, apply the update rule with the weight vector and misclassified example (I'm using slightly different notation than the book):

w(t + 1) = w(t) + y(x)*x
= <-10, 1, 1.5> + (-1)*<1, 6, 6>
= <-10, 1, 1.5> + <-1, -6, -6>
= <-10 + -1, 1 + -6, 1.5 + -6>
= <-11, -5, -4.5>

The new boundary line for w = <-11, -5, -4.5> looks like this:

http://i.imgur.com/EYZE1zq.png

But the boundary line has moved away from the misclassified point! Why did this happen? What am I doing wrong?

 joshreesjones 01-22-2016 11:53 AM

Re: Perceptron update rule problem

Right after I submitted, I noticed that the red and green regions had switched, so the point is classified correctly. However, when there are other points classified as +1 near <1, 6, 6>, they would all become misclassified, so I'm still a little confused by this example. Please help!

 joshreesjones 01-22-2016 06:25 PM

Re: Perceptron update rule problem

I have implemented the perceptron and it appears that it works anyway. The book says that the perceptron is guaranteed to converge, even if it makes moves that misclassify other examples.

Re: Perceptron update rule problem

Hi Josh
thanks for your post. I was confused as well by the Perceptron example because I expected that, after each update of the weight vector, the misclassified point gets corrected immediately.

Indeed, this doesn't necessarily happen at once but (of course) eventually (quoting Radiohead) "everything (ends up) in its right place". Ciao!

 All times are GMT -7. The time now is 04:14 PM.