Mehrklassen-LDA gegen 2-Klassen-LDA

8

Das Problem des Entwurfs eines Mehrklassenklassifikators unter Verwendung von LDA kann als 2-Klassen-Problem (eins gegen alles andere) oder als Mehrklassenproblem ausgedrückt werden .

Warum ist es , dass in bestimmten Fällen Multi-Klasse LDA Klassifikator out-führt 2 Klasse LDA (eine vs alles andere) oder umgekehrt .

Garak
quelle
Könnten Sie Ihrer recht zurückhaltenden Frage Details hinzufügen? Beispiele. Und betrachten Sie hier beide Stufen der LDA - Extraktion und Klassifizierung - oder nur Klassifizierung?
ttnphns
Nun, ich versuche, einen 27-dimensionalen Vektor auf niedrigere Dimensionen zu projizieren und die Vektoren zu vergleichen. Das Motiv besteht darin, eine einfache Klassifizierungstechnik zu entwerfen, um so gut wie möglich zu klassifizieren.
Garak
1
Gelegentlich können Daten auftreten, wenn eine Klassifizierung mit zwei Klassen genauer ist (z. B. wenn eine Klasse weit voneinander entfernt ist, "Ausreißer" von den anderen, nahe beieinander. In der Regel jedoch die Klassifizierung der Klasse k) sollte sich als besser herausstellen. Erstens ermöglichen k-Klassen diskriminantere Achsen. Zweitens wird im Allgemeinen nicht erwartet, dass eine Gruppe von k-1-Klassen einer multivariaten Normalverteilung folgt, auf die sich die LDA-Klassifizierungsstufe stützt. Siehe JohnSmiths Antwort.
ttnphns

Antworten:

12

Ich denke, dass der Multi-Class-LDA-Klassifikator (gut, bei den meisten praktischen Aufgaben) immer den 2-Class-LDA übertrifft. Und ich werde versuchen zu beschreiben warum.

Schauen Sie sich den Beispieldatensatz an: Beispieldatensatz mit drei Klassen

Sie haben hier drei Klassen. Angenommen, Sie möchten einen L-gegen-andere-Klassifikator mit LDA für die blaue Klasse erstellen.

Der geschätzte Mittelwert für die Klasse "blau" ist Null, aber der geschätzte Mittelwert für die Klasse "andere" ist ebenfalls Null. Und die Kovarianz ist dieselbe wie bei der Definition von LDA. Das bedeutet, dass LDA mit dem Etikett antwortet, das mehr Elemente enthält. Und es wird niemals die Klasse "blau" zurückgeben!

Für Multi-Class-LDA wird es gelingen, die richtigen Klassen perfekt zu finden.

Hintergrund ist, dass die Mischung der Gaußschen in den meisten Fällen keine Gaußsche mehr ist. Diese Annahme von LDA schlägt also fehl. Und ich muss sagen, es ist wirklich schwierig, ein Beispiel für einen Datensatz zu finden, in dem jede Klasse Gaußsch ist, und sie sind immer noch Gaußsch, nachdem wir uns ihnen angeschlossen haben.

Aus diesem Grund würde ich die Verwendung von LDA mit mehreren Klassen wärmstens empfehlen. Hoffe es wird helfen!

Dmitry Laptev
quelle
1
Ich denke, was John hier sehr gut gezeigt hat, ist, dass LDA für zwei Klassen eine einzelne Zeile verwendet, um die Klassen zu trennen. Im Beispiel erfordert eine gute Klassifizierung jedoch zwei Zeilen, was in einem Drei-Klassen-Problem erfolgt.
Michael R. Chernick
@ MichaelChernick, ja, genau, das ist eine Erklärung aus den anderen Blickwinkeln, danke für deinen Kommentar!
Dmitry Laptev
Danke für die schnelle Antwort Jungs! Ich bin jedoch vor einigen Tagen auf einen Fall gestoßen, in dem ein Multi-Class-LDA (Genauigkeit von 60%) bei einem Klassifizierungsproblem von 10 Klassen weitaus weniger effizient ist als ein 2-Class-LDA (Genauigkeit von über 80%).
Garak
@MichaelChernick, aber wenn Sie LDA als Projektionsmethode verwenden, können Sie zwei Dimensionen (die beiden Eigenvektoren der größten Eigenwerte) beibehalten und die gewünschte Trennung erhalten (mithilfe einer kNN-Klassifizierungsmethode anstelle der Trennung von Ebenen) oder Vermisse ich etwas Offensichtliches?
Matthieu