misclassified points after update
In my perceptron code, I added a check that after updating the weights on a misclassified point, the point becomes "correct". The lecture claims that after updating w<w+x_i*y_i, w becomes correct on x_i (using a geometric obtuse/acute angle intuition). To my surprise, my check failed every now and then, not on every PLA run, but occasionally  meaning that sometimes the point stayed misclassified after an update. I didn't see any other issues with my code, and the answers it generated led to correct answers on the homework.
Before I delve into it and try to debug it, I thought of asking if this is known to be normal, or was experienced by others. Come to think of it, I don't see an obvious rigorous argument that updating makes w correct on the point under consideration  is there a simple way to prove this I'm missing?
