Überanpassung mit linearen Klassifikatoren


10

Heute erklärte unser Professor in der Klasse, dass "eine Überanpassung mit linearen Klassifikatoren nicht möglich ist". Ich halte das für falsch, da selbst lineare Klassifizierer empfindlich auf Ausreißer im Trainingssatz reagieren können - zum Beispiel eine Support Vector Machine mit hartem Rand: Ein einzelner verrauschter Datenpunkt kann ändern, welche Hyperebene zum Trennen von Datensätzen verwendet wird. Oder liege ich falsch? Offensichtlich wird die Linearität aufgrund der geringeren Modellkomplexität wahrscheinlich eher eine Überanpassung verhindern, aber ich verstehe immer noch nicht, warum eine Überanpassung unmöglich sein sollte. Ein weiterer Punkt ist, dass ich beim Versuch, über dieses Problem nachzudenken, feststellte, dass "Überanpassung" nicht formal definiert zu sein scheint. Warum das? Würde ein Abstandsmaß zwischen Training und Testsatzleistung eine solche Formalisierung nicht ermöglichen? Vielen Dank


4
Warum sagst du linearer Klassifikator? Die meisten linearen Modelle dienen der Vorhersage und nicht der Klassifizierung. Und Sie haben Recht - lineare Modelle können sehr anfällig für Überanpassungen sein. Nicht so viel wie Methoden des maschinellen Lernens, aber dennoch eine Überanpassung kann ein Problem sein.
Frank Harrell

5
Es ist sehr leicht, den linearen Klassifikator zu überpassen. Passen Sie das Modell einfach an einen Datensatz an (verrauscht, real) und verwenden Sie keine Regularisierung.
Vladislavs Dovgalecs

2
Hüten Sie sich vor der Klassifizierung - normalerweise müssen Sie Ihre Ziele nicht so niedrig einstellen.
Frank Harrell

2
@FrankHarrell ... und warum?
Pugl

1
YY

Antworten:


12

Ein linearer Regressions- / Klassifikator kann bei richtiger Pflege absolut überpasst werden.

5000

set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)

5000500

N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))

Es sollte keine Beziehung zwischen unseren Flips yund unseren Zufallsklassen geben rand.class, sie wurden völlig unabhängig bestimmt.

Wenn wir jedoch versuchen, den Zufallswechsel mit der Zufallsklasse mithilfe der logistischen Regression (einem linearen Klassifikator) vorherzusagen, wird davon ausgegangen, dass eine Beziehung besteht

M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)

Geben Sie hier die Bildbeschreibung ein

Der wahre Wert jedes dieser Koeffizienten ist Null. Aber wie Sie sehen, haben wir eine ziemliche Verbreitung. Dieser lineare Klassifikator ist mit Sicherheit eine Überanpassung.

1515y == 1y == 015

"Überanpassung" scheint nicht formal definiert zu sein. Warum das?

Überanpassung kann am besten im Rahmen einer verstanden Klasse von Modellen , die eine gewisse Komplexität Parameter hat. In diesem Fall könnte man sagen, dass ein Modell überanpasst, wenn die Komplexität geringfügig verringert wird, was zu einer besseren Erwartung der Stichprobenleistung führt.

Es wäre sehr schwierig, das Konzept modellunabhängig genau zu definieren. Ein einzelnes Modell ist einfach fit. Sie benötigen etwas, mit dem Sie es vergleichen können, damit es über- oder unterpasst. In meinem obigen Beispiel war dieser Vergleich mit der Wahrheit, aber normalerweise kennen Sie die Wahrheit nicht, daher das Modell!

Würde ein Abstandsmaß zwischen Training und Testsatzleistung eine solche Formalisierung nicht ermöglichen?

Es gibt ein solches Konzept, es heißt Optimismus. Es ist definiert durch:

ω=EtestEtrain

E

Es kommt jedoch nicht ganz auf das Wesentliche einer Überanpassung an, da die Leistung eines Testsatzes erheblich schlechter sein kann als die des Zuges, obwohl ein Modell mit höherer Komplexität beide verringert .


Wow, was für eine gute Antwort, vielen Dank. Eine Frage: Sind lineare SVMs weniger anfällig für Überanpassungen als z. B. log. Regression, die Sie erwähnt haben (aufgrund der unterschiedlichen Optimierungsmöglichkeiten für die lineare Entscheidungsgrenze)?
Pugl

1
Ich muss zugeben, ich bin kein Experte für SVMs und habe keine praktische Erfahrung in deren Verwendung. Ich möchte nicht wirklich eine Antwort wagen und riskieren, sehr falsch zu liegen. Wenn Sie es genau formulieren können, ist es wahrscheinlich eine eigene Frage wert.
Matthew Drury

