§ 3.3Module 3

Boosting

On this page

3.3 — Boosting

Recall first. Bagging fits models independently. What information does boosting pass from one learner to the next?

Sequential additive correction

Boosting builds an ensemble sequentially. Each new weak learner is fitted to emphasize what the current ensemble predicts poorly. A generic additive form is:

Fₘ(x) = Fₘ₋₁(x) + η αₘ hₘ(x)

where hₘ is the new learner, αₘ its weight, and η the learning rate/shrinkage. The final prediction is the sum (or a transformed sum for classification). Unlike bagging, the learners are not independent and cannot be freely trained in parallel in the basic algorithm.12

Two exam-level views

AdaBoost: start with equal example weights. Fit a weak classifier, increase weights on misclassified examples, decrease or relatively reduce weights on correctly classified examples, and give a learner with lower weighted error a larger vote. For binary y∈{−1,+1}:

αₘ = 1/2 log((1−errₘ)/errₘ)

The weighted combination is sign(Σ αₘhₘ(x)). A learner with error below 0.5 gets positive weight; error 0.5 gets zero weight under the idealized formula. This is an exam simplification; implementations have safeguards and details.

Gradient boosting: start with a baseline prediction and repeatedly fit a learner to the negative gradient (for squared error, residuals) of the chosen loss. Add a shrunken update. Thus “correct previous residuals” is useful shorthand, but the precise target is the loss gradient, not always raw residuals.1

Worked AdaBoost trace

Suppose a weak classifier has weighted error err=0.20:

α = 0.5 log(0.8/0.2) = 0.5 log 4 ≈ 0.693

If another has error 0.40, its weight is 0.5 log(0.6/0.4)≈0.203; the better learner gets a larger vote. After the first learner, examples it misclassified receive increased relative weight, so the next learner focuses on them. A single bad example may eventually receive very high weight, which explains both the corrective power and sensitivity to label noise/outliers.

Controls and trade-offs

Boosting can reduce bias and produce strong accuracy from shallow trees, but too many stages, large learners, high learning rate, or noisy labels can overfit. Control it with number of estimators, learning rate, tree depth/leaf size, subsampling, regularization, and early stopping based on validation performance. Small learning rates often need more stages; this is a compute/fit trade-off, not a free improvement.1

Exercise

A binary AdaBoost round has weighted error 0.5. What is its vote weight? If error is 0.1, is the weight positive or negative?

Revealed answer

At err=0.5, α=0.5 log(1)=0, so it contributes no vote under the formula. At err=0.1, α=0.5 log(0.9/0.1)>0; it receives a positive weight.

Exam lens

Contrast “sequentially focus on errors” with bagging’s independent resamples. Give AdaBoost’s weight formula or gradient-descent-on-loss view, then state learning rate, stages, and overfitting controls.

Rapid revision checklist

Key takeaways

Sources

Footnotes

  1. scikit-learn, Gradient boosting User Guide, and AdaBoost API. ↩ ↩2 ↩3

  2. Hastie, Tibshirani & Friedman, ESL, chapters 10–11; Freund & Schapire, AdaBoost paper. ↩