【问题标题】:AdaBoost Input and Output?AdaBoost 输入和输出?
【发布时间】:2012-04-20 09:18:53
【问题描述】:

我是一个非技术人员,正在尝试实现图像分类。在本文中,我遇到了 ADA Boost 算法,该算法是在视频关键帧的“特征包”步骤之后实现的。有人可以通俗地解释一下 ADA Boost 的作用,它的输入和输出是什么?有人可以指出我的代码吗?

【问题讨论】:

    标签: adaboost


    【解决方案1】:

    Adaboost 将一堆弱分类器组合起来形成一个强分类器。输出是一系列权重w_i,用于求和中使用的弱分类器,以形成单个加权分类器。该算法有许多中间输出,但也许最重要的是权重本身。

    虽然最初不是这样构思的,但 Adaboost 相当于在训练集上拟合“前向阶段”模型,在每一步使用弱分类器使用指数损失函数:L(y,f(x)) = exp(-y*f(x)),其中f(.)是我们的分类器。这样看,算法的某些方面就更清楚了。指数损失函数经常用于分类问题,这是有充分理由的。

    【讨论】:

      【解决方案2】:

      首先,如果您能链接/命名您所指的论文,那就太好了。

      AdaBoost 是一种元分类算法,因为它结合了多个称为弱学习器的分类器。这些弱学习器通常非常简单,例如他们只根据一个特征对数据进行分类,并且比随机的表现略好。

      在图像分类中,AdaBoost 将使用一组图像数据(对应的标签描述每个样本所属的类别)和一组弱学习器作为输入。然后,AdaBoost 将在数据上找到具有最低错误率(即最佳结果)的弱学习器。所有正确分类的数据样本现在被赋予较低的权重,因为它们现在不太重要,而错误分类的样本被赋予更高的权重。 AdaBoost 现在将开始新一轮,并根据新加权的数据选择最佳的弱学习器。换句话说,它将找到一个新的弱学习器,该弱学习器更擅长对先前选择的弱学习器无法分类的样本进行分类。

      算法将继续选择这些弱学习器进行指定数量的迭代。输出由一组选定的弱学习器组成。学习到的分类器现在可以根据组中每个弱分类器的多数票对新图像进行分类(通常,弱分类器本身也根据其实现的错误率进行加权)。

      您可能想看看已经实现 AdaBoost 的软件,例如 WEKA 或面向计算机视觉的 OpenCV

      【讨论】:

      • 分类器的输出是什么?例如,利用 sigmoid 函数并经过训练以识别 2 个类别(0 和 1)的神经网络输出介于 0 和 1 之间的值,显示检测到的上下文属于这些类别之一的相对概率。但是对于同一个例子,Adaboost 算法会输出什么?
      • @supermus AdaBoost 可用于分类或回归。分类情况下的输出是一组固定类中的一个类。在回归的情况下,AdaBoost 可以输出任意数字。
      猜你喜欢
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-02
      • 2016-05-28
      • 2019-01-25
      • 2021-11-02
      相关资源
      最近更新 更多