8

我目前正在寻找一个用于 MATLAB 的多标签 AdaBoost 实现,或者一种用于在多标签案例中有效使用双标签实现的技术。对此问题的任何帮助将不胜感激。

4

3 回答 3

7

您可以使用支持向量机中使用的相同方法。SVM 最初是二元分类器,提出了几种处理多类数据的方法:

  • one-against-all:为每个类构建一个二元分类器,并将该类中的实例作为正例进行训练,将所有其他实例作为负例进行训练(即:1-vs-not1、2-vs-not2、3-vs-not3 )。最后使用每个分类器的后验概率来预测类别。

  • one-against-one:通过简单地对两个类的实例进行训练,为每对类(即:1-vs-2、1-vs-3、2-vs-3、..)构建几个二元分类器。然后,您可以使用多数票合并各个结果。

  • 纠错输出码:基于纠错理论(汉明码等),它依赖于使用一些冗余对几个二进制分类器的输出进行编码以提高准确性。

请注意,这些是通用方法,可以应用于任何二元分类器。

否则,您可以搜索多类 Adaboost 的特定实现,我敢肯定那里有很多。快速搜索发现了这一点:Multiclass GentleAdaboosting

于 2010-08-07T22:09:56.887 回答
0

你可以使用 Adaboost.M2,它是一个多类 adaboost,你可以在 Balu 工具箱中找到一个实现,命令是Bcl_adaboost这个工具箱还有其他有用的东西,记得参考。希望能帮助到你。

于 2014-05-07T14:11:29.050 回答
0

从理论上讲,唯一正确的多类提升是多类提升理论中定义的

于 2017-06-27T07:34:26.777 回答