许多二元分类器与单个多类分类器

机器算法验证 分类 多级
2022-01-25 04:36:54

在确定使用多个二元分类器还是单个多类分类器时应考虑哪些因素?

例如,我正在构建一个进行手势分类的模型。一个简单的案例有 4 个输出:[None, thumbs_up, clenched_fist, all_fingers_extended]。我看到了两种方法来解决这个问题:

选项 1 - 多个二元分类器

  1. [无,竖起大拇指]
  2. [没有,紧握的拳头]
  3. [无,all_fingers_extended]

选项 2 - 单个多类分类器

  1. [无,竖起大拇指,先攥紧,全指加长]

哪种方法往往更好,在什么条件下?

1个回答

您的选项 1 可能不是最好的选择;如果您想拥有多个二元分类器,请尝试一种称为One-vs-All的策略。

One-vs-All中,您基本上拥有一个专家二进制分类器,它非常擅长从所有其他模式中识别一种模式,并且实施策略通常是级联的。例如:

  if classifierNone says is None: you are done
  else:
    if classifierThumbsUp says is ThumbsIp: you are done
    else:
      if classifierClenchedFist says is ClenchedFist: you are done
      else:
        it must be AllFingersExtended and thus you are done

以下是 Andrew Ng 课程中 One-vs-all 的图解说明: 例子


多类分类器的优缺点:

优点

  • 开箱即用,易于使用
  • 当你有很多课程时很棒

缺点

  • 在训练期间通常比二元分类器慢
  • 对于高维问题,他们真的需要一段时间才能收敛

流行的方法

  • 神经网络
  • 基于树的算法

一对多分类器的优缺点:

优点

  • 由于它们使用二元分类器,因此它们通常收敛速度更快
  • 当你有几门课时很棒

缺点

  • 当你有太多的类时处理真的很烦人
  • 在训练时你真的需要小心以避免引入偏差的类不平衡,例如,如果你有 1000 个样本none和 3000 个thumbs_up类样本。

流行的方法

  • 支持向量机
  • 大多数集成方法
  • 基于树的算法