← 返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: adaboost-derivation

AdaBoost 算法手推

AdaBoost Derivation
🎯核心定义
AdaBoost 是加法模型 f(x)=∑m=1MαmGm(x)f(x) = \sum_{m=1}^{M} \alpha_m G_m(x) 在指数损失 Lexp⁡(f)=∑i=1ne−yif(xi)L_{\exp}(f) = \sum_{i=1}^{n} e^{-y_i f(x_i)} 下的前向分步加性建模 (Forward Stagewise Additive Modeling)。第 mm 轮固定 fm−1f_{m-1}, 记权重 wi(m)=e−yifm−1(xi)w_i^{(m)} = e^{-y_i f_{m-1}(x_i)}, 只需极小化 ∑i=1nwi(m)e−αmyiGm(xi)\sum_{i=1}^{n} w_i^{(m)} e^{-\alpha_m y_i G_m(x_i)}。把样本按对错拆分: 分对 (yiGm(xi)=+1y_i G_m(x_i) = +1) 贡献 e−αmwie^{-\alpha_m} w_i, 分错 (yiGm(xi)=−1y_i G_m(x_i) = -1) 贡献 eαmwie^{\alpha_m} w_i, 目标化为 e−αm(Wm−errm)+eαmerrme^{-\alpha_m}\left(W_m - \text{err}_m\right) + e^{\alpha_m} \text{err}_m, 其中 Wm=∑i=1nwi(m)W_m = \sum_{i=1}^{n} w_i^{(m)} 为权重总和, errm=∑yi≠Gm(xi)wi(m)\text{err}_m = \sum_{y_i \neq G_m(x_i)} w_i^{(m)} 为加权错分样本权重和。对 αm\alpha_m 求导置零: −e−αm(Wm−errm)+eαmerrm=0-e^{-\alpha_m}\left(W_m - \text{err}_m\right) + e^{\alpha_m} \text{err}_m = 0, 即 e2αm=Wm−errmerrme^{2\alpha_m} = \frac{W_m - \text{err}_m}{\text{err}_m}; 定义加权错误率 em=errmWme_m = \frac{\text{err}_m}{W_m}, 得 αm=12ln⁡1−emem\alpha_m = \frac{1}{2} \ln \frac{1 - e_m}{e_m} — 弱分类器越准 (em→0e_m \to 0) 权重越大, 随机猜测 (em=0.5e_m = 0.5) 权重为 0, 差于随机 (em>0.5e_m > 0.5) 权重为负 (实践中翻转预测即可)。固定 αm>0\alpha_m > 0 时, 目标关于 GmG_m 等价于 ∑i=1nwi(m)1[yi≠Gm(xi)]\sum_{i=1}^{n} w_i^{(m)} \mathbb{1}\left[y_i \neq G_m(x_i)\right] — 带权分类错误率, 这正是每轮用加权数据训练弱分类器的依据。权重更新: wi(m+1)=wi(m)e−αmyiGm(xi)w_i^{(m+1)} = w_i^{(m)} e^{-\alpha_m y_i G_m(x_i)}, 即分对乘 e−αm=em1−em<1e^{-\alpha_m} = \sqrt{\frac{e_m}{1 - e_m}} < 1(权重下降), 分错乘 eαm=1−emem>1e^{\alpha_m} = \sqrt{\frac{1 - e_m}{e_m}} > 1(权重放大), 再除以 Wm+1W_{m+1} 归一化。最终分类器 G(x)=sign(∑m=1MαmGm(x))G(x) = \text{sign}\left(\sum_{m=1}^{M} \alpha_m G_m(x)\right)。指数损失是 0-1 损失的凸上界 (e−yf≥1[yf<0]e^{-yf} \geq \mathbb{1}[yf < 0], 且光滑可微), 使加权训练与函数空间梯度下降严格对齐。
💡使用场景
“推导 AdaBoost 权重”是 ML 面试白板题的高频天花板 — 常追问: 目标函数怎么来、为什么对 αm\alpha_m 求导、权重为什么乘性更新、为什么必须归一化、与 GBDT 的关系。
⚡解决的核心痛点
单个弱分类器 (如深度 1 的 stump) 精度仅略好于随机 — AdaBoost 迭代重加权把训练注意力集中到错分样本, 训练误差以 ∏m=1M2em(1−em)\prod_{m=1}^{M} 2\sqrt{e_m(1 - e_m)} 为界: 只要每轮 em<0.5e_m < 0.5(弱学习器条件), 误差随 MM 指数趋于 0, 将“略优于随机”的弱学习器提升为任意精度的强分类器; 代价是指数损失对噪声/离群点过度敏感 (错分样本权重爆炸式增长), 因此 LogitBoost 改用对数似然损失、GBDT 用负梯度框架做了推广。
🎯核心面试考点体系 (Exam Points)
基础原理 · 工业场景 · 深入排雷
基础·定义
请阐明【AdaBoost 算法手推】的本质定义、底层数学/架构运作机制与关键原理。
基础·场景
在实际工业生产体系中,【AdaBoost 算法手推】适用于哪些典型场景?解决了什么核心工程痛点?
🔥 高频进阶实战考点 (Top 5 Deep-Dive Questions)
1
白板推导 AdaBoost 权重: 从指数损失出发, 固定 GmG_m 把样本拆成“分对/分错”两组, 对 αm\alpha_m 求导得 αm=12ln⁡1−emem\alpha_m = \frac{1}{2} \ln \frac{1 - e_m}{e_m}
2
推导样本权重乘性更新 wi←wie−αmyiGm(xi)w_i \leftarrow w_i e^{-\alpha_m y_i G_m(x_i)}: 分对乘 e−αme^{-\alpha_m}、分错乘 eαme^{\alpha_m}, 为什么必须归一化? 两个乘子之比是多少?
3
为什么每轮用“带权数据”训练弱分类器? 固定 αm\alpha_m 后目标为什么退化为加权错误率?
4
为什么用指数损失? 它与 0-1 损失、对数损失 (LogitBoost) 的代理关系与各自优劣?
5
训练误差上界 ∏m2em(1−em)\prod_m 2\sqrt{e_m(1 - e_m)} 的含义; AdaBoost 与加法模型/GBDT 的关系
📖 关联深度指南:📄 decision-trees-and-ensemble →
更新于 2026-08-12
🎯
检验攻克程度:针对「AdaBoost 算法手推」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题 ➔
← 上一个知识点Bagging 与随机森林下一个知识点 →GBDT 负梯度拟合

🔗 更多 经典机器学习 知识点卡片

HMM 参数学习 Baum-Welch混淆矩阵线性链条件随机场K-Fold 交叉验证