我目前正在寻找MATLAB的多标签AdaBoost实现,或者一种有效利用双标签实现来处理多标签情况的技术。任何这方面的帮助都将不胜感激。
回答:
你可以使用在支持向量机中使用的相同方法。SVM最初是二元分类器,已经提出了几种处理多类数据的方法:
-
一对所有:为每个类别构建一个二元分类器,并使用该类别中的实例作为正例进行训练,所有其他实例作为负例(即:1对非1,2对非2,3对非3)。最后使用每个分类器的后验概率来预测类别。
-
一对一:为每对类别构建多个二元分类器(即:1对2,1对3,2对3,..),通过简单地在来自这两个类别的实例上进行训练。然后你可以使用多数投票来组合各个结果。
-
错误校正输出码:基于错误校正理论(汉明码等),它依赖于使用一些冗余来编码多个二元分类器的输出,以提高准确性。
请注意,这些是通用方法,可以应用于任何二元分类器。
否则,你可以搜索特定的多类AdaBoost实现,我相信有很多这样的实现.. 快速搜索显示了这个:多类GentleAdaboosting