adaboost 更新权重 beta 值

Posted

技术标签:

【中文标题】adaboost 更新权重 beta 值【英文标题】:adaboost update weights beta value 【发布时间】:2014-12-18 20:15:22 【问题描述】:

Viola-Jones 人脸检测使用 adaboost 方法训练强分类器。我对 beta 参数更新政策感到困惑:

为什么选择这样的 beta 值?设置变量beta的目的是为了增加Weights的权重。如何选择:

【问题讨论】:

请指定epsilon_t是训练误差还是成功率 【参考方案1】:

Viola 和 Jones 的论文没有详细解释 beta 值,但我会尝试解释为什么 beta 值会这样设置。

设置变量 beta 的目的是不是总是增加权重,而是仅当特定的弱分类器是好的分类器时才减少/惩罚权重(我将解释什么被认为是好的一会儿),如果分类器不好,则增加/提高权重。 (注意这里的权重是错误率的权重而不是每个分类器的权重,所以分类器越好,权重应该越小)

显然你可以有不同的方法来定义什么是“好”分类器,但是在 Viola 和 Jones 的论文中使用了一个非常简单的标准,即如果弱分类器的错误率小于 50%,它为“好”,否则为“坏”。分类器越好(错误率越小),我们想要更多地提升权重,反之亦然。到现在为止,你应该已经知道为什么要这样选择 beta 值了——每当错误率 (epsilon_e) 大于 1/2 时,beta 值就会大于 1,因此权重会增加,反之亦然反之亦然。

【讨论】:

以上是关于adaboost 更新权重 beta 值的主要内容,如果未能解决你的问题,请参考以下文章

机器学习——集成学习之Boosting

AdaBoosting 3

R数据分析之AdaBoost算法

数据挖掘实践(52):adaboost 推导实例

ML-Review-Adaboost

ML-Review-Adaboost