easy ensemble 算法和balance cascade算法

本文探讨了Easy Ensemble和Balance Cascade两种机器学习算法。Easy Ensemble通过从多数类抽样并结合少数类构建训练集,训练Adaboost分类器。预测阶段,它使用所有弱分类器的预测结果和权重向量计算,而非简单的多数表决。相比之下,Balance Cascade算法类似,但通过调整分类器阈值控制错误的多数类样本比例,以确保在多次迭代后多数类样本数量减少至等于少数类。

看了一下easy ensemble 算法的matlab代码,发现之前的理解有问题

这里写图片描述

从上面的伪代码可以看出,easy ensemble每次从多数类中抽样出和少数类数目差不多的样本,然后和少数类样本组合作为训练集。在这个训练集上学习一个adaboost分类器。
最后预测的时候,是使用之前学习到的所有adaboost中的弱分类器(就是每颗决策树)的预测结果向量(每个树给的结果组成一个向量)和对应的权重向量做内积,然后减去阈值,根据差的符号确定样本的类别。

之前我的理解是根据每个adaboost的预测结果做多数表决,比如10个adaboost,有6个adaboost预测为少数类,那么这个样本就是少数类。显然,easy ensemble不是这样来实现的。

balance cascade算法的算法框架如下:
这里写图片描述
这里写图片描述

可以看出balance cascade算法和easy ensemble还是挺像的,差别就在第7步和第8步。

第6步,算法训练出一个分类器,然后在第7步调整分类器 Hi 的阈值 θi 以保证分类器 Hi 的false positive rate w为 f 。而f的定义为:

f=|P||N|1/(T1)

这样的话,根据 Hi 的阈值 θi 对所有的多数类样本进行预测,如果样本的估计值大于该阈值则判定为正例(即少数类),这些都是预测错误的多数类样本。如果样本的估计值小于阈值则判定为负例(即多数类),这些就是预测正确的多数类样本,第8步中去掉的也就是这一部分样本,而这些样本占当前所有多数类的样本的多少呢?答案是 1f ,即每次迭代多数类样本保留下来的比例为 f ,那么T-1次后,多数类样本还剩|N|fT1=|P|个,那么在第T次迭代中,多数类样本就会少于少数类样本,此时可以停止迭代。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值