Was führt dazu, dass ein Klassifikator Daten falsch klassifiziert? [geschlossen]

9

Könnte es von den Daten selbst sein? Oder liegt es daran, dass das Modell die Ähnlichkeiten zwischen Daten nicht effizient erkennen kann, oder gibt es andere Gründe für eine Fehlklassifizierung?

Sofia693
quelle
13
Meiner Meinung nach ist die Frage viel zu vage. Gibt es ein Problem, mit dem Sie besonders konfrontiert sind?
Jpmuc
1
Wie geschrieben, könnte dies als "Fehlklassifizierung [beliebiger] Daten" gelesen werden. In diesem Fall kann es auch dann auftreten, wenn das Modell den Datenerzeugungsprozess perfekt widerspiegelt, solange der DGP stochastisch / nicht deterministisch ist. Das heißt, aufgrund des Vorhandenseins von Rauschen ist ein gewisser Grad an Fehlklassifizierung zu erwarten.
Gung - Reinstate Monica
@gung ist es nicht einfach überpassend?
theGD
3
@theGD, Sie können einen perfekten Klassifikator haben, der einige Daten falsch klassifiziert, wenn der Prozess nicht deterministisch ist. So ist es halt.
Gung - Reinstate Monica

Antworten:

19

Nehmen wir an, Sie sprechen von einer Fehlklassifizierung der Trainingsdaten, dh es ist schwierig, den Verlust des Trainingsdatensatzes zu minimieren, ohne dass ein Problem mit der Überanpassung der Testdaten auftritt.

Sie haben Recht, dass in den meisten Fällen die Fehlklassifizierung von "Modell ist zu einfach" oder "Daten sind zu verrauscht" herrühren kann. Ich möchte zwei Beispiele zur weiteren Veranschaulichung geben.

  1. Das Modell ist "zu einfach", um die "Muster in Daten" zu erfassen.

    • Das Beispiel ist in der linken Abbildung dargestellt. Angenommen, wir möchten eine logistische Regression / eine Linie verwenden, um zwei Klassen zu trennen, aber die beiden Klassen sind nicht linear trennbar.

    • In diesem Fall gibt es immer noch "bemerkenswerte Muster in den Daten", und wenn wir das Modell ändern, werden wir möglicherweise besser. Wenn wir beispielsweise anstelle der logistischen Regression den KNN-Klassifikator verwenden, können wir eine sehr gute Leistung erzielen.

  2. Die Daten haben zu viel Rauschen, so dass es sehr schwierig ist, die Klassifizierungsaufgabe auszuführen.

    • Das Beispiel ist in der rechten Abbildung dargestellt. Wenn Sie den Code überprüfen, sehen Sie, dass zwei Klassen sehr ähnlich sind (zwei Klassen sind 2D-Gauß, der Mittelwert liegt bei , die Standardabweichung für jede Klasse beträgt 1,0 ). . Es ist im Wesentlichen eine sehr herausfordernde Aufgabe.0.01×21.0

Beispieldatensätze, einer mit zwei vermaschten Spiralen, einer mit stark überlappenden Gaußschen Verteilungen

Beachten Sie, dass die beiden Beispiele trivial sind, da wir die Daten und den Klassifikator visualisieren können. In der realen Welt ist dies nicht der Fall, wenn wir Millionen von Datenpunkten und superkomplizierte Klassifikatoren haben.

Code:

library(mlbench)
set.seed(0)
par(mfrow=c(1,2))
d=mlbench.spirals(500)
plot(d)
lg_fit=glm(d$classes~d$x[,1]+d$x[,2]-1,family=binomial())
abline(0,-lg_fit$coefficients[1]/lg_fit$coefficients[2])

d2=mlbench.2dnormals(500,r=0.01)
plot(d2)
Haitao Du
quelle
Sie haben KNN erwähnt. Bitte beachten Sie, dass ich von Klassifizierung und nicht von Clustering spreche. Ich meine, wenn wir Trainings- und Testdaten haben. Was mich wenig verwirrt, ist, dass wenn beispielsweise zwei Datentypen unterschiedliche Funktionen für die einzelnen Daten haben, der Klassifizierer die Testdaten im Testprozess falsch etikettiert. Ich denke, dies führt mich zu Ihrem zweiten Beispiel, was bedeutet, dass meine Daten so viel Rauschen aufweisen und das Modell deswegen Probleme hat. Nehmen wir jedoch an, dass wir das durch Feature-Auswahl gelöst haben. Kann es auch nach Feature-Auswahl noch Rauschen geben?
Sofia693
oder kann ich mir einen anderen Grund vorstellen, warum meine beiden Datentypen tatsächlich Ähnlichkeiten in ihren Funktionen aufweisen und das Modell "täuschen" können, könnte dies irgendwie ein Fall sein?
Sofia693
@ Sofia693 1. KNN ist NICHT Kmeans, es ist ein Klassifizierungsmodell. 2. Ich folge Ihren Kommentaren nicht wirklich.
Haitao Du
Ich meinte, wenn wir zwei Gruppen haben (zum Beispiel 50 Autismuspatienten und 50 gesunde Probanden und die Daten aus der MRT extrahiert werden, wobei jedes Subjekt als Merkmalsvektor dargestellt wird), trainiere ich einen Klassifikator und verwende die Leave One Out-Technik. Jetzt kann das Modell das Testobjekt aufgrund von Rauschen falsch klassifizieren (wie Sie im zweiten Beispiel erwähnt haben), aber wir können die Funktionsauswahl verwenden, um das Rauschen zu reduzieren, oder? Warum klassifiziert das Modell das Testobjekt immer noch falsch? Könnte es auch nach der Auswahl der Funktionen noch Rauschen geben?
Sofia693
Meine zweite Annahme ist, dass die beiden Gruppen tatsächlich Ähnlichkeiten in ihren Merkmalsvektoren aufweisen, sodass das Modell wirklich Schwierigkeiten hat, das Testobjekt einer der Gruppen zuzuordnen.
Sofia693
11

