Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und TensorFlow. Aurélien Géron. Читать онлайн. Newlib. NEWLIB.NET

Автор: Aurélien Géron
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9783960103400
Скачать книгу
Maße auftreten (Soft-Margin).

       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) image 1 ausdrücken.

      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

image

      minimiere 12 unter der Bedingungt(i)(wTx(i) + b) ≥ 1für i = 1, 2, …, m

image 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) image 0 einführen4: ζ(i) bestimmt, inwieweit der i. Datenpunkt den Margin verletzen darf. Wir haben nun zwei gegenläufige Ziele: die Slack-Variablen so klein wie möglich zu machen, um Verletzungen des Margins zu verringern, und 1/2 wT w so klein wie möglich zu machen, um den Margin zu vergrößern. An dieser Stelle kommt der Hyperparameter C ins Spiel: Er erlaubt uns, die Balance zwischen diesen beiden Zielen festzulegen. Damit erhalten wir das Optimierungsproblem in Formel 5-4.

       Formel 5-4: Zielfunktion eines linearen SVM-Klassifikators mit Soft-Margin

image

      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

image

      Beachten Sie, dass der Ausdruck A p image b genau nc Nebenbedingungen definiert: pT a(i) image b(i) mit i = 1, 2, … nc, wobei a(i) ein Vektor mit den Elementen der i. Zeile von A und b(i) das i. Element von b ist.

      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