改进联级adaboost

这几天一直在想级联AdaBoost的问题。我先推导了一下级联AdaBoost的错误率与级数之间的关系,发现级联级数越多,其错误率越高。级联boost在提高速度的同时是以降低分类性能为代价的。级联是将各个分类器串联起来,通过少量的弱分类器就能够快速的拒绝大量的负样本,从而提高识别的速度。因此,便想如何解决这个问题。闵思苦想,先后想到了两种可能的方向,或者叫途径:

1:修改负样本的拒绝策略,将“一个分类器判为false则拒绝”修改为“两个分类器判为false则拒绝”

  思路来源:一个分类器将样本误判是很容易的,而两个分类器同时误判的可能性就大大降低了。因此提出修改样本的拒绝策略,如下:原来的策略:如果有一个分类器将样本判断为false,那么就拒绝(丢弃)该样本;修改的策略:如果有两个分类器将该样本判断为false,那么就拒绝(丢弃)该样本;

  自以为不错,还推算了很长很裹脚的错误率公式。后来无意查了一下,发现已经有人做了,而且做的更好。文章《Automatic Design of Cascaded Classfiers》提出,将每个子分类的判决结果保留,带入到下一级的分类器中,将各个分类器的结果累加,然后通过累加的分类器效果来确定是否拒绝该样本。这个思路非常的有创造性,显然会对分类器的识别率有很大的提高;并且,累加的效果完全是可以通过参数控制的,这样就非常灵活,并且不同的参数就能得到不同的结果,以适应不同的分类情形。

2:将模糊理论引入级联AdaBoost,在判决的过程中加入置信度,通过置信度来控制样本的接受或者拒绝

思路来源:AdaBoost的判决结果只能为1或者0,有且仅有两种可能性。感觉这种想法对问题的看法太绝对了。有些样本可能比较好判断,但也有很多样本,其可能性介于两者之间,很难去判断它属于1还还是0。因此,就想将模糊理论引入AdaBoost。这样,对物体的判断就可以改成这样的形式了:比如,某个样本,分类器对其判决为1,置信度为80%;或者判为0,置信度为60%。这样,就可以获得对目标更深的认识。当对目标物判决的置信度比较低时,那么就可以同时考虑两种情况。比如在级联boost中,如果其判决为0的置信度低于60%,那么就不拒绝该样本,传入后续的分类器继续判决。这样,就可以对系统的性能进行改进。可以刚才又查了一下,发现又有人把这个想法实现了,并应用于人脸识别。文章《Face Detection Based on Fuzzy Cascade Classifier with Scale-invariant》几乎跟我想的思路一样。郁闷。

目前我所了解的对AdaBoost算法的改进:
1.对弱分类器的搜索进行改进,比如FloatBoost
2.对分类器的体系框架进行改进,比如级联AdaBoost,二维级联AdaBoost
3.对评价标准进行改进,比如采用对称熵作标准,而非错误率
4.将模糊理论引入AdaBoost,称之Fuzzy AdaBoost
5.将SVM与AdaBoost结合,构造一个基于模糊AdaBoost算法的支持向量回归机模型,中国人写的,没看懂啥东西(名词组合得够好

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值