基于adaboost算法的人脸检测_关于人脸那点事——基于Adaboosting的人脸检测(一)...

775a32557606a14ff8f360d8cfdefa43.png

什么是Adaboosting

一、boosting介绍

集成学习(ensemble learning)是通过构建和结合一系列机器学习器来完成学习任务。集成学习应用的领域非常广,比如回归问题、分类问题、特征提取问题等。集成学习可以理解为主要包含两个关键模块,第一个是如何构建若干基本机器学习器,第二个是如何结合这些机器学习器。按照基本机器学习器之间的关系,集成学习分为两大类:(1)基本机器学习器之间存在强依赖(比如需要串行执行),代表算法就是boosting系列算法;(2)基本机器学习器依赖较弱(比如可以并行执行),代表算法为bagging和随机森林算法。

如前文所述,boosting算法是集成学习的一种。boosting算法的核心是构造一个预测函数系列(即基本机器学习分类器),并以一定的方式将它们组合成一个预测函数。组合成的预测函数的准确性大大高于每一个基本预测函数的准确性。

boosting算法中有两个比较重要的概念:

    • 弱学习器:对于一个训练样本,给出一个仅好于随机猜测的假设,比如这个男人长了胡子,推测他是一个孩子的爸爸。
    • 强学习器:根据若干弱分类器,及相应的权重,做出更加合理的假设。

boosting算法就是通过结合若干个弱学习器组成一个强学习器。

二、Adabosting介绍

Adaboosting算法是boosting算法中最著名的算法之一,是adaptive boosting(自适应赠券)的简称。本节我们以分类为例,介绍下Adaboosting算法的原理。

Adaboosting是经过数次迭代,通过将若干弱分类器线形加权得到一个强分类器。每一次使用若分类器多样本进行分类后,根据分类结果对样本重新分配权重,分错的样本会得到较大的权重,基于调整后的样本训练下一个分类器。在每一次迭代时会加入一个新的弱分类器,直到准确率到达要求或者迭代次数达到预先设定的值。

三、Adaboosting的算法流程

训练数据集

,
是样本的标记集合
    • 步骤1:初始化样本的权重,初始化的权重相同,均为

    • 步骤2:通过迭代训练更新样本的权重和弱分类器的权重。设当前迭代到第m轮。
      • 步骤2.1:基于分布权重为
        的样本,得到弱分类器
        ,分类器输出为
      • 步骤2.2:计算弱分类器
        在数据集上的错误率

即错误率就是被错误分类的样本权重之和。

      • 步骤2.3:根据分类的结果,计算
        的权重因子

      • 步骤2.4:更新训练样本权重:

其中

是权重的归一化因子,有
    • 步骤3:将弱分类器按照权重组合为:

则得到的强分类器为:

    • 步骤4:若步骤3中的强分类器准确性满足要求,或者迭代次数达到最大值,则退出,否则返回步骤2继续迭代。

四、小结

本文主要简要介绍了Adaboosting 算法,作为基于Adaboosting进行人脸检测的基础。下一篇文章将介绍基于Adaboosting算法的人脸检测。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值