So erhalten Sie eine aggregierte Verwirrungsmatrix aus n verschiedenen Klassifikationen


8

Ich möchte die Genauigkeit einer Methodik testen. Ich habe es ~ 400 Mal ausgeführt und für jeden Lauf eine andere Klassifizierung erhalten. Ich habe auch die Grundwahrheit, dh die wirkliche Klassifikation, gegen die ich testen kann.

Für jede Klassifikation habe ich eine Verwirrungsmatrix berechnet. Jetzt möchte ich diese Ergebnisse aggregieren, um die allgemeine Verwirrungsmatrix zu erhalten. Wie kann ich das erreichen?

Darf ich alle Verwirrungsmatrizen summieren, um die Gesamtmatrizen zu erhalten?

Antworten:


4

Ich kenne keine Standardantwort darauf, aber ich habe vor einiger Zeit darüber nachgedacht und ich habe einige Ideen, die ich teilen kann.

Wenn Sie eine Verwirrungsmatrix haben, haben Sie mehr oder weniger ein Bild davon, wie Ihr Klassifizierungsmodell Klassen verwirrt (falsch klassifiziert). Wenn Sie Klassifizierungstests wiederholen, erhalten Sie mehrere Verwirrungsmatrizen. Die Frage ist, wie man eine aussagekräftige aggregierte Verwirrungsmatrix erhält. Die Antwort hängt davon ab, was Sinn bedeutet (Wortspiel beabsichtigt). Ich denke, es gibt keine einzige Version von Sinn.

Eine Möglichkeit besteht darin, der groben Idee mehrerer Tests zu folgen. Im Allgemeinen testen Sie etwas mehrmals, um genauere Ergebnisse zu erhalten. Grundsätzlich kann man argumentieren, dass die Mittelung der Ergebnisse der Mehrfachtests die Varianz der Schätzungen verringert und folglich die Genauigkeit der Schätzungen erhöht. Sie können auf diese Weise natürlich vorgehen, indem Sie Position für Position summieren und dann durch die Anzahl der Tests dividieren. Sie können weiter gehen und anstatt nur einen Wert für jede Zelle der Verwirrungsmatrix zu schätzen, können Sie auch einige Konfidenzintervalle, t-Werte usw. berechnen. Dies ist aus meiner Sicht in Ordnung. Aber es erzählt nur eine Seite der Geschichte.

Die andere Seite der Geschichte, die untersucht werden könnte, ist, wie stabil die Ergebnisse für dieselben Fälle sind. Um zu veranschaulichen, dass ich ein extremes Beispiel nehmen werde. Angenommen, Sie haben ein Klassifizierungsmodell für 3 Klassen. Angenommen, diese Klassen haben das gleiche Verhältnis. Wenn Ihr Modell in der Lage ist, eine Klasse perfekt und die anderen 2 Klassen mit zufälliger Leistung vorherzusagen, haben Sie am Ende ein Fehlklassifizierungsverhältnis von 0,33 + 0,166 + 0,166 = 0,66. Dies mag gut erscheinen, aber selbst wenn Sie sich eine einzelne Verwirrungsmatrix ansehen, werden Sie nicht wissen, dass Ihre Leistung in den letzten beiden Klassen stark variiert. Mehrere Tests können helfen. Aber eine Mittelung der Verwirrungsmatrizen würde dies offenbaren? Mein Glaube ist nicht. Die Mittelung ergibt mehr oder weniger das gleiche Ergebnis, und mehrere Tests verringern nur die Varianz der Schätzung.

Ein anderer Weg, um die Verwirrungsmatrizen zusammenzusetzen, würde besser eine Vorhersagedichte für jede Instanz beinhalten. Man kann diese Dichte aufbauen, indem man für jede Instanz zählt, wie oft eine bestimmte Klasse vorhergesagt wurde. Nach der Normalisierung haben Sie für jede Instanz eine Vorhersagedichte und kein einzelnes Vorhersageetikett. Sie können sehen, dass ein einzelnes Vorhersageetikett mit einer degenerierten Dichte ähnlich ist, wobei Sie für jede vorhergesagte Klasse eine Wahrscheinlichkeit von 1 und für die anderen Klassen eine Wahrscheinlichkeit von 0 haben. Mit diesen Dichten kann man nun eine Verwirrungsmatrix erstellen, indem man die Wahrscheinlichkeiten von jeder Instanz und vorhergesagten Klasse zur entsprechenden Zelle der aggregierten Verwirrungsmatrix addiert.

