统计学习: AdaBoost
十一月 18, 2021
对于一个二分类问题数据集
其中 $x_i\in \mathcal X \subseteq \mathbb R^m, y_i\in\mathcal Y=\lbrace-1,+1\rbrace$ 。AdaBoost 使用以下算法,从训练数据中学习一系列弱分类器,并将这些弱分类器线性组合称为一个强分类器。
算法
输入:训练集数据;弱学习器 $G_m$
输出:一个强学习器 $G$
1. 初始化训练数据的权重向量
2. for m=1,…,M
a)使用具有权重 $D_m$ 的数据集训练弱学习器,得到
b)计算 $G_m(x)$ 在训练集上的分类误差率,
c)更新权重向量,
其中 $\alpha_m$ 是最重要的参数,它不但表示在最终分类器中,每一个弱分类器所占的比重,也表示每个弱分类器对权重更新的程度。
3. 构建最终学习器
误差上界
证明:
首先易得,
由权重更新公式得到,
继续推导,
$\alpha_m$ 的选择
我们现在已经知道了误差上界为 $\prod_{m=1}^M Z_m$ ,因此应该寻找 $\alpha_m$ 使得 $Z_m$ 最小,
确定完 $\alpha_m$ 之后,我们可以进一步界定误差上界,
因此,只要保证每个弱分类器只要比随机猜测略好($e_m<0.5$),就能保证最终的强分类器的误差上界被不断减小。但这个减小的程度是有限的,随着无法找到不同的弱分类器,就无法再继续了。
查看评论