Zum Hauptinhalt springen

6.3 Konvexe Optimierung

Die SVM ist ein Optimierungsproblem mit Nebenbedingungen (6.2). Dieser Abschnitt klärt die Begriffe und zeigt den entscheidenden Vorteil der SVM gegenüber z.B. neuronalen Netzen: Das Problem ist konvex, jedes lokale Minimum ist also ein globales.

Optimierung unter Nebenbedingungen​

📄 08_svm.pdf, Folie 18
Optimierungsproblem mit Nebenbedingungen

minimiere  f(x),x∈Ω\ f(\mathbf x),\quad \mathbf x\in\Omega

unter den Nebenbedingungen (constraints):

gi(x)≤0,i=1,…,k(Ungleichheitsbedingungen)hi(x)=0,i=1,…,m(Gleichheitsbedingungen)\begin{aligned} g_i(\mathbf x) &\le 0, \quad i = 1,\dots,k &&\text{(Ungleichheitsbedingungen)}\\ h_i(\mathbf x) &= 0, \quad i = 1,\dots,m &&\text{(Gleichheitsbedingungen)} \end{aligned}

Begriffe:

  • Die Funktionen gig_i und hih_i schränken die Wahl von x\mathbf x ein auf die Bereiche, in denen alle Bedingungen erfüllt sind.
  • Eine Ungleichheitsbedingung heißt aktiv (active), wenn sie am Minimum x∗\mathbf x^* gerade noch erfüllt ist, also gi(x∗)=0g_i(\mathbf x^*) = 0. Sonst (gi(x∗)<0g_i(\mathbf x^*) \lt 0) heißt sie inaktiv (inactive).
  • Der Bereich, in dem alle Bedingungen erfüllt sind, heißt zulässiger Bereich (feasible region), ein Punkt darin zulässig (feasible).

Anmerkung: Die Folie schreibt x∈Ω\mathbf x \in \Omega in die Zielzeile und nennt Ω\Omega den zulässigen Bereich. Gemeint ist: Ω\Omega ist die Menge aller Punkte, die die Nebenbedingungen erfüllen.

Übertragung auf die SVM: Die Optimierungsvariablen sind (w,b)(\mathbf w, b). Die Nebenbedingungen yi(⟨w⋅xi⟩+b)≥1y_i(\langle\mathbf w\cdot\mathbf x_i\rangle + b)\ge 1 bringt man in die Normalform gi≤0g_i \le 0:

gi(w,b)=1−yi(⟨w⋅xi⟩+b)≤0.g_i(\mathbf w, b) = 1 - y_i(\langle\mathbf w\cdot\mathbf x_i\rangle + b) \le 0.

Es gibt k=ℓk = \ell Ungleichheitsbedingungen und keine Gleichheitsbedingungen. Aktiv sind genau die Bedingungen der Supportvektoren (yif(xi)=1y_i f(\mathbf x_i) = 1), alle anderen sind inaktiv. Das ist eine sehr nützliche Übersetzung: Supportvektor = Punkt mit aktiver Nebenbedingung.

Lokale und globale Optima​

📄 08_svm.pdf, Folie 19
  • Ein zulässiger Punkt x∗∈Ω\mathbf x^*\in\Omega heißt globales Minimum, wenn für alle x∈Ω\mathbf x\in\Omega gilt: f(x∗)≤f(x)f(\mathbf x^*) \le f(\mathbf x).
  • Ein zulässiger Punkt x∗∈Ω\mathbf x^*\in\Omega heißt lokales Minimum, wenn es einen Radius r>0r \gt 0 gibt, sodass für alle x∈Ω\mathbf x\in\Omega mit ∥x∗−x∥<r\lVert\mathbf x^* - \mathbf x\rVert \lt r gilt: f(x∗)≤f(x)f(\mathbf x^*) \le f(\mathbf x).

Die Lösung des Optimierungsproblems ist ein globales Optimum.

Die Abbildung auf der Folie zeigt eine Funktion mit mehreren lokalen Minima. Wichtig: Durch die Einschränkung auf Ω\Omega können auch am Rand von Ω\Omega lokale Minima entstehen, an Stellen, an denen die Funktion ohne Nebenbedingung weiter fallen würde. Das sind genau die Fälle, in denen eine Nebenbedingung aktiv ist.

