What factors should be considered when determining whether to use multiple binary classifiers or a single multiclass classifier?

For example, I'm building a model that does hand gesture classification. A simple case has 4 outputs: [None, thumbs_up, clenched_fist, all_fingers_extended]. I see two ways to approach this:

Option 1 - Multiple binary classifiers

  1. [None, thumbs_up]
  2. [None, clenched_fist]
  3. [None, all_fingers_extended]

Option 2 - Single multiclass classifier

  1. [None, thumbs_up, clenched_first, all_fingers_extended]

Which approach tends to be better and in what conditions?


1 Answer 1


Your Option 1 may not be the best way to go; if you want to have multiple binary classifiers try a strategy called One-vs-All.

In One-vs-All you essentially have an expert binary classifier that is really good at recognizing one pattern from all the others, and the implementation strategy is typically cascaded. For example:

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

Here is a graphical explanation of One-vs-all from Andrew Ng's course: Example

Multi-class classifiers pros and cons:


  • Easy to use out of the box
  • Great when you have really many classes


  • Usually slower than binary classifiers during training
  • For high-dimensional problems they could really take a while to converge

Popular methods:

  • Neural networks
  • Tree-based algorithms

One-vs-All classifiers pros and cons:


  • Since they use binary classifiers, they are usually faster to converge
  • Great when you have a handful of classes


  • It is really annoying to deal with when you have too many classes
  • You really need to be careful when training to avoid class imbalances that introduce bias, e.g., if you have 1000 samples of none and 3000 samples of the thumbs_up class.

Popular methods:

  • SVMs
  • Most ensemble methods
  • Tree-based algorithms
  • $\begingroup$ It would be better to clarify that the $h_{\theta}^i$ functions are output probabilities, and the final label is determined by $\arg\max_i h_{\theta}^i$ $\endgroup$
    – Lii
    Commented Dec 24, 2017 at 16:08
  • $\begingroup$ That's a very good answer regarding One-vs-All & One-vs-One and it would be good to post your answer also here because the following post is more popular (but it is more or less on the same topic): stats.stackexchange.com/questions/91091/…. $\endgroup$
    – Outcast
    Commented Nov 8, 2018 at 23:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.