多类分类一对一

Multiclass classification one vs one

一对一方法如何用于多类分类中的测试集?我了解它如何为训练集生成每对的子集,但它如何用于测试集?我读了一些关于大多数选票的内容,但我找不到任何这些选票是什么或它们如何运作我的假设是选票是在一对 类.

中标记为 positive/negative 的观察结果

我是怎么理解的:

如果我有三对 A vs B、A vs C、B vs C,并且我想预测 C 那么我必须使用 A vs C 如果这对具有比 B vs C 更多的负值?

您的直觉几乎是正确的,每个 class 的投票代表 class 赢得对决的次数 class , 负数不予考虑。

为了说明一对一分类器的工作原理,让我们举一个简单的例子,有 4 classes 'Red', 'Blue', 'Green', 'Yellow'.我们将不得不训练 K * (K -1) /2 classifiers(K 是 class 的数量)。

为了训练模型,2 classes 的每个子集将用于训练二进制 classifier,因此我们将总共训练 4 *( 4 - 1)/2我们的案例 6 classifiers :

  • 分类器 1:红色与蓝色
  • 分类器 2:红色与绿色
  • 分类器 3:红色与黄色
  • 分类器 4:蓝色与绿色
  • 分类器 5:蓝色与黄色
  • 分类器 6:绿色与黄色

现在我们来看一个测试元素,我们 运行 所有的二进制 classifier 都在它上面,结果如下:

  • 分类器 1:红色
  • 分类器 2:红色
  • 分类器 3:红色
  • 分类器 4:蓝色
  • 分类器 5:黄色
  • 分类器 6:绿色

正如你在上面看到的,蓝色、黄色和绿色只赢了 1 场决斗,而红色赢了 3 场。 我们的 multiclass classifier 预测这个实例是 Red