AdaBoost 人脸检测介绍(5) : AdaBoost算法的误差界限

  本系列文章总共有七篇,目录索引如下:
  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最终分类器的训练误差的上界是:

Error=1Ni=1NI(G(xi)yi)1Niexp(yif(xi))=mZm
Remark: 参考了一些资料包括论文和博客,论文中很少有直接给出证明的,而博客中几乎没有一个证明从数学上来说是严谨的!此处本人将严格严谨的数学证明给出来,其实对于做纯工程的IT人士来说,不需要知道数学证明也无需知道该结论,只需要知道怎么使用该算法即可!

证明: 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) ,因此有:

wM+1,i=w1,iMj=1Zjexp(yif(xi))=1Nexp(yif(xi))/j=1MZj
因为对任何 m wmi皆为一个分布,即 Ni=1wmi=1 ,因此有:
1=i=1NwM+1,i=1Ni=1Nexp(yif(xi))Mj=1Zj
Mj=1Zj 是一个与 i 无关的常量,可以提取出来,因此就得到:
1Ni=1Nexp(yif(xi))=j=1MZj
因此我们就证明了右边的等式■
<script type="math/tex; mode=display" id="MathJax-Element-455"></script>

  这个结果说明,可以在每一轮选取适当的 Gm 使得 Zm 最小,从而使得训练误差下降最快。接着,我们来继续求上述结果的上界。首先对 Zm 进行适当的变形:

Zm=i=1Nwmiexp(αmyiGm(xi))=yi=Gm(xi)yi=Gm(xi)wmieαm+yiGm(xi)yi=Gm(xi)wmieαm
em 的定义可知:
Zm=yi=Gm(xi)wmieαm+yiGm(xi)wmieαm=(1em)eαm+emeαm
αm 的定义可知 eαm=1emem ,再令 γm=12em ,因此有:
Zm=(1em)eαm+emeαm=2em(1em)=14γ2m
由泰勒展开式很容易证明不等式: 1xex . 将此不等式应用到上式中得到:
Zm=14γ2me2γ2m
将此结果应用到前面的误差界限不等式中得到:
Error=1Ni=1NI(G(xi)yi)m=1MZmexp(2m=1Mγ2m)exp(2Mγ2)
其中 γm=12em,  γ=min{γ1,γ2,...,γM}>0

  这个结论表明,AdaBoost的训练误差是以指数速率下降的。另外,AdaBoost算法不需要事先知道下界 γ ,AdaBoost具有自适应性,它能适应弱分类器各自的训练误差率。

[同步本人网易博客文章] AdaBoost 人脸检测介绍(5) : AdaBoost算法的误差界限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值