在多类别案例中使用 2 类分类器的最佳方法是什么?

机器算法验证 分类 神经网络 模式识别
2022-04-02 18:38:10

我有一个 3 类样本标记数据集,我将其分为两部分。我正在使用第一部分来训练两类感知器分类器。

一种方法是训练(32)一次对两个类的训练数据进行二类分类器,然后使用投票对多类案例的测试样本进行分类。上述方法的明显问题是存在如下图所示的模糊区域:

4 类问题的线性决策边界

Duda、Hart、Stork 的模式分类建议训练c不同的线性判别函数,其中c是唯一类的数量,这样

gi(x)=WitX+wi0i=1,...,c

并分配Xωi如果gi(X)>gj(X). 由此产生的分类器在教科书中被称为线性机器

以下是书中的插图,显示了线性机器为 3 类问题生成的决策边界。

线性机器为 3 类问题生成的决策边界

我的疑问是培训过程如何c线性判别函数gi(X)不同于训练(c2)2类分类器?

更新: DavidDLewis 的回答中提到的 one vs rest 方法不是我所指的方法。使用 one vs rest 方法,实际上有更多模糊的区域。我指的是没有模糊区域的线性机器分类器。请参阅下面的 1 vs rest 方法的图示:

1 vs 休息

1个回答

在给定二元分类器学习算法的情况下,训练 c 个线性判别函数是构建多类分类器的“1-vs-all”或“1-against-the-rest”方法的一个示例。训练 C(c,2) 2 类分类器是“1-vs-1”方法的一个示例。随着 c 变大,“1-vs-1”方法会构建更多分类器(但每个分类器都来自较小的训练集)。

本文比较了这两种方法,其中包括使用 SVM 作为二元分类器学习器:

C.-W。许和 C.-J。林。多类支持向量机方法的比较,IEEE Transactions on Neural Networks, 13(2002), 415-425

Hsu 和 Lin 发现 1-vs-1 最适用于 SVM,但这并不一定适用于所有二元分类器学习器或所有数据集。

就个人而言,我更喜欢多分支逻辑回归。