Warum führt die Umwandlung der Daten in einen hochdimensionalen Merkmalsraum, in dem Klassen linear trennbar sind, zu einer Überanpassung?


10

Ich habe in meinem Buch (statistische Musterklassifizierung von Webb und Wiley) im Abschnitt über SVMs und linear nicht trennbare Daten gelesen:

In vielen praktischen Problemen der realen Welt gibt es keine lineare Grenze zwischen den Klassen, und das Problem der Suche nach einer optimalen Trennhyperebene ist bedeutungslos. Selbst wenn wir ausgefeilte Merkmalsvektoren , um die Daten in einen hochdimensionalen Merkmalsraum zu transformieren, in dem Klassen linear trennbar sind, würde dies zu einer Überanpassung der Daten und damit zu einer schlechten Verallgemeinerungsfähigkeit führen .Φ(x)

Warum führt die Transformation der Daten in einen hochdimensionalen Merkmalsraum, in dem Klassen linear trennbar sind, zu Überanpassung und schlechter Generalisierungsfähigkeit?

Antworten:


8

@ffriend hat einen guten Beitrag dazu, aber im Allgemeinen ist der Lernalgorithmus gezwungen, die Merkmale mit höherem Raum zu berücksichtigen, wenn Sie sich in einen hochdimensionalen Merkmalsraum verwandeln und von dort aus trainieren, auch wenn sie möglicherweise nichts haben mit den Originaldaten zu tun haben und keine prädiktiven Eigenschaften bieten.

Dies bedeutet, dass Sie eine Lernregel beim Training nicht richtig verallgemeinern werden.

Nehmen Sie ein intuitives Beispiel: Angenommen, Sie möchten das Gewicht aus der Größe vorhersagen. Sie haben alle diese Daten, die den Gewichten und Höhen der Personen entsprechen. Nehmen wir an, sie folgen ganz allgemein einer linearen Beziehung. Das heißt, Sie können Gewicht (B) und Größe (H) wie folgt beschreiben:

W=mHb

Dabei ist die Steigung Ihrer linearen Gleichung und der y-Achsenabschnitt oder in diesem Fall der W-Achsenabschnitt.bmb

Nehmen wir an, Sie sind ein erfahrener Biologe und wissen, dass die Beziehung linear ist. Ihre Daten sehen aus wie ein Streudiagramm, das nach oben tendiert. Wenn Sie die Daten im zweidimensionalen Raum belassen, passen Sie eine Linie durch. Es trifft möglicherweise nicht alle Punkte, aber das ist in Ordnung - Sie wissen, dass die Beziehung linear ist, und Sie möchten trotzdem eine gute Annäherung.

Nehmen wir nun an, Sie haben diese zweidimensionalen Daten in einen höherdimensionalen Raum umgewandelt. Anstelle von nur fügen Sie also 5 weitere Dimensionen hinzu: , , , und .H 2 H 3 H 4 H 5 HH2H3H4H5H2+H7

Nun suchen Sie nach Koeffizienten des Polynoms, die zu diesen Daten passen. Das heißt, Sie möchten die für dieses Polynom finden, das am besten zu den Daten passt:ci

W=c1H+c2H2+c3H3+c4H4+c5H5+c6H2+H7

Wenn Sie das tun, welche Art von Leitung würden Sie bekommen? Sie würden eine bekommen, die der rechtsextremen Handlung von @ffriend sehr ähnlich sieht. Sie haben die Daten überangepasst, weil Sie Ihren Lernalgorithmus gezwungen haben, Polynome höherer Ordnung zu berücksichtigen, die nichts mit irgendetwas zu tun haben. Biologisch gesehen hängt das Gewicht nur linear von der Größe ab. Es hängt nicht von oder einem Unsinn höherer Ordnung ab.H2+H7

Wenn Sie die Daten blind in Dimensionen höherer Ordnung umwandeln, besteht daher ein sehr geringes Risiko der Überanpassung und nicht der Verallgemeinerung.


6

Nehmen wir an, wir versuchen, eine Funktion zu finden, die die Menge der 2D-Punkte auf der Ebene mithilfe der linearen Regression approximiert (was im Wesentlichen so ziemlich das ist, was SVM tut). Bei 3 Bildern unter den roten Kreuzen sind Beobachtungen (Trainingsdaten) und 3 blaue Linien repräsentieren Gleichungen mit unterschiedlichem Polynomgrad, die für die Regression verwendet werden.

Geben Sie hier die Bildbeschreibung ein

