Gradient Boosting Systems
Boosting methods train predictors sequentially, with each model attempting to correct its predecessor’s errors.
AdaBoost (Adaptive Boosting)
AdaBoost focuses on misclassified instances by adjusting their weights:
- Initialize all instance weights to .
- Train a base predictor and calculate its weighted error rate .
- Compute the predictor weight , where is the learning rate.
- Update instance weights: increase weights for misclassified instances and decrease them for correctly classified instances.
- Normalize weights and repeat.
Gradient Boosting
Unlike AdaBoost, Gradient Boosting trains models on the residual errors of the previous predictor.
For regression with squared error loss, the target for predictor is the residual:
The final prediction aggregates all estimators:
In classification, Gradient Boosting fits new trees to minimize the pseudo-residuals of the loss function, which are the negative gradients of the loss.
Histogram-Based Gradient Boosting
Modern implementations (like XGBoost, LightGBM, and scikit-learn’s HistGradientBoostingRegressor) bin continuous features into integer bins (e.g., 256 bins). This reduces the computational complexity of finding splits from to , speeding up training on large datasets.
Example: Residual Learning
The following example demonstrates fitting successive decision trees to residual errors:
Interactive Lab
Fit sequential regression trees to residual errors to simulate a simple Gradient Boosting step-by-step pipeline.
Exercise
Test your understanding of the boosting process:
What happens if the learning rate parameter is set too high in a Gradient Boosting model?
Shrinkage and Estimator Limits
In gradient boosting, learning rate is also known as shrinkage. A low learning rate (e.g., ) paired with more trees allows the model to converge smoothly, increasing generalization performance on tabular data.