Adaboost(Adaptive Boosting,自适应提升)是一种迭代的集成学习算法,通过组合多个弱分类器来构建强分类器。其核心思想是关注错误样本,逐步改进。
一、核心思想图解
二、算法步骤分解
1. 初始化阶段
- 给定训练集: ( x 1 , y 1 ) , . . . , ( x N , y N ) (x_1,y_1),...,(x_N,y_N) (x1,y1),...,(xN,yN), y i ∈ { − 1 , + 1 } y_i \in \{-1,+1\} yi∈{−1,+1}
- 初始化样本权重: w i ( 1 ) = 1 N w_i^{(1)} = \frac{1}{N} wi(1)=N1(所有样本等权重)
2. 迭代训练(for t = 1 to T)
(1) 训练弱分类器
- 使用当前权重分布 w ( t ) w^{(t)} w(t)训练弱分类器 h t ( x ) h_t(x) ht(x)
- 计算加权错误率:
ϵ t = ∑ i = 1 N w i ( t ) ⋅ I ( h t ( x i ) ≠ y i ) \epsilon_t = \sum_{i=1}^N w_i^{(t)} \cdot \mathbb{I}(h_t(x_i) \neq y_i) ϵt=i=1∑Nwi(t)⋅I(ht(xi)=yi)
(2) 计算分类器权重
- 确定该弱分类器的发言权:
α t = 1 2 ln ( 1 − ϵ t ϵ t ) \alpha_t = \frac{1}{2} \ln \left( \frac{1-\epsilon_t}{\epsilon_t} \right) αt=21ln(ϵt1−ϵt)- 当 ϵ t < 0.5 \epsilon_t < 0.5 ϵt<0.5时, α t > 0 \alpha_t > 0 αt>0(有效分类器)
- 错误率越低,权重越大
(3) 更新样本权重
- 增加错分样本权重,减少正确分类样本权重:
w i ( t + 1 ) = w i ( t ) ⋅ e − α t y i h t ( x i ) Z t w_i^{(t+1)} = \frac{w_i^{(t)} \cdot e^{-\alpha_t y_i h_t(x_i)}}{Z_t} wi(t+1)=Ztwi(t)⋅e−αtyiht(xi)- Z t Z_t Zt:归一化因子
- 对于错分样本: y i h t ( x i ) = − 1 y_i h_t(x_i) = -1 yiht(xi)=−1 → 权重增大
- 对于正确样本: y i h t ( x i ) = 1 y_i h_t(x_i) = 1 yiht(xi)=1 → 权重减小
3. 最终强分类器
H ( x ) = sign ( ∑ t = 1 T α t h t ( x ) ) H(x) = \text{sign} \left( \sum_{t=1}^T \alpha_t h_t(x) \right) H(x)=sign(t=1∑Tαtht(x))
三、关键特性说明
-
自适应原理:
- 通过调整样本分布,使后续分类器聚焦于难样本
- 如图像识别中难以分类的特定角度物体
-
权重机制:
- 样本权重:反映分类难度
- 分类器权重:反映分类能力
-
误差上界:
训练误差 ≤ ∏ t = 1 T Z t \text{训练误差} \leq \prod_{t=1}^T Z_t 训练误差≤t=1∏TZt
随着迭代进行,误差指数下降
四、实例说明(二维数据分类)
迭代轮次 | 分类边界 | 重点关注的区域 |
---|---|---|
t=1 | 水平线 | 全部样本等权重 |
t=2 | 垂直线 | 上轮错分的红点 |
t=3 | 斜线 | 前两轮都分错的区域 |
五、算法优势
- 灵活性:可与任何弱分类器结合(决策树、SVM等)
- 自动特征选择:通过权重调整隐含实现
- 抗过拟合:经验误差随迭代持续下降
- 数学优雅:具有明确的误差收敛证明
六、Python实现示例
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
# 使用决策树桩(max_depth=1)作为弱分类器
base_clf = DecisionTreeClassifier(max_depth=1)
adaboost = AdaBoostClassifier(
base_estimator=base_clf,
n_estimators=50,
learning_rate=1.0
)
adaboost.fit(X_train, y_train)
Adaboost通过这种"关注错误、逐步改进"的机制,将多个弱分类器组合成高精度模型,是机器学习集成方法的经典代表。