SVMs sind reguliert und daher weniger anfällig für Überanpassungen. Um zu erkennen, dass Sie nur die Funktion betrachten müssen, die Sie minimieren: Sie enthält entweder die l1-Norm oder die l2-Norm der Gewichte, verkleinert sie bei der Optimierung und zieht daher "einfache" Modelle "komplexen" Modellen vor. Der Parameter, der dies steuert, ist der C-Hyper-Parameter. Im Grenzfall (C = unendlich) passt die SVM "perfekt" zum Trainingssatz und ist daher wahrscheinlich überpassend (beachten Sie, dass ich wahrscheinlich gesagt habe, dass Sie einen Testsatz benötigen, um sicherzugehen!). Beachten Sie auch, dass ich viele Anführungszeichen verwendet habe, aber dies kann richtig definiert werden.
Skd

2

In den 70er Jahren zeigten Experimente mit Mustererkennungsalgorithmen an großen Datensätzen, dass das Hinzufügen zusätzlicher Funktionen in einigen Fällen die Fehlerraten des Testsatzes erhöhte. Dies ist nicht intuitiv, da man erwarten würde, dass das Hinzufügen einer zusätzlichen Funktion immer die Klassifikatorleistung erhöht, oder falls die hinzugefügte Funktion "weißes Rauschen" ist, hat ihre Hinzufügung überhaupt keinen Einfluss auf die Klassifikatorleistung. Der Effekt, einem Klassifikator noch mehr zusätzliche Funktionen hinzuzufügen, was schließlich zu einer Verringerung der Leistung des Testsatzes führte, wurde als Peaking-Phänomen bekannt [1].

Feature Peaking wird durch Überverallgemeinerung während des Lernens verursacht. Durch die zusätzlichen Funktionen werden so viele zusätzliche Parameter aufgenommen, dass der Klassifizierer beginnt, die Daten zu überanpassen. Daher wird der Spitzenwert überschritten.

Im Allgemeinen sehen wir uns beim Training von Klassifikatoren einem Kompromiss zwischen Bias und Varianz gegenüber. Je mehr Feature-Variablen wir verwenden, desto besser wird der ( unbekannte ) zugrunde liegende Klassifikatormechanismus möglicherweise von unserem Klassifikator modelliert. Daher wird die systematische Abweichung zwischen angepasstem Modell und "Wahrheit" verringert, dh es ergibt sich eine geringere Verzerrung. Andererseits bedeutet das Erhöhen des Merkmalsraums des Klassifizierers notwendigerweise das Hinzufügen von Parametern (diejenigen, die zu den hinzugefügten Merkmalen passen). Somit nimmt auch die Varianz des angepassten Klassifikators zu.

Der Klassifikator, der den Peaking Point überschreitet, ist also nur eine stochastische Realisierung eines hochdimensionalen Klassifizierungsproblems, und eine neue Anpassung führt zu einem sehr unterschiedlichen Parametervektor. Diese Tatsache spiegelt die erhöhte Varianz wider.

[1. GV Trunk, "Ein Problem der Dimensionalität: Ein einfaches Beispiel", in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. PAMI-1, nein. 3, S. 306-307, Juli 1979]


1

Ich denke, dass Überanpassung sich eher auf die Komplexität des Modells als auf die Fähigkeit zur Verallgemeinerung bezieht. Ich verstehe das Zitat "Ein linearer Klassifikator kann nicht überpasst werden", da seine Komplexität gering ist und es keinen anderen einfacheren Klassifikator gibt, der eine bessere Leistung bietet.

Das Beispiel ist mit der Generalisierungsfähigkeit von linearen (und komplexen) Klassifikatoren verknüpft. Selbst in diesem zweiten Teil bieten lineare Klassifikatoren normalerweise weniger Varianz als komplexe, daher ist der "Überanpassungs" -Wert für lineare Klassifikatoren nach diesem Konzept ebenfalls kleiner (obwohl das empirische Risiko für sie so groß sein könnte). atb


0

Wie @ match-maker-ee sagte, können lineare Klassifizierer abhängig von den Eingabefunktionen überanpassen.

Das folgende Modell f ist in seinen Parametern a , b und c linear , kann jedoch an eine quadratische Kurve im Merkmalsraum von x angepasst werden :

f(x)=ax2+bx+c

SVMs können auch überanpassen, beispielsweise wenn sie den Kernel-Trick verwenden, obwohl sie im Grunde genommen ein lineares Modell in einem erweiterten Feature-Space sind.

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.