8.2.1. Support-Vektor-Maschinen verstehen

SVM verstehen

Ziel

in diesem Kapitel

  • Wir werden ein intuitives Verständnis von SVM haben

Prinzip

Linear trennbare Daten

Betrachten Sie das Bild unten mit zwei Datentypen, Rot und Blau. In kNN möchten wir für Testdaten normalerweise den Abstand aller Trainingsmuster berechnen und denjenigen mit dem kürzesten Abstand auswählen. Die Berechnung der Abstände zu allen Proben nimmt viel Zeit in Anspruch und das Speichern aller Trainingsproben nimmt viel Speicher in Anspruch. Aber brauchen wir wirklich so viel für die im Bild angegebenen Daten?

Bild

Denk anders. Wir können eine gerade Linie f(x)=ax 1 + bx 2 + c finden , um die Daten in zwei Bereiche zu unterteilen. Wenn wir neue Testdaten X erhalten , ersetzen Sie diese einfach durch f(x) . Wenn f( X ) > 0 , gehört es zur blauen Gruppe, andernfalls gehört es zur roten Gruppe. Wir können diese Gerade als Entscheidungsgrenze bezeichnen . Dies ist sehr einfach und verbraucht sehr wenig Speicher. Daten, die durch eine gerade Linie (oder eine Hyperebene in höheren Dimensionen) in zwei Teile geteilt werden können, werden als linear trennbar bezeichnet .

Im Bild oben können Sie viele dieser geraden Linien sehen. Welches werden wir wählen? Ganz intuitiv sollte die Linie so weit wie möglich von allen Punkten entfernt sein. Warum? Weil die Eingabedaten möglicherweise Rauschdaten enthalten. Diese verrauschten Daten sollten die Klassifizierungsgenauigkeit nicht beeinträchtigen. Daher bietet die Wahl der am weitesten geraden Linie eine größere Störfestigkeit. Was SVM also tut, ist, die gerade Linie (oder Hyperebene) zu finden, die den maximalen und minimalen Abstand von der Trainingsprobe hat. Sehen Sie sich die dicke Linie durch die Mitte im Bild unten an.

Bild

Um die Entscheidungsgrenze zu finden, benötigen Sie daher Trainingsdaten. Benötigen Sie alle Daten für das Training? NEIN. Nur die Daten, die nahe beieinander liegen, reichen aus. In unserem Bild sind es ein blau gefüllter Kreis und zwei rot gefüllte Quadrate. Wir können sie Stützvektoren nennen und die Linie durch sie die Stützebene . Sie reichen aus, um unsere Entscheidungsgrenze zu finden. Über die schiere Menge aller Daten müssen wir uns keine Sorgen machen. Es hilft, Daten zu reduzieren.

Was ist passiert? Zunächst werden zwei Hyperebenen gefunden, die die Daten am besten darstellen. Beispielsweise werden blaue Daten durch w T x + b 0 > 1 dargestellt , während rote Daten durch w T x + b 0 < -1 dargestellt werden , wobei w der Gewichtsvektor ist ( w = [w 1 ,w 2 ,… ,w n ] ), x ist der Eigenvektor ( x = [x 1 ,x 2 ,…,x n ] ) und b 0 ist der Bias. Der Gewichtsvektor bestimmt die Richtung der Entscheidungsgrenze, während der Bias-Punkt ihre Position bestimmt. Nun wird die Entscheidungsgrenze als die Mitte dieser Hyperebenen definiert und somit ausgedrückt als w T x + b 0 = 0 . Der Mindestabstand der Unterstützungsvektoren zur Entscheidungsgrenze ist durch Abstand Unterstützungsvektoren = 1/||w|| gegebengegeben. Der Abstand beträgt das Doppelte dieses Abstands und wir müssen diesen Abstand maximieren. Das heißt, wir müssen eine neue Funktion L(w,b 0 ) minimieren , und einige der Einschränkungen können wie folgt ausgedrückt werden:

wobei ti die Bezeichnung jeder Klasse ist, ti ∈ [-1,1] .

nichtlineare trennbare Daten

Bedenken Sie, dass einige Daten nicht durch eine gerade Linie in zwei Teile geteilt werden können. Zum Beispiel eindimensionale Daten, bei denen „X“ bei -3 und +3 und „O“ bei -1 und +1 liegt. Offensichtlich ist es nicht linear trennbar. Es gibt jedoch einige Möglichkeiten, diese Art von Problem zu lösen. Wenn wir diesen Datensatz mit der Funktion f(x) = x 2 abbilden können, erhalten wir „X“ als 9 und „O“ als 1, die linear separierbar sind.

