Skip to content

AdaBoost 训练误差界

AdaBoost training error bound · AdaBoost exponential loss bound

AdaBoost 的训练零一错误由每轮归一化常数乘积控制,并在持续弱优势下按优势平方和指数下降。

结论

训练集为 (xi,yi)i=1myi{1,+1}。AdaBoost 第 t 轮在分布 Dt 下选择弱分类器 ht{1,+1}X,加权错误率

εt=PriDt[ht(xi)yi]<12,

并取

αt=12log1εtεt,FT(x)=t=1Tαtht(x).

则最终分类器 signFT 的训练错误率满足

R^S0-1(FT)t=1TZt=t=1T2εt(1εt).

若写 εt=12γt,则

R^S0-1(FT)exp(2t=1Tγt2).

特别地,每轮优势至少 γ>0 时,Tlog(1/ε)/(2γ2) 足以把训练错误压到 ε 以下。

归一化常数为何连成指数损失

AdaBoost 更新为

Dt+1(i)=Dt(i)eαtyiht(xi)Zt,Zt=iDt(i)eαtyiht(xi).

D1(i)=1/m 迭代展开,

DT+1(i)=m1eyiFT(xi)tZt.

i 求和并用 iDT+1(i)=1,得到经验指数损失的精确分解

1mi=1meyiFT(xi)=t=1TZt.

误分类时 yiFT(xi)0,于是 1[yiFT(xi)0]eyiFT(xi);训练零一错误便被指数损失控制。

每轮最优系数与弱优势

由于 yiht(xi) 只取 ±1

Zt=(1εt)eαt+εteαt.

αt 求极小,得到所用的 12log((1εt)/εt),并有 Zt=2εt(1εt)。代入 εt=1/2γt

Zt=14γt2e2γt2,

最后一步来自 log(1x)x。因此指数下降不是一句“弱分类器叠加会变强”的口号,而是每轮对同一个指数势函数取得固定乘法收缩。

具体例子:固定弱优势的轮数

若弱学习器无论样本权重怎样重排都能保持优势 γ,每轮让训练指数损失最多乘 e2γ2。要再减少一个十进制数量级,只需追加 log10/(2γ2) 轮,与当前已迭代多少轮无关。这种几何衰减解释了 weak-to-strong 归约为何只需对目标误差取对数轮数。

适用边界

εt 必须按当前 Dt 计算;普通未加权训练错误不能代替它。若 εt=1/2,则 αt=0,这一轮没有进展;若大于 1/2,二元分类时可翻转弱分类器,若假设类或输出协议不允许翻转,则弱学习条件已经失败。

本定理只控制给定训练集。训练错误为零不意味着测试风险为零,噪声和异常点还可能让权重集中到少数不可拟合样本。训练后继续迭代的泛化现象需要 Boosting 的间隔理论或其他复杂度分析,不能把上式直接称为 PAC 界。

参考资料
  • Yoav Freund and Robert Schapire, “A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting,” 1997.
  • Robert E. Schapire and Yoav Freund, Boosting: Foundations and Algorithms, MIT Press, 2012, Chapter 2.