集成投票分类器的提升算法详解
1. 引言
在分类器集成的领域中,Bagging 方法虽然常能取得不错的效果,但存在明显不足,即各个分类器相互独立地从随机选择的数据中诱导得出。而一种更智能、可能更成功的方法应让分类器相互补充,Schapire 提升算法和 Adaboost 算法就是基于这种思路提出的。
2. Schapire 提升算法
2.1 诱导三个互补分类器
Schapire 提升算法的核心思想是让分类器相互补充。其具体步骤如下:
- 首先,从训练集 $T$ 中随机选取一个包含 $m$ 个训练示例的子集 $T_1$,并据此诱导出第一个分类器 $C_1$。
- 接着,创建第二个训练子集 $T_2$,使得 $C_1$ 在 $T_2$ 上的正确率为 50%,即 $C_1$ 能正确分类 $T_2$ 中 50% 的示例,错误分类另外 50%。从 $T_2$ 诱导出第二个分类器 $C_2$。
- 由于 $C_1$ 和 $C_2$ 是从不同示例诱导得出的,它们在某些实例的标签标注上必然存在差异。因此,需要创建第三个训练子集 $T_3$,该子集仅包含 $C_1$ 和 $C_2$ 分类结果不同的示例,从 $T_3$ 诱导出第三个分类器 $C_3$。
当有示例需要分类时,主分类器会收集这三个分类器推荐的标签,然后返回获得更多投票的类别。理想情况下,每个训练集 $T_i$ 的大小都为 $m$。
其算法的伪代码如下:
|步骤|操作|
| ---- | ---- |
|1|创建随机训练子集 $T_1$,并从中诱导出分类器 $C_1$。|
|2|创建训练子集 $T_2$
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