Darüber hinaus können wir diese eindimensionalen Daten in zweidimensionale Daten umwandeln. Wir können die Funktion f(x) = (x, x 2 ) verwenden , um diese Daten abzubilden. Dann wird „X“ zu (-3,9) und (3,9) und „O“ wird zu (-1,1) und (1,1). Dies ist auch linear trennbar. Kurz gesagt, ist es wahrscheinlicher, dass nichtlinear trennbare Daten in einem niedrigdimensionalen Raum in einem hochdimensionalen Raum linear trennbar werden.

Im Allgemeinen ist dieser Ansatz machbar, indem Punkte in einem d-dimensionalen Raum auf einen d-dimensionalen Raum ( D > d) abgebildet werden , um die Möglichkeit einer linearen Trennbarkeit zu prüfen. Es gibt eine Idee, die dabei hilft, Skalarprodukte im hochdimensionalen (Kernel-)Raum zu berechnen, indem Berechnungen im niedrigdimensionalen Eingaberaum (Merkmalsraum) durchgeführt werden. Wir können es anhand des folgenden Beispiels veranschaulichen.

Betrachten Sie zwei Punkte im zweidimensionalen Raum, p = (p 1 , p 2 ) und q = (q 1 , q 2 ) . Sei Φ eine Abbildungsfunktion, die zweidimensionale Punkte wie folgt auf den dreidimensionalen Raum abbildet:

Definieren wir eine Kernelfunktion K ( p , q ) , die wie folgt ein Skalarprodukt zwischen zwei Punkten berechnet:

Dies bedeutet, dass durch die Verwendung quadratischer Punktprodukte im 2D-Raum Punktprodukte im 3D-Raum erzielt werden können. Dies kann auf höherdimensionale Räume angewendet werden. Daher können wir höherdimensionale Merkmale aus den niedrigeren Dimensionen selbst berechnen. Sobald wir sie kartieren, erhalten wir einen höherdimensionalen Raum.

Zusätzlich zu all diesen Konzepten gibt es auch das Problem der Fehlklassifizierung. Daher reicht es nicht aus, einfach die Entscheidungsgrenze mit dem größten Abstand zu finden. Wir müssen auch das Problem der Fehlklassifizierung berücksichtigen. Manchmal ist es möglich, Entscheidungsgrenzen zu finden, die eng beieinander liegen, aber weniger Klassifizierungsfehler aufweisen. Wie auch immer, wir müssen unser Modell so modifizieren, dass es die Entscheidungsgrenze mit dem größten Spielraum, aber mit weniger Klassifizierungsfehlern findet. Das Minimierungskriterium wird wie folgt geändert:

Das Bild unten zeigt dieses Konzept. Für jede Probe der Trainingsdaten wird ein neuer Parameter ξ i definiert . Dies ist der Abstand von der entsprechenden Trainingsstichprobe zum richtigen Entscheidungsbereich. Die Daten, die nicht falsch klassifiziert sind, liegen auf der entsprechenden Unterstützungsebene, sodass ihr Abstand Null ist.

Bild

Das neue Optimierungsproblem lautet also:

Wie wählt man Parameter C? Offensichtlich hängt die Antwort auf diese Frage davon ab, wie die Trainingsdaten verteilt sind. Obwohl es keine allgemeinen Antworten gibt, ist es sinnvoll, die folgenden Regeln zu beachten:

  • Größere Werte von C ergeben Lösungen mit weniger Fehlklassifizierungen, aber kleineren Abständen. Diese Option kann in Betracht gezogen werden, wenn eine Fehlklassifizierung kostspielig ist. Da das Optimierungsziel darin besteht, Parameter zu minimieren, sind weniger Klassifizierungsfehler zulässig.
  • Kleine C-Werte ergeben Lösungen mit größeren Abständen und mehr Klassifizierungsfehlern. In diesem Fall kümmert sich die Minimierung nicht allzu sehr um den Summationsterm und konzentriert sich daher mehr auf die Suche nach Hyperebenen mit großen Abständen.

zusätzliche Ressourcen

  1. NPTEL-Hinweise zur statistischen Mustererkennung, Kapitel 25–29

üben

Je suppose que tu aimes

Origine blog.csdn.net/qq_33319476/article/details/130435817
conseillé
Classement