Supervised Learning
Support Vector Machines
You are seeing the margin boundaries and the hidden higher-dimensional space where a simple flat plane can separate complex patterns.
Stage 1 of 4: Maximum Margin
Two clusters of 80 points either side of a linear boundary at 0.35x + 0.35y + 0.08 = 0. With C at 1.0, the margin is 4.03 units wide, 40 of 80 points are support vectors, 28 fall inside the margin, and 100.0% are classified correctly.
- Class 1
- Class 0
- Support vector (outlined)
- Margin edge
- Decision boundary
- Slack (distance to the margin)
A linear classifier doesn't just need to separate points; it needs to do so safely. The solid line is the decision boundary. The shaded area is the **margin** — the "street" separating the two classes. SVM looks for the widest possible street that keeps the classes apart.
A visual exploration of Support Vector Machines, maximum margin separation, and the kernel trick.
Drawing the Widest Street
Most classification algorithms, like Logistic Regression, find a boundary that separates classes. If you have two completely distinct clusters of points, there are infinitely many lines you could draw between them. Which one is best?
Support Vector Machines (SVM) take a strong mathematical stance on this: the best boundary is the one that is furthest away from the nearest points of both classes. Imagine drawing a "street" separating the classes — SVM tries to find the widest possible street. The centerline of this street is the decision boundary (the hyperplane).
This approach builds a safety margin. A wider street means the model is less likely to misclassify new, unseen data that slightly deviates from the training set.
The Support Vectors
If you draw the widest street, it will eventually bump into a few points on its edges. These points — sitting right on the margin lines — are called Support Vectors.
They are the most important points in the dataset. They "support" the entire margin. If you were to delete all the other points in the dataset that are safely away from the street, the boundary wouldn't change at all. The model only cares about the most difficult points to classify — the ones closest to the opposing class.
The Reality of Noise: Soft Margins
In the real world, data is rarely perfectly separable. A single noisy outlier might cross into the other class's territory. If we insist on a "Hard Margin" — a street with absolutely no points inside it — the model might contort itself, creating a tiny, useless margin just to accommodate one noisy point, or it might fail to find a boundary entirely.
To fix this, we use a Soft Margin. We allow the model to make some mistakes, letting points enter the street or even cross the centerline (these violations are measured by slack variables).
This trade-off is controlled by a parameter usually called C (Regularization):
- High C (Hard Margin): The model is strictly penalized for points inside the margin. It will try to perfectly separate the data, even if it means a very narrow street. It memorizes the training data but might fail on new data.
- Low C (Soft Margin): The model is forgiving. It accepts some margin violations in exchange for a wider, more robust street that generalizes better.
The Magic Trick
What happens when a straight line or a flat plane simply cannot separate the classes? Imagine a dense ring of red points surrounded by an outer ring of blue points. No single line can split them.
This is where SVM performs the Kernel Trick. It mathematically lifts the 2D points into a higher-dimensional space. By adding a new feature — for example, making the height (Z-axis) of a point equal to its distance from the center squared () — the 2D rings become a 3D bowl shape.
In this new 3D space, we don't need a complex curve to separate the classes. A simple, flat plane can slice horizontally through the bowl, putting the red points below it and the blue points above it. When we project that flat slice back down to our flat 2D screen, it becomes a perfect circle separating the rings.
The "trick" is that the math behind SVM allows it to find this high-dimensional flat plane without ever actually computing all the coordinates in the higher space, saving enormous amounts of computational power.
Reference
- Hyperplane
- The decision boundary separating classes. In 2D, it is a line; in 3D, a flat plane.
- Margin
- The distance between the hyperplane and the closest data points from either class.
- Support Vector
- A data point lying on the margin boundary that directly supports or defines the hyperplane.
- Slack Variable
- Allows certain points to lie within the margin or on the wrong side to accommodate noise.
- Kernel Trick
- A mathematical operation that calculates distances in a high-dimensional space without explicitly computing the coordinates, allowing linear models to learn non-linear boundaries.
Break it on purpose
Drag C down to its minimum. As the regularization term takes over it drives ||w|| toward zero, so the street widens without bound — at C = 0.1 the margin is 8.76 units across on a plot only 8 units wide, and every single one of the 80 points is inside it and flagged as a support vector. Accuracy stays at 100%, which is what makes it worth catching: nothing looks broken, but "only a few points matter" has quietly stopped being true.