📄 08_svm.pdf, Folie 20

Das 3D-Beispiel zeigt eine unregelmäßige Funktion mit einer linearen Ungleichheitsbedingung (Halbebene) und einer linearen Gleichheitsbedingung (Gerade). Das globale Minimum mit Nebenbedingung liegt woanders als das ohne Nebenbedingung. Ein lokales Verfahren wie Gradientenabstieg würde bei so einer Funktion je nach Startpunkt in einem anderen lokalen Minimum landen.

Konvexe Mengen und konvexe Funktionen​

📄 08_svm.pdf, Folie 21

Die Optimierung wird erheblich leichter, wenn das Problem konvex ist.

Konvexe Menge (convex set)

Eine Menge XX heißt konvex, wenn für alle x,y∈X\mathbf x,\mathbf y\in X und beliebiges 0≤θ≤10\le\theta\le 1 gilt:

θx+(1−θ)y∈X.\theta\mathbf x + (1-\theta)\mathbf y \in X.

Intuitiv: Mit je zwei Punkten liegt auch die gesamte Verbindungsstrecke in der Menge. Der Ausdruck θx+(1−θ)y\theta\mathbf x + (1-\theta)\mathbf y durchläuft für θ\theta von 1 bis 0 genau die Strecke von x\mathbf x nach y\mathbf y. Eine Menge mit „Einbuchtung“ (wie das Polygon auf der Folie) ist nicht konvex.

Konvexe Funktion (convex function)

Eine Funktion ff heißt konvex, wenn für alle x,y\mathbf x,\mathbf y und beliebiges 0≤θ≤10\le\theta\le 1 gilt:

f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y).f(\theta\mathbf x + (1-\theta)\mathbf y) \le \theta f(\mathbf x) + (1-\theta) f(\mathbf y).

Intuitiv: Die Sehne zwischen zwei Punkten des Graphen liegt nie unterhalb des Graphen. Links steht der Funktionswert an einem Zwischenpunkt, rechts der Wert der Sehne an derselben Stelle. Die Funktion „hängt durch“ wie eine Schüssel.

Ergänzung: Für zweimal differenzierbare Funktionen einer Variablen ist ff genau dann konvex, wenn f′′(x)≥0f''(x)\ge 0 überall gilt. Im Mehrdimensionalen: Die Hesse-Matrix ist überall positiv semidefinit.

Quiz: Welche Mengen und Funktionen sind konvex?​

📄 08_svm.pdf, Folie 22 📄 08_svm.pdf, Folie 23

Die Folien enthalten zwei Bilderquiz ohne Auflösung. Die folgenden Lösungen sind meine Lesart der Bilder, nicht von den Folien.

Lösung Mengen (Folie 22)
Bildkonvex?Begründung
Sanddollar (Scheibe)jaKreisscheibe, keine Einbuchtung
Koralleneinverzweigt, Verbindungsstrecken verlassen die Menge
roter Edelstein (Achteck-Schliff)jakonvexes Polyeder
Seesternneinzwischen den Armen liegen Einbuchtungen
Schneeflockeneinverzweigte Struktur
Kristallkugel (facettiert)jakonvexes Polyeder, kugelähnlich
Lösung Funktionen (Folie 23)
PositionFormkonvex?
oben 1nach oben geöffnete Parabelja
oben 2Geradeja (lineare Funktionen sind konvex und konkav)
oben 3nach unten geöffnete Parabelnein (konkav)
oben 4geknickte Gerade, V-Formja (Maximum zweier linearer Funktionen, nicht differenzierbar, trotzdem konvex)
unten 1fallende, abflachende Kurveja
unten 2fallend mit Plateau und erneutem Abfallnein (Wendepunkte, Sehne liegt teilweise darunter)
unten 3zwei Mulden (W-Form)nein (zwei lokale Minima)
unten 4zwei Geradenstücke mit Sprungnein (Sprungstelle, eine konvexe Funktion ist im Inneren ihres Definitionsbereichs stetig)