Zusätzlich zu @ hxd1011 (+1).

  1. Klassenungleichgewicht in relativen oder absoluten Zahlen. In beiden Fällen bauen wir eine unzureichende Darstellung der Interessenklasse auf. Normalerweise ist das spätere schwieriger zu überwinden. (Beispielreferenz: Lernen aus unausgeglichenen Daten von He und Garcia)
  2. Falsche Klassifizierungskriterien. Wir trainieren unseren Klassifikator mit einer unangemessenen Bewertungsfunktion und / oder verwenden unangemessene Kriterien, um unsere endgültige Lösung abzuleiten. Sehr häufiges Problem bei der Verwendung von "Dosenlösungen". (Beispielreferenz: Schäden, die durch die Genauigkeit der Klassifizierung und andere diskontinuierliche Regeln für die Bewertung der falschen Genauigkeit von Harrell verursacht wurden)
  3. In Wirklichkeit gibt es keine Klasse. Wir wünschen uns, dass da etwas ist, aber wirklich gibt es nichts. Normalerweise lenkt Domain-Know-how die Leute davon ab, aber als Neuling ist dies immer ein Problem. (Beispielreferenz: Unser tägliches Leben. Publikationsbias ist wahrscheinlich auch hier ein Thema ...)
  4. Überanpassung. Wir haben ein anständiges Modell und einen anständigen Datensatz, aber wir trainieren nicht angemessen, um ein unrealistisches Modell aufzubauen. Normalerweise bezieht sich dies auf Punkt 2. (Extrapunkte für Unteranpassung!) (Beispielreferenz: Das Problem der Überanpassung durch Hawkings)
  5. Konzeptdrift. Die Dinge ändern sich und wir trainieren nicht um. Unser Klassifikator hat eine hervorragende Leistung in unserer Marketing-Stichprobe "Weihnachtsverkäufe" - ja, die Verwendung dieses Modells im Juli wird wahrscheinlich schmerzhaft sein ... (Beispielreferenz: Eine Umfrage zur Anpassung der Konzeptdrift von Gama et al.)
  6. Datenverlust / Magic-Funktionen. Wir trainieren anhand von Informationen, die zum Zeitpunkt der Vorhersage nicht verfügbar sind. Häufig bei ereignis- / zeitreihenähnlichen Daten. (Beispielreferenz: Leckage im Data Mining: Formulierung, Erkennung und Vermeidung von Kaufman et al.)
usεr11852
quelle
1
Ich verstehe Punkt 3 nicht. Die Frage setzt eine Vorstellung von einer "Klasse" voraus, um einen Klassifikator zu haben, der einige Daten falsch klassifiziert. Meinen Sie damit, dass die Kennzeichnung inkonsistent ist (die "Klasse" ist schlecht definiert)? Oder dass die Features keine für die Klassifizierungsaufgabe relevanten Informationen enthalten?
Charles Staats
@CharlesStaats: "Die Funktionen enthalten keine für die Klassifizierungsaufgabe relevanten Informationen" ist ein Fehler der zweiten Art, "falsche Klassifizierungskriterien".
MSalters
Denken Sie, dass schlechte Labels in 2 fallen würden, oder verdient es seinen separaten Eintrag?
Jonas
@CharlesStaats: Die Annahme eines " Klassenbegriffs " bedeutet nicht, dass er tatsächlich existiert und / oder ob er von den vorliegenden Daten unterstützt werden kann. Aus diesem Grund ist Domain-Know-how in diesen Fällen äußerst hilfreich. es hilft uns, zwischen einem "echten Problem" und dem Versuch, "Lärm anzupassen" zu unterscheiden. Es gibt Fälle, in denen die Markierungen eher eine Hypothese widerspiegeln (z. B. das Potenzial, eine durch eine zufällige Mutation verursachte Krankheit zu entwickeln) als eine messbare Vorstellung (z. B. dass der Patient die durch eine zufällige Mutation verursachte Krankheit hat).
usεr11852
@ Jonas: Das ist ein guter Punkt; Ich denke, dass eine falsche Kennzeichnung ein separater Eintrag sein sollte. Dies könnte möglicherweise mit dem von hxd1011 ausgelösten Punkt "Daten sind zu verrauscht" zusammenhängen.
usεr11852