AdaBoost(自适应提升)算法的原理与构建过程
字数 1368 2025-11-02 10:11:13
AdaBoost(自适应提升)算法的原理与构建过程
题目描述
AdaBoost是一种集成学习算法,通过组合多个弱分类器(如决策树桩)来构建一个强分类器。其核心思想是逐步调整训练样本的权重,使后续弱分类器更关注之前分类错误的样本,最终通过加权投票得到最终预测。需要详细解释其权重更新机制、分类器加权策略及算法流程。
解题过程
-
初始化样本权重
- 假设训练集有 \(N\) 个样本,初始时每个样本的权重为 \(\frac{1}{N}\),表示平等对待所有样本。
-
迭代训练弱分类器(共 \(T\) 轮)
- 步骤1:训练当前弱分类器
使用当前样本权重分布训练一个弱分类器 \(h_t(x)\),目标是最小化加权错误率 \(\epsilon_t\):
- 步骤1:训练当前弱分类器
\[ \epsilon_t = \sum_{i=1}^{N} w_t(i) \cdot \mathbb{I}(h_t(x_i) \neq y_i) \]
其中 $ w_t(i) $ 是第 $ i $ 个样本在第 $ t $ 轮的权重,$ \mathbb{I} $ 是指示函数。
- 步骤2:计算分类器权重 \(\alpha_t\)
根据错误率 \(\epsilon_t\) 计算弱分类器 \(h_t\) 的权重:
\[ \alpha_t = \frac{1}{2} \ln \left( \frac{1 - \epsilon_t}{\epsilon_t} \right) \]
说明:错误率越低($ \epsilon_t $ 越小),$ \alpha_t $ 越大,表示该分类器在最终投票中占更大比重。
- 步骤3:更新样本权重
增加分类错误样本的权重,减少正确分类样本的权重:
\[ w_{t+1}(i) = w_t(i) \cdot \exp \left( -\alpha_t y_i h_t(x_i) \right) \]
由于 $ y_i $ 和 $ h_t(x_i) $ 均取值为 $ \{-1, +1\} $,当预测正确时 $ y_i h_t(x_i) = 1 $,权重减小;错误时 $ y_i h_t(x_i) = -1 $,权重增大。
最后对权重进行归一化:$ w_{t+1}(i) = \frac{w_{t+1}(i)}{\sum_{j=1}^{N} w_{t+1}(j)} $。
- 组合强分类器
最终强分类器为所有弱分类器的加权投票:
\[ H(x) = \text{sign} \left( \sum_{t=1}^{T} \alpha_t h_t(x) \right) \]
其中 \(\text{sign}\) 函数取符号,决定分类结果。
关键点说明
- 样本权重更新:通过指数机制(\(\exp(-\alpha_t y_i h_t(x_i))\))实现错误样本的权重放大,确保后续分类器聚焦于难例。
- 分类器权重 \(\alpha_t\):与错误率负相关,保证更准确的弱分类器对最终决策影响更大。
- 理论保证:AdaBoost的训练误差以指数速度下降,且不易过拟合(具体可通过间隔理论解释)。