Die V-Form (oben 4) ist besonders wichtig: Der Hinge-Loss in 6.6 hat genau so einen Knick und ist trotzdem konvex.

Eigenschaften konvexer Mengen und Funktionen​

📄 08_svm.pdf, Folie 24
Aussagegilt?Kurzbegründung (Ergänzung)
Schnittmengen konvexer Mengen sind konvex✔Liegen x,y\mathbf x,\mathbf y in allen Mengen, liegt auch die Strecke in jeder, also im Schnitt
Vereinigungen konvexer Mengen sind konvex✘ (nicht immer)Zwei getrennte Kreisscheiben: Die Strecke zwischen ihnen verlässt die Vereinigung
Summe zweier konvexer Funktionen ist konvex✔Ungleichungen addieren
Positives Vielfaches einer konvexen Funktion ist konvex✔Ungleichung mit c>0c \gt 0 multiplizieren, Richtung bleibt
Differenz zweier konvexer Funktionen ist konvex✘ (nicht immer)0−x2=−x20 - x^2 = -x^2 ist konkav
Ist ff konvex, so ist die Subniveaumenge {x∣f(x)≤0}\{\mathbf x \mid f(\mathbf x)\le 0\} konvex✔siehe unten

Beweis der letzten Aussage (Ergänzung): Seien f(x)≤0f(\mathbf x)\le 0 und f(y)≤0f(\mathbf y)\le 0. Dann ist

f(θx+(1−θ)y)≤θf(x)⏟≤0+(1−θ)f(y)⏟≤0≤0,f(\theta\mathbf x + (1-\theta)\mathbf y) \le \theta\underbrace{f(\mathbf x)}_{\le 0} + (1-\theta)\underbrace{f(\mathbf y)}_{\le 0} \le 0,

also liegt auch der Zwischenpunkt in der Menge.

Warum ist das wichtig? Ist jede Ungleichheitsbedingung gi(x)≤0g_i(\mathbf x)\le 0 mit konvexem gig_i gegeben, so ist jede einzelne zulässige Menge konvex und damit auch ihr Schnitt, der gesamte zulässige Bereich.

Beispiele für konvexe Funktionen​

📄 08_svm.pdf, Folie 25

Lineare Funktionen ⟨w⋅x⟩+b\langle\mathbf w\cdot\mathbf x\rangle + b sind konvex​

Man rechnet die Differenz „linke Seite minus rechte Seite“ der Definition aus:

f(θx+(1−θ)y)−(θf(x)+(1−θ)f(y))=⟨w⋅(θx+(1−θ)y)⟩+b−(θ(⟨w⋅x⟩+b)+(1−θ)(⟨w⋅y⟩+b))=⟨w⋅(θx+(1−θ)y)⟩+b−(⟨w⋅(θx+(1−θ)y)⟩+b)=0.\begin{aligned} &f(\theta\mathbf x + (1-\theta)\mathbf y) - \bigl(\theta f(\mathbf x) + (1-\theta) f(\mathbf y)\bigr)\\ &= \langle\mathbf w\cdot(\theta\mathbf x + (1-\theta)\mathbf y)\rangle + b - \bigl(\theta(\langle\mathbf w\cdot\mathbf x\rangle + b) + (1-\theta)(\langle\mathbf w\cdot\mathbf y\rangle + b)\bigr)\\ &= \langle\mathbf w\cdot(\theta\mathbf x + (1-\theta)\mathbf y)\rangle + b - \bigl(\langle\mathbf w\cdot(\theta\mathbf x + (1-\theta)\mathbf y)\rangle + b\bigr) = 0. \end{aligned}

Im zweiten Schritt wurde die Linearität des Skalarprodukts benutzt und θb+(1−θ)b=b\theta b + (1-\theta)b = b. Die Differenz ist 0≤00 \le 0, also gilt die Konvexitätsungleichung (sogar mit Gleichheit).

f(x)=x2f(x) = x^2 ist konvex​