Man kann argumentieren, dass dies ähnliche Ergebnisse wie die vorherige Methode liefern würde. Ich denke jedoch, dass dies manchmal der Fall sein kann, oft wenn das Modell eine geringe Varianz aufweist. Die zweite Methode wird weniger davon beeinflusst, wie die Stichproben aus den Tests gezogen werden, und ist daher stabiler und realitätsnaher.

Auch das zweite Verfahren könnte geändert werden, um ein drittes Verfahren zu erhalten, bei dem man als Vorhersage das Etikett mit der höchsten Dichte aus der Vorhersage einer gegebenen Instanz zuweisen kann.

Ich habe diese Dinge nicht implementiert, aber ich habe vor, weiter zu studieren, weil ich glaube, dass es sich lohnt, etwas Zeit zu verbringen.


Was meinen Sie mit der Fehlklassifizierungsquote im vierten Absatz?
GC5

Fehlklassifizierungsverhältnis = (Anzahl der korrekt klassifizierten Instanzen) / (Gesamtzahl der Instanzen); In diesem Absatz haben wir 0,33 = Anteil jeder Klasse (nennen wir die Bezeichnungen c1, c2, c3). wir haben 0,33 * 1,0 (c1 sind alle korrekt klassifiziert), + 0,33 * 0,5 (c2 sind zufällig als c2 oder c3 klassifiziert) + 0,33 * 0,5 (c3 sind zufällig klassifiziert als c2 oder c3) = 0,33 + 0,166 + 0,166 = 0,66 ( Instanzen korrekt klassifiziert / Gesamtzahl der Instanzen)
Rapaio

4

Es gibt einige Möglichkeiten, um Ihre "Master Confusion Matrix" zu erreichen.

  1. Summieren Sie alle Verwirrungsmatrizen: Wie Sie vorgeschlagen haben, führt die Summierung zu einer Verwirrungsmatrix. Das Problem dabei ist, dass Sie keine Summen interpretieren können.

  2. Durchschnitt der Einträge. Diese Methode ist die gleiche wie die Nummer eins, aber Sie teilen jeden Eintrag durch die Anzahl der Versuche (in Ihrem Fall ~ 400). Dies wäre meine bevorzugte Methode, da Sie dann tatsächlich jede Kategorie in einen (Mittelwert) + - (eine Fehlermessung) übersetzen und tatsächlich sehen können, welche Kategorien am volatilsten oder stabilsten sind. Vorsicht bei der Interpretation dieser 'Fehlermessung'.

  3. Melden Sie eine problemspezifische Messung der Verwirrungszahlen. Wenn Ihre Zahlen beispielsweise Ausreißer haben, würden Mediane den Mittelwerten vorgezogen.

Es gibt andere Statistiken, die ebenfalls gemeldet werden können. Sie können die Methode wiederholen, um einzelne Klassifizierungen zu verfolgen. Dann können wir andere wichtige Statistiken wie "% der Klassifikationen, die gleich bleiben und genau sind" usw. sagen.


1
Wenn Sie sagen, wenn Sie Ergebnisse summieren, können Sie keine Summen interpretieren, meinen Sie, dass jede Klassifizierung ein anderes Gewicht haben kann und ihr Beitrag in der Summe über / unter geschätzt werden kann? Wenn ich zB 4 unabhängige Tests durchführen möchte, kann ich dann davon ausgehen, dass jede Klassifizierung das gleiche Gewicht hat, und die Gesamtsummen (schmerzlos) interpretieren? Hoffe es ist klar ..
gc5

1
Was ich vermitteln wollte, ist, dass wir den Überblick verlieren, was die tatsächlichen Zahlen bedeuten. Wenn ich beispielsweise 4 in einem bestimmten Eintrag in Lauf 1 habe und 5 in demselben Eintrag in Lauf 2 erhalte, ist es schwer genau zu sagen, was 4 + 5 = 9 bedeutet. Ich würde mir lieber eine Verteilung (%) oder Durchschnittswerte ansehen, bei denen Personen über die Matrix fallen. Es scheint viel intuitiver.
nfmcclure
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.