Rosenblatt's Perceptron Algorithm: update, margin, bound and convergence proof

Perceptron learning in data space and weight space Left: labelled points, the margin corridor, the model's separating plane, and the update parallelogram. Right: weight space with one dual hyperplane per example, the green wedge of weight vectors that classify everything correctly, the pink region where w must lie after k mistakes, the trajectory so far, and an optional worst-case zigzag stepping between that region's corners. A slider scrubs backwards and forwards through the run and past its end.
points
steps 0
Amber line: the model's separating plane, perpendicular to w. Blue half-plane: where the model says +. Pink cap: where w must lie after k mistakes, cut by the length ceiling |w| ≤ √(|w₀|² + kR²) and the shadow floor w*·w ≥ w*·w₀ + kγ; the dashed pink rays are the cone it spans. Each thin line in weight space is one point's dual, the weights that tie on it, blue for +, grey for −; the chosen point's is drawn heavier, and the green wedge is where all their half-planes overlap. Green wedge: every w that classifies every point correctly. Pink zigzag: the extremal run, stepping corner to corner where the chord meets the arc. Each step picks adversarially: of the mistakes available, the one whose update leaves w at the widest angle to w*.