AI 101
Was sind Support-Vektor-Maschinen?
Was sind Support-Vektor-Maschinen?
Support-Vektor-Maschinen sind eine Art Klassifikator für maschinelles Lernen und wohl eine der beliebtesten Arten von Klassifikatoren. Support-Vektor-Maschinen sind besonders nützlich für numerische Vorhersage-, Klassifizierungs- und Mustererkennungsaufgaben.
Support-Vektor-Maschinen zeichnen Entscheidungsgrenzen zwischen Datenpunkten und streben nach der Entscheidungsgrenze, die die Datenpunkte am besten in Klassen unterteilt (oder am besten verallgemeinerbar ist). Das Ziel bei der Verwendung einer Support-Vektor-Maschine besteht darin, dass die Entscheidungsgrenze zwischen den Punkten so groß wie möglich ist, sodass der Abstand zwischen einem beliebigen Datenpunkt und der Grenzlinie maximiert wird. Das ist eine kurze Erklärung, wie Support-Vektor-Maschinen (SVMs) Aber nehmen wir uns etwas Zeit, um tiefer in die Funktionsweise von SVMs einzutauchen und die Logik hinter ihrer Funktionsweise zu verstehen.
Ziel von Support-Vektor-Maschinen
Stellen Sie sich ein Diagramm mit einer Reihe von Datenpunkten vor, die auf durch die X- und Y-Achse angegebenen Merkmalen basieren. Die Datenpunkte im Diagramm können grob in zwei verschiedene Cluster unterteilt werden, und der Cluster, zu dem ein Datenpunkt gehört, gibt die Klasse des Datenpunkts an. Nehmen wir nun an, dass wir eine Linie entlang des Diagramms zeichnen möchten, die die beiden Klassen voneinander trennt, wobei alle Datenpunkte einer Klasse auf der einen Seite der Linie und alle Datenpunkte einer anderen Klasse auf der anderen Seite liegen der Linie. Diese Trennlinie wird als Hyperebene bezeichnet.
Man kann sich eine Support-Vektor-Maschine so vorstellen, dass sie „Straßen“ durch eine Stadt schafft und die Stadt auf beiden Seiten der Straße in Bezirke unterteilt. Alle Gebäude (Datenpunkte), die auf einer Straßenseite gefunden werden, gehören zu einem Bezirk.

Das Ziel einer Support-Vektor-Maschine besteht nicht nur darin, Hyperebenen zu zeichnen und Datenpunkte zu teilen, sondern auch darin, die Hyperebene zu zeichnen, die Datenpunkte mit dem größten Abstand oder mit dem größten Abstand zwischen der Trennlinie und einem bestimmten Datenpunkt trennt. Um auf die Metapher „Straßen“ zurückzukommen: Wenn ein Stadtplaner Pläne für eine Autobahn entwirft, möchte er nicht, dass die Autobahn zu nahe an Häusern oder anderen Gebäuden liegt. Je größer der Abstand zwischen der Autobahn und den Gebäuden auf beiden Seiten ist, desto besser. Je größer dieser Spielraum ist, desto „zuversichtlicher“ kann der Klassifikator in Bezug auf seine Vorhersagen sein. Im Fall der binären Klassifizierung bedeutet das Zeichnen der richtigen Hyperebene, dass eine Hyperebene ausgewählt wird, die genau in der Mitte der beiden verschiedenen Klassen liegt. Wenn die Entscheidungsgrenze/Hyperebene weiter von einer Klasse entfernt ist, liegt sie näher an einer anderen. Daher muss die Hyperebene den Spielraum zwischen den beiden verschiedenen Klassen ausgleichen.
Berechnung der trennenden Hyperebene
Wie bestimmt eine Support-Vektor-Maschine die beste trennende Hyperebene/Entscheidungsgrenze? Dies wird durch die Berechnung möglicher Hyperebenen mithilfe einer mathematischen Formel erreicht. Auf die Formel zur Berechnung von Hyperebenen gehen wir nicht ein bis ins kleinste Detail, aber die Linie wird mit der berühmten Steigungs-/Linienformel berechnet:
Y = Axt + B
Mittlerweile bestehen Linien aus Punkten, was bedeutet, dass jede Hyperebene wie folgt beschrieben werden kann: die Menge von Punkten, die parallel zur vorgeschlagenen Hyperebene verlaufen, bestimmt durch die Gewichte des Modells multipliziert mit der Menge von Features, die um einen angegebenen Versatz/Bias geändert wurden ("D").
SVMs zeichnen viele Hyperebenen. Die Grenzlinie ist beispielsweise eine Hyperebene, aber die Datenpunkte, die der Klassifikator berücksichtigt, liegen auch auf Hyperebenen. Die Werte für x werden basierend auf den Merkmalen im Datensatz bestimmt. Wenn Sie beispielsweise einen Datensatz mit den Größen und Gewichten vieler Menschen hätten, würden die Merkmale „Größe“ und „Gewicht“ zur Berechnung des „X“ verwendet. Die Abstände zwischen der vorgeschlagenen Hyperebene und den verschiedenen „Unterstützungsvektoren“ (Datenpunkten), die sich auf beiden Seiten der trennenden Hyperebene befinden, werden mit der folgenden Formel berechnet:
W * X – geb
Während Sie mehr über die Mathematik hinter SVMs lesen können, sollten Sie, wenn Sie nach einem intuitiveren Verständnis von ihnen suchen, einfach wissen, dass das Ziel darin besteht, den Abstand zwischen der vorgeschlagenen trennenden Hyperebene/Grenzlinie und den anderen Hyperebenen, die parallel dazu verlaufen, zu maximieren ( und auf dem sich die Datenpunkte befinden).

