Take a tiny dataset, all on the line y = x: two + points at (1, 1) and (2, 2), two − points at (−1, −1) and (−2, −2). By symmetry the widest street is perpendicular to that line: direction u = (1, 1)/√2.
projections onto u:
(1, 1) → √2 (2, 2) → 2√2
(−1, −1) → −√2 (−2, −2) → −2√2
gap between nearest classes: √2 − (−√2) = 2√2
half the gap: g = √2
boundary at the midpoint: 0
w = u / g = (0.5, 0.5) b = 0
margin = 2/‖w‖ = 2/√0.5 = 2√2 ≈ 2.8284
y·f(x): (1, 1) → 1.0000 ✓ support vector
(−1, −1) → 1.0000 ✓ support vector
(2, 2) → 2.0000 outside, α = 0
(−2, −2) → 2.0000 outside, α = 0
Now recover the dual weights from w = Σ αᵢyᵢxᵢ and Σ αᵢyᵢ = 0. Only the two support vectors can have αᵢ > 0: w = α₁(1, 1) + α₃(1, 1) = (α₁ + α₃)(1, 1), and Σαᵢyᵢ = α₁ − α₃ = 0, so α₁ = α₃ = 0.25. Check primal = dual: ½‖w‖² = ½(0.25 + 0.25) = 0.25, and the dual objective Σαᵢ − ½ΣΣ αᵢαⱼyᵢyⱼ(xᵢ·xⱼ) works out to 0.5 − 0.25 = 0.25 as well — strong duality, verified numerically.
Delete the outer point (2, 2) and nothing changes. Delete the inner point (1, 1) instead and the street must stretch to reach (2, 2): w = (1/3, 1/3), b = −1/3, margin = 3√2 ≈ 4.243, with α = 1/9 on the two remaining support vectors. Same data, one deletion, a completely different boundary — that is the definition of a support vector.