f(θx+(1−θ)y)−(θf(x)+(1−θ)f(y))=(θx+(1−θ)y)2−(θx2+(1−θ)y2)=−θ(1−θ)(x2−2xy+y2)=−θ(1−θ)(x−y)2≤0.\begin{aligned} &f(\theta x + (1-\theta) y) - \bigl(\theta f(x) + (1-\theta) f(y)\bigr)\\ &= (\theta x + (1-\theta)y)^2 - \bigl(\theta x^2 + (1-\theta)y^2\bigr)\\ &= -\theta(1-\theta)(x^2 - 2xy + y^2) = -\theta(1-\theta)(x-y)^2 \le 0. \end{aligned}

Zwischenschritt (auf der Folie übersprungen): Ausmultiplizieren ergibt θ2x2+2θ(1−θ)xy+(1−θ)2y2−θx2−(1−θ)y2\theta^2x^2 + 2\theta(1-\theta)xy + (1-\theta)^2y^2 - \theta x^2 - (1-\theta)y^2. Wegen θ2−θ=−θ(1−θ)\theta^2 - \theta = -\theta(1-\theta) und (1−θ)2−(1−θ)=−θ(1−θ)(1-\theta)^2 - (1-\theta) = -\theta(1-\theta) fasst sich das zu −θ(1−θ)(x2−2xy+y2)-\theta(1-\theta)(x^2 - 2xy + y^2) zusammen. Da θ(1−θ)≥0\theta(1-\theta)\ge 0 für θ∈[0,1]\theta\in[0,1] und (x−y)2≥0(x-y)^2\ge 0, ist das Ergebnis ≤0\le 0.

f(x)=⟨x⋅x⟩f(\mathbf x) = \langle\mathbf x\cdot\mathbf x\rangle ist konvex​

Folgt aus der Konvexität von x2x^2 und ⟨x⋅x⟩=x12+x22+…\langle\mathbf x\cdot\mathbf x\rangle = x_1^2 + x_2^2 + \dots: Jeder Summand xj2x_j^2 ist konvex (als Funktion von x\mathbf x, die nur von einer Koordinate abhängt), und Summen konvexer Funktionen sind konvex.

Konvexe Optimierungsprobleme​

📄 08_svm.pdf, Folie 26
Satz

Wenn Ω\Omega eine konvexe Menge und ff eine konvexe Funktion ist, dann ist jedes lokale Minimum von ff ein globales Minimum über Ω\Omega.

Beweisidee (Ergänzung, nicht auf den Folien): Angenommen, x∗\mathbf x^* ist lokales, aber nicht globales Minimum. Dann gibt es ein y∈Ω\mathbf y\in\Omega mit f(y)<f(x∗)f(\mathbf y) \lt f(\mathbf x^*). Wegen der Konvexität von Ω\Omega liegt die ganze Strecke von x∗\mathbf x^* nach y\mathbf y in Ω\Omega. Wegen der Konvexität von ff gilt auf der Strecke

f(θy+(1−θ)x∗)≤θf(y)+(1−θ)f(x∗)<f(x∗)fu¨r 0<θ≤1.f(\theta\mathbf y + (1-\theta)\mathbf x^*) \le \theta f(\mathbf y) + (1-\theta) f(\mathbf x^*) \lt f(\mathbf x^*) \quad\text{für } 0\lt\theta\le 1.

Für beliebig kleines θ\theta gibt es also Punkte beliebig nahe an x∗\mathbf x^* mit kleinerem Funktionswert. Widerspruch zur lokalen Minimalität.

Konsequenzen:

  • Bei konvexen Problemen kann die Lösung mit lokalen Methoden (z.B. Gradientenabstieg) gefunden werden, ohne ganz Ω\Omega absuchen zu müssen.
  • Achtung: Der Satz sagt nicht, dass für jede konvexe Menge und jede konvexe Funktion ein Minimum existiert. Beispiel (Ergänzung): f(x)=exf(x) = e^x auf Ω=R\Omega = \mathbb R ist konvex, hat aber kein Minimum, die Funktion nähert sich nur der 0 an.
  • Unter bestimmten Bedingungen ist die Existenz garantiert, z.B. wenn Ω\Omega nichtleer und kompakt (abgeschlossen und beschränkt) und ff stetig ist (Satz von Weierstraß).