Foto: ZackWeinberg über Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)
Mehrklassenklassifizierung
Der bisher beschriebene Prozess gilt für binäre Klassifizierungsaufgaben. SVM-Klassifikatoren können jedoch auch für nicht-binäre Klassifizierungsaufgaben verwendet werden. Bei der SVM-Klassifizierung eines Datensatzes mit drei oder mehr Klassen werden mehr Grenzlinien verwendet. Wenn eine Klassifizierungsaufgabe beispielsweise drei statt zwei Klassen hat, werden zwei Trennlinien verwendet, um Datenpunkte in Klassen zu unterteilen, und der Bereich, der eine einzelne Klasse umfasst, liegt zwischen zwei Trennlinien statt einer. Anstatt nur den Abstand zwischen nur zwei Klassen und einer Entscheidungsgrenze zu berechnen, muss der Klassifikator nun die Abstände zwischen den Entscheidungsgrenzen und den mehreren Klassen im Datensatz berücksichtigen.
Nichtlineare Trennungen
Das oben beschriebene Verfahren gilt für Fälle, in denen die Daten linear separierbar sind. Beachten Sie, dass Datensätze in der Realität fast nie vollständig linear separierbar sind. Daher müssen Sie bei der Verwendung eines SVM-Klassifikators häufig zwei verschiedene Techniken anwenden: Soft-Marge- und Kernel-Tricks. Stellen Sie sich eine Situation vor, in der Datenpunkte verschiedener Klassen gemischt sind und einige Instanzen zu einer Klasse im „Cluster“ einer anderen Klasse gehören. Wie könnte der Klassifikator diese Fälle verarbeiten?
Eine Taktik, die zur Verarbeitung nichtlinear trennbarer Datensätze verwendet werden kann, ist die Anwendung eines „Soft Margin“-SVM-Klassifikators. Ein Soft-Margin-Klassifikator funktioniert, indem er einige falsch klassifizierte Datenpunkte akzeptiert. Es wird versucht, eine Linie zu zeichnen, die die Cluster von Datenpunkten am besten voneinander trennt, da sie die Mehrheit der Instanzen enthalten, die zu ihren jeweiligen Klassen gehören. Der SVM-Klassifikator mit weicher Marge versucht, eine Trennlinie zu schaffen, die die beiden Anforderungen des Klassifikators in Einklang bringt: Genauigkeit und Marge. Es wird versucht, die Fehlklassifizierung zu minimieren und gleichzeitig die Marge zu maximieren.
Die Fehlertoleranz der SVM kann durch Manipulation eines Hyperparameters namens „C“ angepasst werden. Der C-Wert steuert Wie viele Unterstützungsvektoren berücksichtigt der Klassifikator beim Zeichnen von Entscheidungsgrenzen? Der C-Wert ist eine Strafe, die auf Fehlklassifizierungen angewendet wird. Das heißt, je größer der C-Wert, desto weniger Unterstützungsvektoren berücksichtigt der Klassifikator und desto kleiner ist der Spielraum.

Der Kernel betrügt die Daten und wandelt sie auf nichtlineare Weise um. Foto: Shiyu Ju über Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)
Der Kernel-Trick funktioniert durch die Anwendung nichtlinearer Transformationen auf die Features im Datensatz. Der Kernel-Trick übernimmt die vorhandenen Features im Datensatz und erstellt durch die Anwendung nichtlinearer mathematischer Funktionen neue Features. Das Ergebnis der Anwendung dieser nichtlinearen Transformationen ist eine nichtlineare Entscheidungsgrenze. Da der SVM-Klassifikator nicht mehr auf das Zeichnen linearer Entscheidungsgrenzen beschränkt ist, kann er mit dem Zeichnen gekrümmter Entscheidungsgrenzen beginnen, die die wahre Verteilung der Unterstützungsvektoren besser abbilden und Fehlklassifizierungen auf ein Minimum reduzieren. Zwei der beliebtesten nichtlinearen SVM-Kernel sind Radial Basis Function und Polynomial. Die Polynomfunktion erstellt Polynomkombinationen aller vorhandenen Features, während die Radialbasisfunktion neue Features generiert, indem sie den Abstand zwischen einem zentralen Punkt/Punkten und allen anderen Punkten misst.












