本系列文章总共有七篇,目录索引如下:
AdaBoost 人脸检测介绍(1) : AdaBoost身世之谜
AdaBoost 人脸检测介绍(2) : 矩形特征和积分图
AdaBoost 人脸检测介绍(3) : AdaBoost算法流程
AdaBoost 人脸检测介绍(4) : AdaBoost算法举例
AdaBoost 人脸检测介绍(5) : AdaBoost算法的误差界限
AdaBoost 人脸检测介绍(6) : 使用OpenCV自带的 AdaBoost程序训练并检测目标
AdaBoost 人脸检测介绍(7) : Haar特征CvHaarClassifierCascade等结构分析
5. AdaBoost算法的误差界限
通过上面的例子可知,AdaBoost在学习的过程中不断减少训练误差 e,直到各个弱分类器组合成最终分类器。那这个最终分类器的误差界限到底是多少呢?事实上,AdaBoost最终分类器的训练误差的上界是:
证明: 1)我们首先证明左边的不等式:
● 当
G(xi)=yi
时,示性函数
I(G(xi)≠yi)
取值为0,而
exp(−yif(xi))>0
.
● 当
G(xi)≠yi
时,示性函数
I(G(xi)≠yi)
取值为1,而此时
yi
和
f(xi)
符号相反,因此
−yif(xi)
的值就为正,故
exp(−yif(xi))>1
.
因此我们就证明了左边的不等式!
2)接下来我们要证明右边的等式:
由分类器权值迭代公式
wm+1,i=wmiZmexp(−αmyiGm(xi))
出发来证明:
在上式中令 m=M ,并记住 w1,i=1N, f(x)=∑Mj=1αjGj(x) ,因此有:
这个结果说明,可以在每一轮选取适当的 Gm 使得 Zm 最小,从而使得训练误差下降最快。接着,我们来继续求上述结果的上界。首先对 Zm 进行适当的变形:
这个结论表明,AdaBoost的训练误差是以指数速率下降的。另外,AdaBoost算法不需要事先知道下界 γ ,AdaBoost具有自适应性,它能适应弱分类器各自的训练误差率。
[同步本人网易博客文章] AdaBoost 人脸检测介绍(5) : AdaBoost算法的误差界限