Das erste Bild wird durch eine lineare Gleichung erzeugt. Wie Sie sehen können, spiegelt es Punkte ziemlich schlecht wider. Dies wird als Unteranpassung bezeichnet , da wir dem Lernalgorithmus zu wenig "Freiheitsgrad" (Polynom von zu geringem Grad) gegeben haben. Das zweite Bild ist viel besser - wir haben ein Polynom zweiten Grades verwendet und es sieht ziemlich gut aus. Wenn wir jedoch den "Freiheitsgrad" weiter erhöhen, erhalten wir das 3. Bild. Die blaue Linie kommt direkt durch die Kreuze, aber glauben Sie, dass diese Linie wirklich die Abhängigkeit beschreibt? Das glaube ich nicht. Ja, beim Trainingssatz ist der Lernfehler (Abstand zwischen Kreuzen und Linie) sehr gering, aber wenn wir eine weitere Beobachtung hinzufügen (z. B. aus realen Daten), ist der Fehler höchstwahrscheinlich viel größer als bei Verwendung der zweiten Gleichung Bild. Dieser Effekt wird als Überanpassung bezeichnet- Wir versuchen, die Trainingsdaten zu genau zu verfolgen und Probleme zu bekommen. Die Verwendung von Polynomen einer einzelnen Variablen ist ein einfaches Beispiel für einen Kernel - anstelle einer Dimension ( ) verwenden wir mehrere ( , , usw.). Sie können sehen, dass die Übersetzung von Daten in einen höherdimensionalen Raum zur Überwindung von Unteranpassungen beitragen kann , aber auch zu Überanpassungen führen kann . Die eigentliche Herausforderung besteht darin, das zu finden, was "genau richtig" ist. Einige Tipps für Ihre weitere Forschung in diesem Thema. Sie können eine Überanpassung mit einer Prozedur erkennen, die als Kreuzvalidierung bezeichnet wirdx x 2 x 3xxx2x3. Kurz gesagt, Sie teilen Ihre Daten in beispielsweise 10 Teile auf, nehmen 9 davon für das Training und 1 für die Validierung. Wenn der Fehler beim Validierungssatz viel höher ist als beim Zugsatz, haben Sie eine Überanpassung. Die meisten Algorithmen für maschinelles Lernen verwenden einige Parameter (z. B. Parameter von Kerneln in SVM), mit denen eine Überanpassung überwunden werden kann. Ein beliebtes Schlüsselwort ist hier auch die Regularisierung - die Änderung des Algorithmus, die sich direkt auf den Optimierungsprozess auswirkt.

Übrigens bin ich mir nicht sicher, ob DSP die richtige Seite für diese Art von Fragen ist. Wahrscheinlich werden Sie auch daran interessiert sein, CrossValidated zu besuchen .


Dies wurde aus Andrew Ngs Videovorträgen über maschinelles Lernen entlehnt. Es sei denn, Sie sind Dr. Ng. Suchen Sie in diesem Fall einen Doktoranden für Ihr Labor? (Die Vorträge finden Sie auf coursera.com für diejenigen unter Ihnen, die interessiert sind)
CyberMen

@CyberMen: Es wurde von images.google.com gestohlen :) Aber ja, die Notation ist der von Ng sehr ähnlich. Und ich würde definitiv seinen Kurs (und andere Artikel) zur Einführung in das maschinelle Lernen vorschlagen.
Freund

Ich denke, DSP ist der richtige Ort für diese Art von Fragen, zumindest unter anderen SE-Standorten.
Gigili

2

Hast du weiter gelesen?

Am Ende des Abschnitts 6.3.10:

"Es gibt jedoch häufig Parameter des Kernels , die festgelegt werden müssen, und eine schlechte Auswahl kann zu einer schlechten Verallgemeinerung führen. Die Auswahl des besten Kernels für ein bestimmtes Problem wird nicht gelöst, und für bestimmte Probleme, z. B. die Klassifizierung von Dokumenten, wurden spezielle Kernel abgeleitet ""

was uns zu Abschnitt 6.3.3 führt:

" Akzeptable Kernel müssen als inneres Produkt in einem Feature-Space ausgedrückt werden können, was bedeutet, dass sie die Bedingungen von Mercer erfüllen müssen."

Kernel aufgrund ihres eigenen recht schwierigen Bereichs können Sie große Datenmengen haben, bei denen in verschiedenen Teilen unterschiedliche Parameter angewendet werden sollten, z. B. Glättung, aber nicht genau wissen, wann. Daher ist eine solche Sache ziemlich schwer zu verallgemeinern.


Ich lese "4.2.5 Support Vector Machines", wie gesagt, ich weiß nicht, über welchen Abschnitt 6 Sie sprechen. Da der Absatz nach dem, was ich in der Frage erwähnt habe, nichts darüber enthält, dachte ich, ich sollte ihn hier besser fragen.
Gigili

Entschuldigung, ich habe es mit der statistischen Mustererkennung auch von Webb verwechselt, die ich gerade suche und die die gleichen Kapitel haben.
Sigrlami
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.