Viele binäre Klassifikatoren im Vergleich zu einzelnen Klassifikatoren mit mehreren Klassen

12

Welche Faktoren sollten bei der Entscheidung, ob mehrere binäre Klassifikatoren oder ein einzelner Klassifikator für mehrere Klassen verwendet werden sollen, berücksichtigt werden?

Zum Beispiel baue ich ein Modell, das die Klassifizierung von Handgesten durchführt. Ein einfacher Fall hat 4 Ausgänge: [Keine, thumbs_up, clenched_fist, all_fingers_extended]. Ich sehe zwei Möglichkeiten, dies zu erreichen:

Option 1 - Mehrere binäre Klassifikatoren

  1. [Keine, thumbs_up]
  2. [Keine, geballte Faust]
  3. [Keine, all_fingers_extended]

Option 2 - Einzelner Klassifikator für mehrere Klassen

  1. [Keine, Daumen hoch, zuerst geballt, alle Finger erweitert]

Welcher Ansatz ist tendenziell besser und unter welchen Bedingungen?

Megashigger
quelle

Antworten:

13

Ihre Option 1 ist möglicherweise nicht der beste Weg. Wenn Sie mehrere binäre Klassifikatoren haben möchten, versuchen Sie eine Strategie namens One-vs-All .

In One-vs-All haben Sie im Wesentlichen einen Experten-Binärklassifizierer, der wirklich gut darin ist, ein Muster von allen anderen zu erkennen, und die Implementierungsstrategie ist normalerweise kaskadiert. Zum Beispiel:

  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

Hier ist eine grafische Erklärung von One-vs-all aus Andrew Ngs Kurs: Beispiel


Vor- und Nachteile von Klassifikatoren für mehrere Klassen :

Vorteile :

  • Einfach aus der Box zu bedienen
  • Großartig, wenn Sie wirklich viele Klassen haben

Nachteile :

  • Normalerweise langsamer als binäre Klassifikatoren während des Trainings
  • Bei hochdimensionalen Problemen kann es wirklich eine Weile dauern, bis sie konvergieren

Beliebte Methoden :

  • Neuronale Netze
  • Baumbasierte Algorithmen

Vor- und Nachteile von One-vs-All- Klassifikatoren:

Vorteile :

  • Da sie binäre Klassifikatoren verwenden, sind sie normalerweise schneller zu konvergieren
  • Großartig, wenn Sie eine Handvoll Klassen haben

Nachteile :

  • Es ist wirklich ärgerlich, wenn Sie zu viele Klassen haben
  • Sie müssen beim Training wirklich vorsichtig sein, um Klassenungleichgewichte zu vermeiden, die zu Verzerrungen führen, z. B. wenn Sie 1000 Stichproben noneund 3000 Stichproben der thumbs_upKlasse haben.

Beliebte Methoden :

  • SVMs
  • Die meisten Ensemblemethoden
  • Baumbasierte Algorithmen
Pablo Rivas
quelle
Es wäre besser zu klären, dass die hθich Funktionen sind Ausgabewahrscheinlichkeiten, und die endgültige Bezeichnung wird durch bestimmt argmaxichhθich
Lii
Das ist eine sehr gute Antwort in Bezug auf One-vs-All & One-vs-One, und es wäre gut, Ihre Antwort auch hier zu posten, da der folgende Beitrag populärer ist (aber mehr oder weniger zum selben Thema gehört): stats. stackexchange.com/questions/91091/… .
Ausgestoßener