Algorithm 向非技术人员解释AdaBoost算法

Algorithm 向非技术人员解释AdaBoost算法,algorithm,language-agnostic,adaboost,Algorithm,Language Agnostic,Adaboost,我一直在努力理解这个问题,但没有成功。我正在努力理解这个例子 你能用外行的术语解释AdaBoost并给出使用它的好例子吗?AdaBoost使用大量训练样本图像(如人脸)来挑选一些好的“特征”/“分类器”。对于人脸识别,分类器通常只是一个矩形像素,具有一定的平均颜色值和相对大小。AdaBoost将研究许多分类器,并根据样本图像找出哪一个是人脸的最佳预测器。在选择了最佳分类器之后,它将继续寻找另一个分类器,直到达到某个阈值,这些分类器组合在一起将提供最终结果 您可能不想与非技术人员共享此部分:),但

我一直在努力理解这个问题,但没有成功。我正在努力理解这个例子


你能用外行的术语解释AdaBoost并给出使用它的好例子吗?

AdaBoost使用大量训练样本图像(如人脸)来挑选一些好的“特征”/“分类器”。对于人脸识别,分类器通常只是一个矩形像素,具有一定的平均颜色值和相对大小。AdaBoost将研究许多分类器,并根据样本图像找出哪一个是人脸的最佳预测器。在选择了最佳分类器之后,它将继续寻找另一个分类器,直到达到某个阈值,这些分类器组合在一起将提供最终结果

您可能不想与非技术人员共享此部分:),但无论如何它都很有趣。有几种数学技巧可以使AdaBoost快速进行人脸识别,例如,能够将图像的所有颜色值相加并存储在二维数组中,这样,任何位置的值都将是该位置左侧和上方所有像素的总和。此数组可用于非常快速地计算图像中任何矩形的平均颜色值,方法是将左上角的值减去右下角的值,然后除以矩形中的像素数。使用此技巧,您可以快速扫描整个图像,查找匹配或接近特定颜色的不同相对大小的矩形


希望这能有所帮助。

Adaboost是一种算法,它将性能较差的分类器(也称为弱学习者)组合成一个性能更高的更大分类器

它是如何工作的?以非常简单的方式:

  • 训练学习能力差的人
  • 将其添加到迄今为止培训过的弱学习者中(具有最佳权重)
  • 增加仍然未分类的样本的重要性
  • 转到1
  • 幕后有一个广泛而详细的理论,但直觉是:让每个“愚蠢”的分类器专注于前一个分类器无法修复的错误

    AdaBoost是机器学习领域最常用的算法之一。特别是,当您知道如何创建简单的分类器(可能有许多不同的分类器,使用不同的功能),并且希望以最佳方式组合它们时,它非常有用


    在Viola和Jones中,每种不同类型的弱学习者都与您可以拥有的4或5种不同的Haar特征中的一种相关联。

    这是可以理解的。你可以在网上找到的大部分论文重述Viola Jones和Frund Suffar论文,这些论文是AdaBoost在OpenCV应用于人脸识别的基础。它们大多由几个数学领域的复杂公式和算法组成。 以下是可以帮助您的内容(足够简短)——

    1—它主要用于对象检测,主要用于人脸检测识别。最流行的、相当好的C++库是英特尔最初的OpenCV。我以OpenCV中的人脸检测部分为例

    2-首先,使用样本矩形(“特征”)的级联增强分类器在有人脸(称为正)和无人脸(负)的图像样本上进行训练

    从谷歌的一些报纸上:

    “·Boosting指的是一种通用且可证明有效的方法,通过结合粗略和适度不准确的经验规则,生成非常准确的分类器

    ·这是基于这样的观察:找到许多粗略的经验规则比找到一个单一的、高精度的分类器要容易得多

    ·首先,我们定义了一个寻找经验法则的算法,我们称之为弱学习者


    ·boosting算法反复调用这个弱学习者,每次在训练数据上为其提供不同的分布(在AdaBoost中)

    ·每次调用都会生成一个弱分类器,我们必须将所有这些组合成一个分类器,希望它比任何一个规则都更准确。”

    在此过程中,扫描图像以确定与每个人脸的特定部分相对应的独特区域。应用了基于复杂计算假设的算法(一旦你理解了主要思想,就不难理解)

    这可能需要一周的时间,输出是一个XML文件,其中包含如何快速检测人脸的学习信息,例如,在任何图片上的正面位置(在其他情况下,它可以是任何对象)

    3-之后,您将此文件提供给OpenCV人脸检测程序,该程序运行速度非常快,阳性率高达99%(取决于条件)。 如前所述,使用“积分图像”技术可以大大提高扫描速度

    最后,这些都是有用的来源——而且
    从加利福尼亚大学,2008。

    “Boosting算法反复调用这个弱学习者,每次给它在训练数据(AdaBoost)上分配一个不同的分布。”我可以使用不同的分类算法而不是不同的分布吗?我好奇1。培养一个学习能力差的人到底意味着什么?例如,如果我正在使用haar特征,什么构成训练?@dicroce,训练一个弱学习者意味着搜索分类规则(Viola-Jones论文中的haar特征),该规则在训练集中实现最小加权误差。也就是说:它正确地分类了大多数重要的示例(即权重较高的示例)。