Einklassige Support Vector Machine
Wichtig
Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.
Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.
- Siehe Migrieren zu Azure Machine Learning
- Weitere Informationen zu Azure Machine Learning.
Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.
Erstellt ein einklassiges Support Vector Machine-Modell für die Erkennung von Anomalien.
Kategorie: Anomalieerkennung
Hinweis
Gilt nur für: Machine Learning Studio (klassisch)
Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.
Modulübersicht
In diesem Artikel wird beschrieben, wie Sie das Modul One-Class Support Vector Model in Machine Learning Studio (klassisch) verwenden, um ein Anomalieerkennungsmodell zu erstellen.
Dieses Modul ist besonders nützlich in Szenarien, in denen Sie über viele "normale" Daten und nicht über viele Fälle der Anomalien verfügen, die Sie erkennen möchten. Wenn Sie z. B. betrügerische Transaktionen erkennen müssen, haben Sie möglicherweise nicht viele Beispiele für Betrug, die Sie zum Trainieren eines typischen Klassifizierungsmodells verwenden könnten, aber möglicherweise haben Sie viele Beispiele für gute Transaktionen.
Sie verwenden das Modul One-Class Support Vector Model , um das Modell zu erstellen, und trainieren das Modell dann mithilfe des Modells zum Trainieren der Anomalieerkennung. Das Dataset, das Sie für das Training verwenden, kann alle oder größtenteils normale Fälle enthalten.
Anschließend können Sie verschiedene Metriken anwenden, um potenzielle Anomalien zu identifizieren. Beispielsweise können Sie ein großes Dataset mit guten Transaktionen verwenden, um Fälle zu identifizieren, die möglicherweise betrügerische Transaktionen darstellen.
Weitere Informationen zu einer Klassen-SVM
Support Vector Machines (SVMs) sind überwachte Lernmodelle, die Daten analysieren und Muster erkennen und sowohl für Klassifizierungs- als auch Regressionsaufgaben verwendet werden können.
In der Regel erhält der SVM-Algorithmus eine Reihe von Trainingsbeispielen, die als zu einer von zwei Klassen gehörend bezeichnet werden. Ein SVM-Modell basiert auf der Unterteilung der Trainingsbeispielpunkte in separate Kategorien durch eine möglichst breite Lücke, während Trainingsbeispiele, die auf der falschen Seite der Lücke liegen, gefährdet werden. Das SVM-Modell trifft dann Vorhersagen, indem es einer Seite der Lücke oder der anderen Punkte zuweist.
Manchmal wird Übersampling verwendet, um die vorhandenen Stichproben zu replizieren, sodass Sie ein Zwei-Klassen-Modell erstellen können, aber es ist unmöglich, alle neuen Muster von Betrugs- oder Systemfehlern anhand eingeschränkter Beispiele vorherzusagen. Darüber hinaus kann das Sammeln selbst einer begrenzte Anzahl von Beispielen hohe Kosten verursachen.
Daher wird das Unterstützungsvektormodell in svm mit einer Klasse mit Daten trainiert, die nur über eine Klasse , die "normale" Klasse, verfügt. Sie leitet die Eigenschaften normaler Fälle ab und kann anhand dieser Eigenschaften vorhersagen, welche Beispiele im Gegensatz zu den normalen Beispielen sind. Dies ist nützlich für die Anomalieerkennung, da die Fälligkeit von Trainingsbeispielen Anomalien definiert: Das heißt, in der Regel gibt es nur sehr wenige Beispiele für Netzwerkangriffe, Betrug oder andere anomale Verhaltensweisen.
Weitere Informationen, einschließlich Links zur Grundlagenforschung, finden Sie im Abschnitt Technische Hinweise .
Hinweis
Mit dem Modul One-Class Support Vector Model wird ein Kernel-SVM-Modell erstellt, was bedeutet, dass es nicht sehr skalierbar ist. Wenn die Trainingszeit begrenzt ist oder Sie zu viele Daten haben, können Sie andere Methoden für Anomalieerkennungen verwenden, z. B. pca-basierte Anomalieerkennung.
Konfigurieren von One-Class SVM
Fügen Sie ihrem Experiment in Studio (klassisch) das Modul One-Class Support Vector Model hinzu. Sie finden das Modul unter Machine Learning – Initialisieren in der Kategorie Anomalieerkennung.
Doppelklicken Sie auf das Modul One-Class Support Vector Model , um den Bereich Eigenschaften zu öffnen.
Wählen Sie unter Trainermodus erstellen eine Option aus, die angibt, wie das Modell trainiert werden soll:
Single Parameter (Einzelner Parameter): Verwenden Sie diese Option, wenn Sie wissen, wie Sie das Modell konfigurieren möchten, und geben Sie einen bestimmten Satz von Werten als Argumente an.
Parameterbereich: Verwenden Sie diese Option, wenn Sie nicht sicher sind, welche Parameter am besten geeignet sind, und einen Parameter sweep ausführen möchten, um die optimale Konfiguration zu finden.
η: Geben Sie einen Wert ein, der die Obergrenze für den Bruchteil der Ausreißer darstellt. Dieser Parameter entspricht der in diesem Dokument beschriebenen nu-eigenschaft. Mit der nu-eigenschaft können Sie den Ausgleich zwischen Ausreißern und normalen Fällen steuern.
ε (epsilon): Geben Sie einen Wert ein, der als Beendigungstoleranz verwendet werden soll. Die Beendigungstoleranz wirkt sich auf die Anzahl der Iterationen aus, die bei der Optimierung des Modells verwendet werden, und hängt vom Wert des Beendigungskriteriums ab. Wenn der Wert überschritten wird, beendet der Trainer das Iterieren einer Lösung.
Stellen Sie eine Verbindung eines Trainingsdatasets mit einem der Trainingsmodule her:
- Wenn Sie Create trainer mode (Trainermodus erstellen ) auf Single Parameter (Einzelner Parameter) festlegen, verwenden Sie das Modul Train Anomaly Detection Model (Modell zur Erkennung von Anomalien trainieren).
- Wenn Sie Create trainer mode (Trainermodus erstellen) auf Parameter Range (Parameterbereich) festlegen, verwenden Sie das Modul Tune Model Hyperparameters (Abstimmen der Hyperparameter des Modells).
Hinweis
Wenn Sie einen Parameterbereich an Train Anomaly Detection Model übergeben, wird nur der erste Wert in der Parameterbereichsliste verwendet.
Wenn Sie eine einzelne Reihe bestimmter Parameterwerte an das Modul Tune Model Hyperparameters übergeben und ein Bereich von Einstellungen für jeden Parameter erwartet wird, werden die Werte ignoriert und stattdessen die Standardwerte für den Learner verwendet.
Wenn Sie die Option Parameterbereich auswählen und einen einzelnen Wert für jeden Parameter eingeben, wird dieser einzelne Wert während des gesamten Sweepings verwendet, auch wenn sich andere Parameter über einen Wertebereich hinweg ändern.
Führen Sie das Experiment aus.
Ergebnisse
Das Modul gibt ein trainiertes Anomalieerkennungsmodell zurück. Sie können das Modell entweder in Ihrem Arbeitsbereich speichern oder das Modul Score Model verbinden und das trainierte Modell verwenden, um mögliche Anomalien zu erkennen.
Wenn Sie das Modell mithilfe eines Parameter-Sweepings trainiert haben, notieren Sie sich die optimalen Parametereinstellungen, die beim Konfigurieren eines Modells für die Verwendung in der Produktion verwendet werden sollen.
Beispiele
Beispiele für die Verwendung dieses Moduls bei der Anomalieerkennung finden Sie im Azure KI-Katalog:
- Anomalieerkennung: Kreditrisiko: In diesem Beispiel wird veranschaulicht, wie Ausreißer in Daten mithilfe einer Parameter-Sweepung ermittelt werden, um das optimale Modell zu finden. Anschließend wird dieses Modell auf neue Daten angewendet, um riskante Transaktionen zu identifizieren, die einen Betrug darstellen könnten, und vergleicht zwei verschiedene Anomalieerkennungsmodelle.
Technische Hinweise
Vorhersagen der einklassigen SVM sind uncalibrierte Bewertungen, die möglicherweise ungebunden sind. Wie das Beispiel im Cortana Intelligence Gallery zeigt, sollten Sie die Bewertungen normalisieren, wenn Sie Modelle basierend auf verschiedenen Algorithmen vergleichen.
Research
Diese Implementierung umschließt die Bibliothek für Supportvektorcomputer mit dem Namen libsvm. Die allgemeine Theorie, auf der libsvm
basiert, und der Ansatz für einklassige Supportvektorcomputer werden in diesen Artikeln von B. Sch dateikopf et al. beschrieben.
Modulparameter
Name | Typ | Range | Optional | BESCHREIBUNG | Standard |
---|---|---|---|---|---|
Create Trainer Mode | Create Trainer Mode | List:Single Parameter|Parameter Range | Erforderlich | Einzelner Parameter | Geben Sie Optionen für das Lernmodul an. Verwenden Sie die Option SingleParameter, um alle Werte manuell anzugeben. Mit der Option ParameterRange können Sie verschiedene einstellbare Parameter ausprobieren (Sweeping). |
nu | Float | >=double.Epsilon | mode:Single Parameter | 0,1 | Dieser Parameter (dargestellt durch den griechisch-Buchstaben nu) bestimmt den Ausgleich zwischen dem Bruchteil der Ausreißer und der Anzahl der Unterstützungsvektoren. |
epsilon | Float | >=double.Epsilon | mode:Single Parameter | 0.001 | Gibt die Stopptoleranz an. |
psnu | ParameterRangeSettings | [0.001;1.0] | mode:Parameter Range | 0.001; 0.01; 0.1 | Gibt den Bereich für den Ausgleich dem Anteil von Ausreißern und der Anzahl von Stützvektoren an. |
psEpsilon | ParameterRangeSettings | [1e-6;1.0] | mode:Parameter Range | 0.001; 0.01; 0.1 | Gibt den Bereich für die Stopptoleranz an. |
Ausgaben
Name | Type | BESCHREIBUNG |
---|---|---|
Untrainiertes Modell | ILearner-Schnittstelle | Ein untrainiertes Modell zur Erkennung von Anomalien |
Siehe auch
Klassifizierung
Train Anomaly Detection Model (Anomalieerkennungsmodell trainieren)