Was sind Support Vector Machines?

Support Vector Machines (SVM) sind Algorithmen basierend auf einem mathematischen Verfahren, welche zur Klassifizierung oder Regression von Objekten eingesetzt werden. Diese Objekte werden durch Datenpunkte repräsentiert. Für die Klassifizierung werden durch bestimmte Punktepaare parallel verlaufende Stützvektoren gebildet, die dem Verfahren ihren Namen geben. Die Stützvektoren mit dem größten Abstand trennen die Klassen voneinander ab.

Wo sind Support Vector Machines einzuordnen?

Ein Teilbereich der Künstlichen Intelligenz ist das maschinelle Lernen, welches sich in Supervised Learning und Unsupervised Learning aufgliedert. SVM gehören zu den Supervised Learning Algorithmen, welche auf einem Trainingsdatensatz, der die korrekte Klassifizierung der Datenpunkte bereits enthält, aufsetzten.

Diese Algorithmen werden in der Lernphase vorab mit dem Trainingsdatensatz auf das Klassifizieren bestimmter Objekte spezialisiert. In der darauf folgenden Anwendungsphase können die Algorithmen unbekannte Objekte klassifizieren. Je nach geforderter Genauigkeit der Ergebnisse kann die Lernphase beliebig oft mit weiteren Trainingsdaten wiederholt werden, um den Anteil an korrekt klassifizierten Objekten zu erhöhen.

Wie funktionieren Support Vector Machines?

SVM durchlaufen in der Lernphase folgende Schritte: Die Trainingsdaten werden anhand der Klassifizierung geteilt. Für beide Klassen werden die Positionen der Datenpunkte identifiziert und die Unterteilung in Punkte, welche sich am Rand einer Klasse befinden und Punkte, die von anderen Punkten derselben Klasse umgeben sind, vorgenommen. Nun werden die beiden Randpunkte aus den Klassen gefunden, welche den geringsten Abstand zueinander haben und es wird eine Gerade zwischen ihnen gezogen.

Durch diese Gerade wird mittig eine Senkrechte gezogen, welche so um den Schnittpunkt geneigt wird, dass sie die beiden Klassen korrekt unterteilt. Dabei wird der maximal mögliche Abstand zwischen der geneigten Senkrechte und allen anderen Randpunkten beider Klassen gebildet. Diese Ebene wird Hyperebene genannt. Die Stützvektoren sind die Parallelen der Hyperebene, die durch die Randpunkte mit dem geringsten Abstand gezogen werden.

Wie werden SVM eingesetzt?

SVM werden zur Klassifizierung von großen Datenmengen eingesetzt. Da dieses Verfahren einen hohen Rechenbedarf entwickeln kann, können sogenannte Schlupfvariablen zur Verbesserung der Performanz definiert werden. Diese dienen auch der Vermeidung von Überanpassung und lassen einzelne, falsch klassifizierte Datenpunkte zu.
Es ist möglich neben der linearen auch nicht-lineare Klassifizierungen vorzunehmen.

SVM für die nicht-lineare Klassifizierung sind mit der Kernel-Methode erweitert, welche durch die Berücksichtigung weiterer Dimensionen zu Ergebnissen kommen kann. Hierfür werden die Trainingsdaten so lange in einem höher-dimensionalen Raum überführt, bis eine lineare Hyperebene gebildet werden kann. Diese wird bei der Überführung in die ursprüngliche Dimension zu einer nicht-linearen Ebene, die Objekte korrekt klassifizieren kann.