Adaboost
这里主要介绍一下Discrete Adaboost
、Real Adaboost
以及Gentle Adaboost
的实现,详细见文章[3]
说明:
- Adaboost中更新每一层的权重可以用所有层的弱分类器吗?
不可以,那就多次叠加了
Discrete Adaboost
详细见文章[3], 其弱分类器的设计可以见文章[1],或决策树等, 详细步骤如下:
-
Input
-
初始化权重值w(也是概率分布D)
- For t=0, 1…T:
- 使用拥有最小的弱分类器作为,
必须小于0.5,大于0.5需要退出循环
。因为大于0.5 则下一步就会大于1,无法正确更新权重 - 更新权重
减小分对的权重, 增大分错的权重(或不变)
- 归一化权重值
- 使用拥有最小的弱分类器作为,
- 最终的强分类器
Real Adaboost
步骤
详细见文章[3]
-
Input
-
初始化权重值w(也是概率分布D)
- For t=0, 1…T:
- 基于一个
Criteria
挑选最佳的弱分类器
- 更新权重
- 归一化权重
- 基于一个
- 最终分类器
b是个阈值默认为0
或者写成自信度函数
弱分类器的设计
- 文章[2]中的设计
- 在每个特征维上, 将样本特征分为n个空间
- 计算每个空间中计算正负样本的权重和
- 寻找最佳弱分类器的
Criteria
如下:
Gentle Adaboost
步骤
详细见文章[3],其实就是基于weight MSE的线性回归
-
Input
-
初始化权重值w(也是概率分布D)
- For t=0, 1…T:
- 基于最小化
weighted MSE
挑选最佳的弱分类器
- 更新权重
- 归一化权重
- 基于最小化
-
最终分类器
b是个阈值默认为0
或者写成自信度函数
- 效果
在人脸检测上,与Real Adaboost
相比较,其Recal
要好Real Adaboost
,但是误检也会高一点
References
- Robust Real-Time Face Detection
- Fast Rotation Invariant Multi-View Face Detection Based on Real Adaboost
- Additive Logistic Regression: A statistic view of boosting