Ergänzung: Ist ff sogar strikt konvex (Ungleichung strikt für x≠y\mathbf x\neq\mathbf y und 0<θ<10\lt\theta\lt 1), ist das globale Minimum außerdem eindeutig. ⟨w⋅w⟩\langle\mathbf w\cdot\mathbf w\rangle ist strikt konvex, deshalb ist das optimale w\mathbf w der SVM eindeutig.

Ist die SVM-Optimierung konvex?​

📄 08_svm.pdf, Folie 27

Zur Erinnerung: minimiere f(w)=⟨w⋅w⟩f(\mathbf w) = \langle\mathbf w\cdot\mathbf w\rangle unter yi(⟨w⋅xi⟩+b)≥1y_i(\langle\mathbf w\cdot\mathbf x_i\rangle + b)\ge 1, i=1,…,ℓi = 1,\dots,\ell.

Schritt für Schritt:

  1. Die Zielfunktion w↦⟨w⋅w⟩\mathbf w\mapsto\langle\mathbf w\cdot\mathbf w\rangle ist konvex (s.o.) und stetig.
  2. Die Nebenbedingungen yi(⟨w⋅xi⟩+b)−1y_i(\langle\mathbf w\cdot\mathbf x_i\rangle + b) - 1 sind lineare Funktionen in (w,b)(\mathbf w, b) und damit ebenfalls konvex.
  3. Der durch jede Nebenbedingung definierte zulässige Bereich ist daher eine konvexe Menge, hier ein Halbraum im Parameterraum.
  4. Der gesamte zulässige Bereich ist eine Schnittmenge konvexer Mengen und damit selbst konvex.

Also: Die SVM ist ein konvexes Optimierungsproblem.

Fallstrick: In welchem Raum lebt der Halbraum?

Die Halbräume aus Schritt 3 liegen im Parameterraum der (w,b)(\mathbf w, b), nicht im Datenraum der x\mathbf x! Jeder Trainingspunkt xi\mathbf x_i schneidet einen Halbraum aus dem Raum aller möglichen Trennebenen heraus: die Menge der Ebenen, die xi\mathbf x_i mit ausreichendem Abstand richtig klassifizieren.

Merkmale der SVM​

📄 08_svm.pdf, Folie 28
  • Der SVM-Algorithmus ist ein konvexes Optimierungsproblem, d.h. jedes lokale Minimum ist eine Lösung.
  • Die Zielfunktion ist stetig, und (falls das Problem linear trennbar ist, der zulässige Bereich also nichtleer) ist die Existenz einer Lösung garantiert.
  • Im Vergleich zu traditionelleren konnektionistischen Ansätzen (z.B. MLPs, also mehrschichtigen neuronalen Netzen) ist die Konvexität ein entscheidender Vorteil: Man bleibt bei der Optimierung nicht in lokalen Minima hängen und findet immer das globale Minimum („Off-the-shelf“-Algorithmus: funktioniert ohne viel Feintuning).
  • Durch das Kriterium der maximalen Trennbreite ist die Wahrscheinlichkeit für Überanpassung gering, unabhängig von der Dimensionalität der Eingangsdaten. Die SVM ist daher auch auf hochdimensionale und (mit Kernen, Kapitel 7) nichtlineare Probleme anwendbar.
Anmerkung zur Existenzaussage

Die Folie begründet die Existenz damit, dass der zulässige Bereich „kompakt“ sei. Streng genommen ist der zulässige Bereich (ein Schnitt von Halbräumen) unbeschränkt und damit nicht kompakt: Man kann w\mathbf w beliebig groß machen und bleibt zulässig. Die Existenz folgt trotzdem: Wählt man einen zulässigen Punkt w0\mathbf w_0, so muss das Minimum in der Menge {w zula¨ssig∣⟨w⋅w⟩≤⟨w0⋅w0⟩}\{\mathbf w \text{ zulässig} \mid \langle\mathbf w\cdot\mathbf w\rangle \le \langle\mathbf w_0\cdot\mathbf w_0\rangle\} liegen, und die ist beschränkt und abgeschlossen. (Für bb braucht man ein ähnliches Argument, solange beide Klassen vorkommen.) Für die Prüfung reicht: konvex, stetig, nichtleer zulässig ⇒ Lösung existiert und ist global.