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?
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?
Antworten:
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.
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.
Die Daten haben zu viel Rauschen, so dass es sehr schwierig ist, die Klassifizierungsaufgabe auszuführen.
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)
Zusätzlich zu @ hxd1011 (+1).