Kurs:Maschinelles Lernen/Klassifikation mittels Support Vector Machines: Unterschied zwischen den Versionen
imported>Bert Niehaus |
(kein Unterschied)
|
Aktuelle Version vom 19. August 2024, 09:15 Uhr
Vorherige Seite: K3 - Klassifikation mittels Gradientenabstieg
Nächste Seite : K4 - Grundidee der Neuronalen Netze
Grundidee
Die Klassifikation mittels Gradientenabstieg sucht nach einer Lösung, die den Grundraum (Vektorraum) in Klassen zerlegt. Es lässt sich allerdings auch die Frage stellen, ob die gefundene Lösung die beste Klassifikationsmöglichkeit für die Trainingsdaten ist.
Optimierung und Klassifikation
Um dieser Frage nachzugehen, kann die Priorität der Optimierung geändert werden. Statt nach einer Lösung zu suchen, die vollständig und konsistent klassifiziert und das empirische Risiko minimiert, kann nach einer Lösung gesucht werden, die den Abstand zwischen den beiden Klassen maximiert und vollständig und konsistent klassifiziert.
Binäre Klassifikation
Bei einer binären Klassifikation gibt es genau 2 Klassen und Trainingsdaten werden genau einer Klasse zugeordnet.
Hyperebene zur Trennung der Klassen
Nach Möglichkeit soll bei dieser binären Klassifikation eine -dimensionale Hyperebene gefunden werden, wobei die Hyperebene den Grundraum in zwei Halbräume zerlegt. Die Hyperebene trennt die beiden Klassen vollständig, wenn für
- mit gilt
- mit gilt
Lineare Trennbarkeit
Zwei
Namensgebung - Support Vector bzw. Stützvektor
Da diese beiden Punkte sozusagen als Stützvektoren für das festlegen der gesuchten Hyperebene dienen wird diese Methode als Support Vector Machines bezeichnet.
Hyperebene

Darstellung eines affinen Unterraumes aus dem mit Stützvektor .
Zerlegung in Klassen mit einer Hyperbene
Damit wird ein Punkt der Menge über das Skalarprodukt zugeordnet, wenn
gilt, während er im Fall
der Menge zugeordnet wird.
Normalenvektor
- ist der Normalenvektor zur Hyperebene,
- ist der Stützvektor zu einem Punkt des affinen Unterraumes.
Vektoren aus der Hyperebene
Für den Fall liegt der Vektor genau in der durch den Normalenvektor und den Stützvektor definierten Hyperebene.
Skalarprodukt als Maß für den Abstand zu Hyperebene
Die affine Abbildung stellt ein Messinstrument für Trennung in zwei Klassen durch eine Hyperbene dar:
- mit liegt in der Hyperebene
- mit liegt in der Klasse
- mit liegt in der Klasse
Epsilonumgebung um eine Hyperebene
Im Allgemeinen würde man erwarten, dass für verrauschte Traingsdaten , die bzw. klassifziert sind, eine falsche Zuordnung mit in der Nähe der Hyperebene häufiger auftritt. Man kann das durch eine -Umgebung um die Hyperebene.
Damit wird ein Punkt der Menge über das Skalarprodukt zugeordnet, wenn
gilt, während er im Fall
der Menge zugeordnet wird.
Signumfunktion für die Klassifizierung
Mit der reelle Vorzeichenfunktion (Signumfunktion) kann man nun die Klassifizierung aller Vektoren aus dem Grundraum über den Wert der -Funktion aus festlegen:
Vorzeichen beim Skalarprodukt als Klassifizierungsmerkmal
Die Klassifizierung mit einer Maschine zum Zeitpunkt erfolgt dann über:
Bemerkung - Zeitindex
Die Maschine hat einen Index , da sich die Klassifizierung mit der Zeit durch einen Lernprozess und zusätzliche Trainingsdaten veränder kann.
Hyperebenenvektoren eindeutig zuordnen
Mit der Signumfunktion werden Vektoren aus der trennenden Hyperebene . Für diesen Fall sollte man noch eine Festlegung treffen, zu welcher Menge dann der Vektor zugeordnet wird oder ob solche Vektoren keine Klasse zugeordnet werden.
Außerhalb einer Umgebung um die Hyperebene
Die folgende Gleichung beschreibt, das ein Vektor dem Halbraum zugeordnet wird und mindestens einen euklischen Abstand von von der Hyperebene besitzt. Dies beschreibt
Den analogen Fall für die Zuordnung eines Vektors zu dem Halbraum erhält man folgende Gleichung:
Epsilonumgebung der Hyperebene
Gilt , so entsteht eine -Umgebung durch Parallelverschiebung der Hyperebene in Richtung des Normalenvektors und . Die eingeschlossenen Punkte der Umgebung um die Hyperebene können algebraisch wie folgt dargestellt werden:
Umformung mit Skalarprodukt als Bilinearform
Mit Anpassung des Normalenvektors und den Eigenschaften des Skalarproduktes als Bilinearform kann man die Gleichung auch wie folgt ausdrücken:
Korrektheit der Klassifizierung
Werden insgesamt alle Datenpunkte korrekt und vollständig klassifiziert, wenn für alle und , wenn das Vorzeichen von und das Vorzeichen von übereinstimmen.
Korrektheit - unvollständig
Die Korrektheit der Klassifizierung trifft im Allgemeinen nur für Datenpunkte außerhalb von eine -Umgebung der Hyperebene zu. Dies wird durch den folgenden Zusammenhang beschrieben.
Parameterreduktion
Der Stützvektor besitzt unbekannte Parameter. Durch die Nutzung der Linearität in der zweiten Komponente des Skalarproduktes kann man die Anzahl der Parameter bei Ersetzung durch um reduzieren.
Korrektheitsüberprüfung - Skalarprodukt und Klassenzuordnung
Durch die Multiplikation mit entsteht bei einer korrekten Zuordnung von zu den Halbräumen bzw. ein positiver Wert und bei falscher Zuordnung einer negatives Produkt.
Breite der Umgebung
Die Breite der -Umgebung um die Trennebene, in der man falsch zugeordneten findet, sollte auf der einen Seite möglichst klein sein. Betrachtet man die -Umgebung um die Trennebene, in der man keine Trainingsdaten einer Klasse zugeordnet werden, sollte möglichst groß sein, da bei minimaler Veränderung der zu in in der Nähe der Hyperebene bereits die Zuordnung zur Klasse verändern kann. Das macht die Klassifikation weniger robust gegenüber verrauschten Daten.
Fehlerfunktion
Wenn die Hyperbene den Raum in zwei Halbräume zerlegt. Wenn sich ein falsch zugeordneten Vektor der Hyperebene annähern, soll eine Fehlerfunktion kleiner werden. Wenn sich ein korrekt zugeordneter Vektor auf die Hyperbene zuberewegt (also der Abstand in Richtung des Normalenvektor) annimmt, soll der Fehler größer werden, da die Annäherung für Trennungseigenschaft in Halbräume ungünstiger ist. Mit einer sigmoiden Funktion mit Werten zwischen 0 und +1 kann man diesen Fehler umsetzen in einer Fehlerfunktion.
Einzelfehler
Die Werte des Skalarproduktes von Datenvektoren mit dem Normalen geben über das Vorzeichen an, wie das Skalarprodukt die Klasse bzw. . Für Trainingsdaten kand man Produkt aus Skalarprodukt und der Klasszuordnung bestimmt. Bei korrekter Zugeordnung der Daten durch das Skalarprodukt ist der folgende Ausdruck positiv (bei falscher negativ).
- .
Beispiel - Klassifizierung Datenpaar
Trainingsdaten der Form bestehen aus einem Vektor und Klassfizierung zu .
- (korrekte Zuordnung 1) mit .
- (korrekte Zuordnung 2) mit .
- (falsche Zuordnung 3) mit .
Sigmoide Funktion

