AdaBoost输入和输出?

时间:2012-04-06 20:24:19

标签: adaboost

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

2 个答案:

答案 0 :(得分:4)

首先,如果您可以链接/命名您所指的纸张,那将是很好的。

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

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

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

您可能希望了解已经实施过AdaBoost的软件,例如WEKA或面向计算机视觉的OpenCV

答案 1 :(得分:1)

Adaboost采用了​​一堆弱分类器并将它们组合起来形成一个强大的分类器。输出是在加数中使用的弱分类器的权重序列w_i,以形成单个加权分类器。算法有许多中间输出,但最重要的可能是权重本身。

虽然最初并不是这样设想的,但Adaboost相当于在训练集上拟合“前向阶段”模型,使用指数损失函数在每个步骤使用弱分类器:L(y,f(x)) = exp(-y*f(x)),其中{ {1}}是我们的分类器。从这个角度来看,算法的某些方面更清晰。指数损失函数通常用于分类问题,这是有充分理由的。