我是一个非技术人员,正在尝试实现图像分类。在本文中,我遇到了 ADA Boost 算法,该算法是在视频关键帧的“特征包”步骤之后实现的。有人可以通俗地解释一下 ADA Boost 的作用,它的输入和输出是什么?有人可以指出我的代码相同吗?
2 回答
首先,如果您可以链接/命名您所指的论文,那就太好了。
AdaBoost是一种元分类算法,因为它结合了多个称为弱学习器的分类器。这些弱学习器通常非常简单,例如它们仅基于一个特征对数据进行分类,并且比随机学习器表现稍好。
在图像分类中,AdaBoost 将使用一组图像数据(对应的标签描述每个样本所属的类别)和一组弱学习器作为输入。然后,AdaBoost 将在数据上找到具有最低错误率(即最佳结果)的弱学习器。所有正确分类的数据样本现在被赋予较低的权重,因为它们现在不太重要,而错误分类的样本被赋予更高的权重。AdaBoost 现在将开始新一轮,并根据新加权的数据选择最佳的弱学习器。换句话说,它将找到一个新的弱学习器,该弱学习器更擅长对先前选择的弱学习器无法分类的样本进行分类。
该算法将继续选择这些弱学习器进行指定数量的迭代。输出由一组选定的弱学习器组成。学习到的分类器现在可以根据组中每个弱分类器的多数票对新图像进行分类(通常弱分类器本身也根据其实现的错误率进行加权)。
Adaboost 将一堆弱分类器组合起来形成一个强分类器。输出是加法中使用的弱分类器的权重序列,w_i
以形成单个加权分类器。该算法有许多中间输出,但也许最重要的是权重本身。
虽然最初不是这样设想的,但 Adaboost 相当于在训练集上拟合“前向阶段”模型,在每一步使用弱分类器,使用指数损失函数:L(y,f(x)) = exp(-y*f(x))
,f(.)
我们的分类器在哪里。这样看,算法的某些方面就更清楚了。指数损失函数经常用于分类问题,这是有充分理由的。