Die folgende sigmoide Funktion hat folgende Eigenschaften
Man für große positive Werte von soll der Fehler allerdings sehr klein sein und für eine Datenpaar mit negativen Werten soll der Wert pro Datenpaar nahe bei 1 liegen und eine Fehler für einen einzelnen Wert erzeugen.
Sigmoide Funktion für den Fehler
Geht man zur Funktion über, erhält man
und es gilt und .
Ableitung der sigmoiden Funktion
Die Ableitung der sigmoiden Funktion ist für die partielle Ableitung der Fehlerfunktion relevant.
Einzelfehler für einen Datensatz - 1
Der Einzelfehler für eine Datensatz wird über die sigmoide Funktion . Diese sorgt dafür, dass weit von der Hyperebene entfernte korrekt zugeordnete Datensätze nahe bei 0 Fehler gewichtet werden und weit von der Hyperebene entfernte falsch zugeordnete Datensätze eine Fehler gegen 1 konvergiert.
Einzelfehler für einen Datensatz - 2
Wenn man den initiale Supportvektor nicht Konvexkombination der Clustermitten setzt und den angepassten Supportvektor nicht für weitere Verarbeitungsschritte benötigt, kann man die freien Parameter für den Gradienten über die sigmoide Funktion auch wie folgt berechnen, in dem man die Parameter durch eine Parameter ersetzt.
Graph der sigmoiden Funktion
Definition der Fehlerfunktion
Für die Berechnung des Gesamtfehlers der muss man die Einzelfehler über alle Datenpunkte aggregieren. Die Daten für die mehrdimensionale lineare Regression bestehen aus Datenpunkten der Form :
Berechnung für die Komponenten Funktion
Durch die Zerlegung in Komponentenfunktionen minimiert man den Fehler für jeden Zeile der Matrix separat. Der folgende Gesamtfehler bezieht sich daher auf die Funktion für ein gesuchtes mit minimalem Gesamtfehler für die Daten .
Berechnung des Gesamtfehlers - 1
Für die Berechnung des Gesamtfehlers werden die quadratischen Fehler für einzelne Datenpunkte aufsummiert mit und .
Lagrange-Funktion und deren Optimierung
Die Lagrange-Funktion soll dazu dienen zu minimieren. Eine einfache und (wegen Gradientenabstieg) auch differenzierbare Funktion, ist eine quadrierte Länge des Vektors:
Ziel - maximale Margin
Da es das Ziel ist, einen maximalen Margin zu finden, kann dies äquivalent umformuliert werden, zu dem Ziel ein minimales bzw. zu finden, während alle Datenpunkte vollständig und konsistent klassifiziert werden. Dies kann durch ein Optimierungsproblem mittels einer Lagrange-Funktion gelöst werden.
Nebenbedingung - Langrangemultiplikatoren
Allerdings sollen noch Nebenbedingungen erfüllt werden. Nämlich die vollständige und konsistente Klassifikation der Datenpunkte. Dazu können für jede Nebenbedingung die nicht negativen Lagrange-Multiplikatoren
eingeführt werden.
Multiplikatoren für richtige und falsche Klassifikationen
Bei einer richtigen Klassifikation des Datenpaars ist der Ausdruck
positiv. Es lässt sich motivieren, dass eine richtige Klassifikation "belohnt" werden muss. Da ein Minimum gesucht werden soll, sollte dieser Ausdruck bei einem richtig klassifizierten Ausdruck also abgezogen werden. Bei einer falschen Klassifikation ist dieser Ausdruck negativ und der Betrag des Ausdrucks sollte addiert werden, um die Fehlklassifkation zu "bestrafen".
Bemerkung - Fehlerfunktion
Auf diese weise lässt sich die Lagrange-Funktion in der Form
finden. Die Größe der Lagrange-Multiplikatoren hängt damit zusammen, wie stark ein bestimmter Datenpunkt ins Gewicht fällt. Da die Hyperebene durch möglichst wenig Datenpunkte, am besten durch die zwei, die der Hyperebene am nächsten liegen, bestimmt werden soll, werden viele der Null werden. In diesem Fall wird die Lagrange-Funktion aber größer.
Des bedeutet, es wird von der Lagrange-Funktion ein Minimum bezüglich und gesucht, aber ein Maximum bezüglich der .
Um das Minimum bezüglich und zu finden, kann wieder die erste Ableitung gesucht und auf Null gesetzt werden, womit sich die beiden Bedingungen
und
ergeben. Damit zeigt sich, dass bei bekannten der Normalenvektor direkt aus den Datenpunkten bestimmt werden kann. die müssen dazu aber die Nebenbdeingung erfüllen. Aus den obigen Gleichungen für die Punkte und lässt sich auch herleiten, dass durch die Gleichung
bestimmt werden können muss. Das bedeutet, alles was bleibt, ist die Lagrange-Multiplikatoren zu bestimmen.
Dazu wird das sog. Duale Problem formuliert. Bei diesem wird nach einem Extremum bzgl. unter der Nebenbedingung einer Minimierung von bzgl. und gesucht. Das bedeutet, in die obige Lagrange-Funktion können die gefundenen Bedingungen an und eingesetzt werden, um so eine Lagrange-Funktion bzgl. der zu erhalten. Auf diese Weise wird die duale Lagrange-Funktion
erhalten. Die Suche nach einer Extremstelle dieser führt auf die Bedingung
welche nur erfüllt werden kann, wenn nicht alle Null sind. Daneben müssen die die Nebenbedingung erfüllen, während gilt. In der Praxis werden die auch häufig nach oben beschränkt.
Feature Engineering und Kernel-Funktionen
Auch hier lassen sich nicht linear separable Daten durch ein Feature Engineering mit einer passenden Feature Map
mit der oben beschriebenen Methode behandeln. Alerdings kann für die duale Lagrange-Funktion
so der Gradient
gefunden werden. Da es sich bei um ein Skalarprodukt im statt im handelt, ist dieses wesentlich ressourcen- und damit zeitintensiver. Stattdessen wird häufig eine sog. Kernelfunktion
eingeführt. Mit ihr wird der Gradient der dualen Lagrange-Funktion
durch
bestimmt.
Drei der am häufigsten Kernelfunktionen sind durch
gegeben. Darin sind und positive Konstanten und eine weiter festzulegende Funktion.
Seiteninformation
Diese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.
Wiki2Reveal
Dieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Kurs:Maschinelles Lernen' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.
- Die Seite wurde als Dokumententyp PanDocElectron-SLIDE erstellt.
- Link zur Quelle in Wikiversity: https://de.wikiversity.org/wiki/Kurs:Maschinelles%20Lernen/Klassifikation%20mittels%20Support%20Vector%20Machines
- siehe auch weitere Informationen zu Wiki2Reveal und unter Wiki2Reveal-Linkgenerator.