Zielfunktionen beim Trainieren
Betrachten wir die Steigung der Entscheidungsfunktion: Sie entspricht der Norm des Gewichtsvektors || w ||. Wenn wir diese Steigung durch 2 teilen, sind die Punkte, bei denen die Enscheidungsfunktion ±1 beträgt, doppelt so weit von der Entscheidungsgrenze entfernt. Anders ausgedrückt, führt das Teilen der Steigung durch 2 zu einer Multiplikation des Margins mit dem Faktor 2. Dies lässt sich etwas besser in 2-D veranschaulichen, wie in Abbildung 5-13 gezeigt. Je kleiner der Gewichtsvekor w, umso größer wird der Margin.
Abbildung 5-13: Ein kleinerer Gewichtsvektor führt zu einem größeren Margin.
Wir möchten also || w || minimieren, um einen großen Margin zu erhalten. Wenn wir allerdings jegliche Verletzungen des Margins vermeiden möchten (Hard-Margin), muss die Entscheidungsfunktion für alle positiven Trainingsdatenpunkte größer als 1 sein und für alle negativen Punkte kleiner als –1. Wenn wir für negative Datenpunkte t(i) = –1 (wenn y(i) = 0 gilt) und für positive Datenpunkte (ti) = 1 festlegen (wenn y(i) = 1 gilt), können wir diese Bedingung für alle Datenpunkte durch t(i)(wT x(i) + b)
Daher lässt sich die Zielfunktion eines linearen SVM-Klassifikators mit Hard-Margin durch das Optimierungsproblem mit Nebenbedingungen in Formel 5-3 schreiben.
Formel 5-3: Zielfunktion eines linearen SVM-Klassifikators mit Hard-Margin
minimiere 12 unter der Bedingungt(i)(wTx(i) + b) ≥ 1für i = 1, 2, …, m
|
Wir minimieren 1/2 wT w, was gleich 1/2 || w ||2 ist, anstatt || w || zu minimieren. Denn 1/2 || w ||2 besitzt eine einfachere Ableitung (sie beträgt einfach nur w), während || w || bei w = 0 nicht differenzierbar ist. Algorithmen zur Optimierung laufen mit differenzierbaren Funktionen viel besser. |
Um die Zielfunktion für Soft-Margin zu erhalten, müssen wir für jeden Datenpunkt eine Slack-Variable ζ(i)
Formel 5-4: Zielfunktion eines linearen SVM-Klassifikators mit Soft-Margin
unter den Bedingungent(i)(wTx(t) + b) ≥ 1 – ζ(i)undζ(i) ≥ 0für i = 1, 2, …, m
Quadratische Programme
Sowohl das Hard-Margin- als auch das Soft-Margin-Problem gehören zu den konvexen quadratischen Optimierungsproblemen mit linearen Nebenbedingungen. Solche Probleme bezeichnet man als quadratische Programme (QP). Es sind zahlreiche Solver erhältlich, die QP-Probleme mit verschiedenen Techniken lösen können. Diese aufzuführen, sprengt den Rahmen dieses Buchs.5
Die allgemeine Formulierung des Problems ist durch Formel 5-5 gegeben.
Formel 5-5: Formulierung quadratischer Programme
Beachten Sie, dass der Ausdruck A p
Sie können leicht nachweisen, dass Sie mit den folgenden QP-Parametern die Zielfunktion für einen linearen Hard-Margin-SVM-Klassifikator erhalten:
np = n + 1, wobei n die Anzahl Merkmale ist (das +1 steht für den Bias-Term).
nc = m, wobei m der Anzahl Trainingsdatenpunkte entspricht.
H ist eine np × np-Identitätsmatrix, außer dass die Zelle in der linken oberen Ecke eine Null enthält (um den Bias-Term zu ignorieren).
f = 0, ein np-dimensionaler Vektor voller Nullen.
b = –1, ein nc-dimensionaler Vektor voll mit –1.
a(i) = –t(i) (i), wobei (i) gleich x(i) mit dem zusätzlichen Bias-Merkmal 0 = 1 ist.
Demnach können Sie einen linearen Hard-Margin-SVM-Klassifikator trainieren, indem Sie einen QP-Solver von der Stange verwenden und ihm die oben angegebenen Parameter übergeben. Der als Ergebnis erhaltene Vektor p enthält den Bias-Term b = p0 und die Gewichte der Merkmale wi = pi mit i = 1, 2, …, n. In ähnlicher Weise können Sie einen QP-Solver einsetzen, um ein Soft-Margin-Problem zu lösen (Übungen dazu finden Sie am Ende dieses Kapitels).
Um jedoch den Kerneltrick zu verwenden, werden wir uns eine andere Art Optimierungsproblem mit Nebenbedingungen ansehen.
Das duale Problem
Bei einem als primales Problem bekannten Optimierungsproblem ist es möglich, dieses als ein eng verwandtes Problem, nämlich dessen duales Problem zu formulieren. Die Lösung des dualen Problems legt normalerweise eine Untergrenze für die Lösung des primalen