LFD Book Forum  

Go Back   LFD Book Forum > Book Feedback - Learning From Data > Chapter 1 - The Learning Problem

Reply
 
Thread Tools Display Modes
  #1  
Old 01-22-2016, 12:51 PM
joshreesjones joshreesjones is offline
Junior Member
 
Join Date: Jan 2016
Posts: 3
Default 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:



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:



But the boundary line has moved away from the misclassified point! Why did this happen? What am I doing wrong?
Reply With Quote
  #2  
Old 01-22-2016, 12:53 PM
joshreesjones joshreesjones is offline
Junior Member
 
Join Date: Jan 2016
Posts: 3
Default 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!
Reply With Quote
  #3  
Old 01-22-2016, 07:25 PM
joshreesjones joshreesjones is offline
Junior Member
 
Join Date: Jan 2016
Posts: 3
Default 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.
Reply With Quote
  #4  
Old 08-05-2016, 03:33 PM
lucadex lucadex is offline
Junior Member
 
Join Date: Aug 2016
Location: Pisa, Italy
Posts: 1
Default 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!
Reply With Quote
Reply

Tags
perceptron

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:34 AM.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
The contents of this forum are to be used ONLY by readers of the Learning From Data book by Yaser S. Abu-Mostafa, Malik Magdon-Ismail, and Hsuan-Tien Lin, and participants in the Learning From Data MOOC by Yaser S. Abu-Mostafa. No part of these contents is to be communicated or made accessible to ANY other person or entity.