Stützvektormaschine

Eine Stützvektormaschine (SVM) kann sowohl zur Klassifikation als auch zur Regression genutzt werden. Gerade hinsichtlich Klassifikationsaufgaben ist die SVM ein häufig eingesetztes Werkzeug.

Grundsätzlich ist das Ziel einer SVM eine Hyperebene in einem N-dimensionalen Raum zu finden, wobei der Abstand des nahegelegensten Datenpunktes zur Ebene maximiert wird. Eine Hyperebene kann den Raum nur linear separieren (auch lineare SVM genannt). Durch den sogenannten Kernel-Trick wird auch eine nichtlineare Trennung möglich (auch Kernel-SVM genannt). Hierbei wird der N-dimensionale Raum in einen höherdimensionalen Raum transformiert. In einem entsprechend hochdimensionalen Raum ist eine lineare Trennung mit einer Hyperebene möglich.

Wenn mehrere Klassen zu unterscheiden sind, werden intern mehrere Stützvektormaschinen erzeugt und es erfolgt eine Einordnung durch Vergleiche. Ebenso ist eine One-Class-SVM trainerbar, welche zur Anomalie-Erkennung eingesetzt werden kann.

Unterstützte Eigenschaften

ONNX-Support

Unterstützt werden die ONNX-Operatoren:

Unterstützte Kernel-Funktionen sind in der folgenden Tabelle aufgeführt:

Kernel-Funktion

Beschreibung

Linear

Stützvektormaschine 1:

Radial Basis Function (RBF)

Stützvektormaschine 2:

Sigmoid

Stützvektormaschine 3:

Polynomial

Stützvektormaschine 4:

Beispiele für den Export von SVMs als ONNX, siehe ONNX Export einer SVM.

Stützvektormaschine 5:

Einschränkung bei Klassifikation

Bei Klassifikationsmodellen wird nur der Ausgang der Labels in der SPS abgebildet. Die Scores/Probabilities sind in der SPS nicht verfügbar.

Unterstützte Datentypen

Es ist zu unterscheiden zwischen „supported datatype“ und „preferred datatype“. Der preferred datatype entspricht der Präzision der Ausführungs-Engine.

Der preferred datatype ist floating point 64 (E_MLLDT_FP64-LREAL).

Bei Verwendung eines supported datatype wird eine effiziente Typ-Konvertierung automatisch in der Bibliothek durchgeführt. Durch die Typ-Konvertierung kann es zu minimalen Performance-Einbußen kommen.

Eine Liste der supported datatypes finden Sie unter ETcMllDataType.