关于多对多分类器的文献

多类分类(MCC)问题背景下,常见的方法是通过多个二元分类器构建最终解决方案。通常提到的两种组合策略是一对所有和一对一。

为了区分这两种方法,更清楚的做法是看每个二元分类器试图做什么。一对所有的原始分类器试图将一个类别与其他所有类别分开。而一对一的原始分类器试图将一个类别与另一个类别分开,一对一也被称为所有对所有和所有配对,这一点相当令人困惑。

我想研究通过以二元决策树的方式组合二元分类器来构建MCC分类器的这个相当简单的想法。举个说明性的例子:

       有翅膀吗?     /           \  呱呱叫吗?         喵喵叫吗?  /   \         /     \鸭子  鸟    猫     狗

如你所见,有翅膀吗?进行的是2对2的分类,所以我称这种方法为多对多。问题是,我不知道从哪里开始阅读。你能推荐一篇好的论文吗?

为了提供更多的背景信息,我正在考虑使用多层次进化算法(MLEA)来构建这棵树。所以如果有更直接的答案,将会非常受欢迎。

编辑:为了提供更多背景信息(或许你会觉得有用),我读了这篇论文,这是GECCO 2011最佳论文获奖者之一;它使用MLEA以一对所有的方式组合MCC。这激发了我寻找一种将其修改为决策树构建器的方法的想法。


回答:

@Sailesh的回答是正确的,你打算构建的是一棵决策树。已经有很多用于学习这种树的算法,例如随机森林。你可以尝试weka,看看那里有什么可用的资源。

如果你对进化算法更感兴趣,我想提一下遗传编程。你可以尝试我们在HeuristicLab中的实现。它可以处理数值类,并尝试找到一个公式(树),使用例如均方误差(MSE)作为适应度函数,将每一行映射到其相应的类别。

还有基于实例的分类方法,如最近邻居,或基于核的方法,如支持向量机。基于实例的方法也支持多个类别,但使用基于核的方法时,你必须使用你提到的方法之一。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注