Boosting
约 406 个字 预计阅读时间 1 分钟
定义
Boosting 的核心思想是整合多个分类器的结果,从而提高整体的性能。(boost
这个词本身就是提升的意思)。对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)要容易的多。Boosting算法就是从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,得到一个强分类器。
策略
AdaBoosting 的方案是 * 提高在前一轮被弱分类器被错误分类的样本的权值,降低那些被正确分类的权值 * 按照弱分类器的准确率来给定权值,越准确的分类器权重越高
- 初始化数据的权值分布$D_1=(w_{11},..w_{1i},...w_{1n}),w_{1i}=\frac{1}{n} $
- 对$m=1,2,...,M $
- 使用权值$D_m \(训练数据学习,得到基本分类器\)G_m(x):x\rightarrow {-1,+1} $
- 计算$G(m)(x) \(在训练数据集上的分类误差率\)e_m=\Sigma_{i=1}^NP(G_m(x_i)\neq y_i) $
- 计算$G_m(x) \(的系数\)\alpha_m=\frac{1}{2}\ln\frac{1-e_m}{e_m} $
- 更新训练集的权值分布$$D_{m+1}=(w_{m+1,1},..w_{m+1,i},...w_{m+1,n}) \ w_{m+1,i}=\frac{w_{mi}}{Z_m}exp(-\alpha_my_iG_m(x_i)) $\(,这里的\)Z_m \(是规范化因子\)Z_m=\Sigma_{m=1}^N w_{mi}exp(-\alpha_my_iG_m(x_i)) $
- 构建基本分类器线性组合$f(x)=\Sigma_{m=1}^M\alpha_mG_m(x) \(,得到最终分类器\)G(x)=sign(f(x))=sign(\Sigma_{m=1}^M\alpha_mG_m(x)) $