`
kofsky
  • 浏览: 195765 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

问题记录:如何训练加入辅助判决函数的级联AdaBoost分类器

FP 
阅读更多

加入辅助判决函数时,训练策略
由bootstrap略作变动,将调整AdaBoost阈值变为调整辅助判决函数的阈值
训练过程中,会导致TP与FP均非常高的局面
比如1000正样本与1000负样本
训练过程中变为1000正样本与5负样本
此时训练,无论怎样训练,AdaBoost都认为样本为真
于是TP=1,FP=1
训练程序无法处理这种情况,将陷入死循环
这是因为加入辅助判决函数的目的是为了提高检测率(TP),只有当检测率较低时,才能起到作用
而此时检测率已经非常高了,辅助判决函数无法起到作用
此时亦无法通过调整阈值的方式调整FP

bootstrap有效的一个原因是:当分类器阈值调低时,能使得检测率上升
而加入辅助判决函数后,调整辅助判决函数的阈值,却无法坐倒这一点。

 

比较:
bootstrap训练级联分类器的实质是,在保证检测率的基础上,使误检率尽可能的低
通过增加弱分类器数目来保证误检率较低
通过降低阈值来保证检测率达到要求
而加入辅助判决函数后的目的为:在误检率满足要求的基础上,使检测率尽可能的高
降低辅助判决函数的阈值只能提高检测率,而不能降低误检率

问题:为社么增加弱分类器数量,而误检率仍然较高?为社么?
因为没有改变 AdaBoost 的阈值,一些被AdaBoost误判为真的样本 一直被判为真
因而无法在训练中降低误检率


因此,必须在训练中修改 AdaBoost 的阈值

问题:如何修改呢?
先调整AdaBoost的阈值,使误检率达到要求,然后再调整辅助判决函数的阈值,使检测率尽量达到要求
即首先升高AdaBoost的阈值,使误检率较低
然后再降低辅助判决函数的阈值,升高检测率

调整一次的整体效果仍然是使检测率满足要求

仍然无法使误检率达到要求???Why? 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics