The idea
Think of revising for an exam with flashcards. After each round you move the cards you missed to the front, so the next round focuses on them. You only stop worrying about a card once you keep getting it right.
AdaBoost does this with point weights. Misclassified points get heavier, so the next learner is pushed to fix them. Each learner also gets a say in the final vote that grows with its accuracy.
How it learns
- Give every point the same weight.
- Fit a small tree that minimises the weighted error.
- Compute its weighted error and its voting power (scaled by the learning rate).
- Increase the weights of misclassified points, decrease the rest, and renormalise.
- Repeat for the chosen number of learners; predict with a weighted vote.
Reading the picture
With Size points by weight on, each point's size shows how much the current round cares about it. Watch the hard points near the boundary swell while easy ones shrink.
The background shows the sign of the weighted vote, shaded by its strength. Because each learner is a stump or a shallow tree, the boundary is built from axis-aligned steps that become finer as learners are added.
Try this
- On Circles with Learner depth 1, press step a few times. Each stump is a single straight cut, yet together they start to enclose the ring.
- Keep Size points by weight on and play to the end. The biggest points are the ones the ensemble still finds hardest.
- Set Learning rate to 0.1. Learners get a smaller say, so you need many more of them to reach the same boundary.
- Try XOR with Learner depth 1 and then 2. A single stump has weighted error near 50% here, so depth 2 helps a lot.
The maths
Weighted error
Learner weight
Reweight
Final vote
Strengths and weaknesses
Good at
- Turns very weak learners into a strong classifier.
- Few hyperparameters and no feature scaling.
- Point weights reveal which examples are hard.
Struggles with
- Very sensitive to label noise and outliers.
- Learners are sequential, so it is hard to parallelise.
- This version handles two classes only.