分类集成的双重修剪算法
1. 引言
在分类器集成的应用中,计算成本和泛化性能是两个关键问题。为了解决这些问题,我们可以结合两种现有的修剪策略,即选择互补分类器子集和基于实例的修剪(IB - 修剪)。
2. 选择互补分类器子集
从大小为 (t - 1) 的子集成 (S_{t - 1}) 构建大小为 (S_t) 的子集成时,会从剩余的分类器池中纳入单个分类器。这个分类器的选择是通过最大化一个与集成泛化性能相关的度量来确定的。有效的选择度量会考虑所选分类器的互补性,而不仅仅是它们的个体准确性或多样性。
这里使用基于提升的有序装袋方法,它利用提升中定义的加权训练误差来指导排序过程。具体操作步骤如下:
1. 初始时,使用装袋生成初始的分类器池。
2. 迭代更新训练示例的权重,就像在提升算法中一样。如果最后纳入集成的分类器正确(错误)分类了训练示例,那么根据 AdaBoost 规则降低(增加)这些训练示例的权重。
3. 选择使加权训练误差最小的分类器纳入集成。
大量实验评估表明,在聚合过程中提前停止可以识别出修剪后的集成,其大小约为完整集成的 20%,这些修剪后的集成性能优于装袋,并且保留了装袋对示例类别标签中噪声的鲁棒性。
3. 基于实例的修剪(IB - 修剪)
考虑一个二分类问题,假设有一个由 (T) 个相互独立构建的分类器组成的并行集成。每个分类器是通过对相同的学习数据重复应用包含某种随机化形式的学习算法得到的。
对于一个需要分类的任意实例 (x),假设只查询了 (t) 个分类器,当前类 1 的投票数为 (t_1),类 2 的投票数为 (t_2)((
超级会员免费看
订阅专栏 解锁全文
14

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



