AdaBoost and Exponential Loss
AdaBoost builds a strong classifier from a chain of weak ones by reweighting the training data after every round — each new model is forced to focus on whatever the previous ones got wrong.
Prerequisites: Decision Trees and CART, Bagging and Variance Reduction
A single shallow decision tree — sometimes just a one-split "stump" — is a weak classifier: barely better than a coin flip on its own. AdaBoost (Adaptive Boosting) chains many weak classifiers together, and the trick that makes the chain strong is what happens between rounds: every training example that the current classifier got wrong has its weight increased before the next classifier is trained, so the next one is forced to pay attention to exactly the cases the ensemble is still failing on.
AdaBoost is a re-weighting loop: fit a weak classifier, up-weight the points it misclassified, fit the next weak classifier on the re-weighted data, and repeat. The final prediction is a weighted vote across all rounds, with more accurate classifiers getting a louder vote.
The weight update and why it's exponential
After round , each weak classifier gets a vote strength , where is its weighted error rate. In words: a classifier that gets almost everything right ( near 0) earns a large positive vote weight; one that's barely better than random ( near 0.5) earns a vote weight near zero.
Each training point's weight is then updated as if it was misclassified, or if it was classified correctly, then all weights are rescaled to sum to 1. In words: a wrong answer multiplies a point's importance up by a factor tied to how confident the round's classifier was; a right answer shrinks it. AdaBoost can be shown to be doing gradient descent on the exponential loss , where is the true label and is the ensemble's running weighted vote — a loss that grows explosively the more confidently wrong a prediction is.
Worked example
Round 1 trains a stump with weighted error . Its vote weight is . A point it got wrong has its weight multiplied by — twice as important in round 2. A point it got right is multiplied by — half as important. If round 2's stump then achieves a lower weighted error of (partly because those doubled-weight hard points are now easier to address directly), its vote weight climbs to — nearly 60% louder than round 1's vote, because it did better on the points that mattered most at that stage.
What this means in practice
AdaBoost's exponential loss is what makes it fast to converge on well-behaved data, but also what makes it fragile around mislabeled points: a single training row with a flipped label looks like the "hardest" point in the data and gets its weight blown up round after round, since the ensemble can never classify a wrong label correctly. In finance this shows up with noisy trade labels (a profitable trade tagged as a loss due to a settlement error) — AdaBoost will happily spend rounds chasing that one bad row.
Don't confuse AdaBoost's reweighting with gradient boosting's residual-fitting. AdaBoost changes the sample weights fed to an unchanged weak learner; gradient boosting changes the target each new tree is fit to (the negative gradient of the loss). They're both boosting, but the mechanics — and their sensitivity to label noise — are different.
Related concepts
Practice in interviews
Further reading
- Freund & Schapire, 'A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting' (1997)
- Hastie, Tibshirani & Friedman, The Elements of Statistical Learning (ch. 10)