Back to Classic ML Mind Map
中文·English
📊 Classic MLID: adaboost-derivation

AdaBoost Derivation

AdaBoost 算法手推
🎯Core Definition
AdaBoost fits the additive model f(x)=m=1MαmGm(x)f(x) = \sum_{m=1}^{M} \alpha_m G_m(x) by forward stagewise additive modeling under exponential loss Lexp(f)=i=1neyif(xi)L_{\exp}(f) = \sum_{i=1}^{n} e^{-y_i f(x_i)}. At round mm, fixing fm1f_{m-1} and writing wi(m)=eyifm1(xi)w_i^{(m)} = e^{-y_i f_{m-1}(x_i)}, we minimize i=1nwi(m)eαmyiGm(xi)\sum_{i=1}^{n} w_i^{(m)} e^{-\alpha_m y_i G_m(x_i)}. Splitting samples by correctness — correctly classified (yiGm(xi)=+1y_i G_m(x_i) = +1) contribute eαmwie^{-\alpha_m} w_i, misclassified (yiGm(xi)=1y_i G_m(x_i) = -1) contribute eαmwie^{\alpha_m} w_i — the objective becomes eαm(Wmerrm)+eαmerrme^{-\alpha_m}\left(W_m - \text{err}_m\right) + e^{\alpha_m} \text{err}_m with Wm=i=1nwi(m)W_m = \sum_{i=1}^{n} w_i^{(m)} and weighted misclassified mass errm=yiGm(xi)wi(m)\text{err}_m = \sum_{y_i \neq G_m(x_i)} w_i^{(m)}. Setting the derivative w.r.t. αm\alpha_m to zero: eαm(Wmerrm)+eαmerrm=0-e^{-\alpha_m}\left(W_m - \text{err}_m\right) + e^{\alpha_m} \text{err}_m = 0, so e2αm=Wmerrmerrme^{2\alpha_m} = \frac{W_m - \text{err}_m}{\text{err}_m}; with the weighted error rate em=errmWme_m = \frac{\text{err}_m}{W_m} we get αm=12ln1emem\alpha_m = \frac{1}{2} \ln \frac{1 - e_m}{e_m} — more accurate weak learners (em0e_m \to 0) get larger weights, random guessing (em=0.5e_m = 0.5) gets weight 0, worse-than-random (em>0.5e_m > 0.5) gets a negative weight (flip the prediction). For fixed αm>0\alpha_m > 0 the objective in GmG_m reduces to i=1nwi(m)1[yiGm(xi)]\sum_{i=1}^{n} w_i^{(m)} \mathbb{1}\left[y_i \neq G_m(x_i)\right] — the weighted classification error, which justifies training the weak learner on weighted data each round. Weight update: wi(m+1)=wi(m)eαmyiGm(xi)w_i^{(m+1)} = w_i^{(m)} e^{-\alpha_m y_i G_m(x_i)}, i.e. multiply correct samples by eαm=em1em<1e^{-\alpha_m} = \sqrt{\frac{e_m}{1 - e_m}} < 1 and misclassified samples by eαm=1emem>1e^{\alpha_m} = \sqrt{\frac{1 - e_m}{e_m}} > 1, then renormalize by Wm+1W_{m+1}. Final classifier: G(x)=sign(m=1MαmGm(x))G(x) = \text{sign}\left(\sum_{m=1}^{M} \alpha_m G_m(x)\right). Exponential loss is a convex upper bound of 0-1 loss (eyf1[yf<0]e^{-yf} \geq \mathbb{1}[yf < 0]) and is smooth, aligning weighted training with gradient descent in function space.
💡Use Cases
deriving the AdaBoost weights is a whiteboard classic — follow-ups include where the objective comes from, why we differentiate w.r.t. αm\alpha_m, why the weight update is multiplicative, why normalization is required, and the link to GBDT.
Key Problems Solved
a single weak learner (e.g. depth-1 stump) is barely better than random — AdaBoost's iterative reweighting focuses training on misclassified samples and drives the training error down exponentially fast with the bound m=1M2em(1em)\prod_{m=1}^{M} 2\sqrt{e_m(1 - e_m)}: as long as em<0.5e_m < 0.5 (the weak-learner condition), error goes to zero as MM grows, boosting weak learners into an arbitrarily accurate strong classifier; the cost is that exponential loss is overly sensitive to noise/outliers (misclassified weights explode), which motivated LogitBoost's log-likelihood loss and GBDT's negative-gradient framework.
🎯5 High-Frequency Exam Points
1
Whiteboard the AdaBoost weight: start from exponential loss, split samples into correct/misclassified, differentiate w.r.t. αm\alpha_m to get αm=12ln1emem\alpha_m = \frac{1}{2} \ln \frac{1 - e_m}{e_m}
2
Derive the multiplicative update wiwieαmyiGm(xi)w_i \leftarrow w_i e^{-\alpha_m y_i G_m(x_i)}: multiply by eαme^{-\alpha_m} (correct) vs eαme^{\alpha_m} (wrong); why must weights be renormalized? What is the ratio of the two factors?
3
Why train the weak learner on weighted data? Why does the objective reduce to the weighted error rate for fixed αm\alpha_m?
4
Why exponential loss? Its surrogate relationship with 0-1 loss and log loss (LogitBoost), and the tradeoffs
5
Meaning of the training error bound m2em(1em)\prod_m 2\sqrt{e_m(1 - e_m)}; the relationship between AdaBoost and additive models / GBDT
Updated 2026-08-12
🎯
Test Your Knowledge: Practice Questions for "AdaBoost Derivation"
Single choice pitfall questions with instant feedback and mistake tracking.
🚀 Start Card Practice
Previous CardBagging & Random ForestNext CardGBDT Negative Gradient

🔗 More Classic ML Knowledge Cards

Baum-Welch (HMM EM)Confusion MatrixLinear-Chain CRFK-Fold Cross-Validation