Ist das Erstellen eines Klassifikators für mehrere Klassen besser als das Erstellen mehrerer binärer Klassifikatoren?

18

Ich muss URLs in Kategorien einteilen. Angenommen, ich habe 15 Kategorien, für die ich vorhabe, jede URL auf null zu setzen.

Ist ein 15-Wege-Klassifikator besser? Wobei ich 15 Labels habe und Features für jeden Datenpunkt generiere.

Oder bauen Sie 15 binäre Klassifizierer auf, sagen Sie: Film oder Nicht-Film, und verwenden Sie die Zahlen, die ich aus diesen Klassifizierungen erhalte, um einen Rang zu bilden, um die beste Kategorie auszuwählen, die besser wird?

madCode
quelle

Antworten:

12

Zunächst müssen Sie sich fragen, ob Ihr Problem mehrere Bezeichnungen hat (dh eine einzelne URL kann mehreren Klassen angehören) oder nicht (dh eine einzelne URL kann nur einer Klasse angehören).

In diesem Fall sollten Sie eine Reihe von Binärklassifikatoren verwenden, da dies eine Standardmethode für Multilabel-Probleme ist.

In letzterem Fall hängt die Antwort davon ab, wie Ihre Daten aussehen, was das Ziel Ihrer Analyse ist und welche Methode Sie verwenden - wahrscheinlich sollten Sie einfach beides ausprobieren und die beste auswählen.
Beachten Sie nur, dass einige Methoden (wie SVM) aufgrund ihrer Definition keine Klassifizierung mehrerer Klassen durchführen können und daher intern eine Reihe von Binärklassifizierern verwenden.


quelle
meine problemstellung bezieht sich auf die frühere annahme @mbq. Ich weiß, dass es Multilabels gibt. und ja, wie Sie gesagt haben, habe ich mich für 15 binäre Klassifikatoren entschieden, aber ich muss sie erneut einordnen, um eine der besten Kategorien auszuwählen. Also werde ich versuchen, eine weitere Klassifizierung der obersten Ebene unter Verwendung der Zahlen durchzuführen, die ich aus der Batterie der Binärklassifizierer erhalten habe. Siehst du irgendein problem
madCode
SVMs können mehrere Klassen klassifizieren. Die Methode ist der Softmax-Regression sehr ähnlich (siehe "Zur algorithmischen Implementierung von kernelbasierten Vektormaschinen mit mehreren Klassen").
user1149913
4

Dies hängt davon ab, wie Ihre Daten verteilt sind. Es gibt ein schönes Beispiel, das kürzlich zu einer ähnlichen Frage gegeben wurde, in der das OP wissen wollte, ob eine einzelne lineare Diskriminanzfunktion ein besserer Klassifikator für die Entscheidung von Population A gegen B oder C ist oder auf mehreren linearen Diskriminanzfunktionen basiert, die A trennen. B und C. Jemand gab ein sehr schönes farbiges Streudiagramm ab, um zu zeigen, wie die Verwendung von zwei Diskriminanten in diesem Fall besser wäre als eine. Ich werde versuchen, darauf zu verlinken.

Michael R. Chernick
quelle
Abwarten. Ich habe Probleme, es zu finden, aber ich werde weiter suchen.
Michael R. Chernick
Entschuldigung, dass der Link nicht gefunden werden konnte. Stellen Sie sich eine Wolke einer Farbe links, eine andere in der Mitte und eine dritte rechts vor. Eine Linie mit zwei linearen Diskriminanten würde die mittlere Gruppe gut von der linken und der rechten trennen, aber keine einzelne Linie würde überhaupt gut funktionieren. Das Bild wäre mehr wert als all diese Worte.
Michael R. Chernick
1
@MichaelChernick Ist dies der Link, den Sie suchen?
Ich glaube, ich verstehe, was Sie sagen: bit.ly/M1NydS - das Bild, das Sie in dieser Präsentation definiert haben. 4-Wege-oder 3-Wege-Klassifizierung .. könnte direkt sein. Aber ich frage mich, ob die Präzision / der Rückruf bei einer 15-Wege-Klassifizierung beeinträchtigt werden würde, Dr. Chernick.
madCode
@Procrastinator Vielen Dank, dass Sie das gefunden haben. Ich hatte so viele Probleme, es zu finden, und ich habe viel Zeit damit verbracht, es zu suchen! Es war ein kürzlich veröffentlichter Beitrag, so dass ich dachte, Tit wäre leicht zu finden.
Michael R. Chernick
1

Einige Methoden eignen sich gut für Multiklassen, Zufallsforste und MLPs.

Wenn Sie diesen Weg nicht einschlagen möchten, ist es möglich, dass ECOC für Ihr Problem eine 1-gegen-alle-Leistung erbringt, die nur durch Tests ermittelt werden kann.

image_doctor
quelle