Random Cut Forest (RCF) -Algorithmus - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Random Cut Forest (RCF) -Algorithmus

Amazon SageMaker Random Cut Forest (RCF) ist ein unbeaufsichtigter Algorithmus zur Erkennung anomaler Datenpunkte innerhalb eines Datensatzes. Das sind Beobachtungen, die von ansonsten gut strukturierten oder nach Mustern geordneten Daten abweichen. Solche Auffälligkeiten können sich als unerwartete Spitzen in Zeitreihendaten, unterbrochener Periodizität oder unklassifizierbaren Datenpunkten manifestieren. Sie sind einfach zu beschreiben, denn wenn sie in einem Diagramm dargestellt werden, sind sie meist leicht von "regulären" Daten unterscheidbar. Sind diese Anomalien in einem Datensatz enthalten, kann dies zu einer erheblichen Komplexitätssteigerung einer Machine-Learning-Aufgabe führen, da sich "reguläre" Daten häufig in einem einfachen Modell darstellen lassen.

Ordnet jedem Datenpunkt einen RCF Anomalie-Score zu. Niedrige Werte besagen, dass der Datenpunkt als "normal" gilt. Hohe Werte deuten auf eine Anomalie in den Daten hin. Die Definitionen von "niedrig" und "hoch" hängen von der Anwendung ab, aber meist werden Bewertungen, die mehr als drei Standardabweichungen vom Mittelwert aufweisen, als Anomalie betrachtet.

Algorithmen zur Erkennung von Anomalien bieten zwar zahlreiche Anwendungsmöglichkeiten für eindimensionale Zeitreihendaten, wie z. B. die Analyse des Verkehrsaufkommens oder die Erkennung von Lautstärkespitzen, RCF sind jedoch für die Verwendung mit beliebig dimensionalen Eingaben konzipiert. Amazon SageMaker RCF skaliert gut in Bezug auf die Anzahl der Funktionen, die Größe des Datensatzes und die Anzahl der Instanzen.

Eingabe-/Ausgabeschnittstelle für den Algorithmus RCF

Amazon SageMaker Random Cut Forest unterstützt die train und test Datenkanäle. Der optionale Testkanal ("test") wird zur Berechnung von Genauigkeit, Präzision, Rückruf und F1-Bewertungsmetriken bei entsprechend gekennzeichneten Daten verwendet. Die Inhaltstypen der Trainings- ("train") und Testdaten können entweder das Format application/x-recordio-protobuf oder text/csv aufweisen. Soll das Format "text/csv" für Testdaten eingesetzt werden, muss der Inhalt als "text/csv;label_size=1" angegeben werden, wobei die erste Spalte jeder Zeile den Anomaliewert "1" für einen anormalen Datenpunkt oder "0" für einen normalen Datenpunkt spezifiziert. Sie können entweder den Dateimodus oder den Pipe-Modus verwenden, um RCF Modelle anhand von Daten zu trainieren, die als recordIO-wrapped-protobuf oder formatiert sind CSV

Beachten Sie auch, dass der Trainingskanal nur S3DataDistributionType=ShardedByS3Key und der Testkanal nur S3DataDistributionType=FullyReplicated unterstützt. Das folgende Beispiel spezifiziert den S3-Verteilungstyp für den Zugkanal unter Verwendung von Amazon SageMaker Python SDK.

Anmerkung

Die sagemaker.inputs.s3_input Methode wurde sagemaker.inputs.TrainingInput in SageMaker Python SDK v2 umbenannt.

import sagemaker # specify Random Cut Forest training job information and hyperparameters rcf = sagemaker.estimator.Estimator(...) # explicitly specify "ShardedByS3Key" distribution type train_data = sagemaker.inputs.TrainingInput( s3_data=s3_training_data_location, content_type='text/csv;label_size=0', distribution='ShardedByS3Key') # run the training job on input data stored in S3 rcf.fit({'train': train_data})

Um häufige Fehler im Zusammenhang mit Ausführungsrollen zu vermeiden, stellen Sie sicher, dass Sie über die erforderlichen Ausführungsrollen verfügen, AmazonSageMakerFullAccess und AmazonEC2ContainerRegistryFullAccess. Stellen Sie sicher, dass Ihr Bild nicht größer ist als der zugewiesene Speicherplatz auf der Trainingsinstanz, um häufige Fehler zu vermeiden, wenn Ihr ECR Image nicht vorhanden ist oder seine Berechtigungen falsch sind. Um dies zu vermeiden, führen Sie Ihren Trainingsauftrag auf einer Instance aus, die über ausreichend Festplattenspeicher verfügt. Wenn Ihr ECR Image außerdem aus dem Elastic Container Service (ECS) -Repository eines anderen AWS Kontos stammt und Sie keine Repository-Berechtigungen festlegen, um Zugriff zu gewähren, führt dies zu einem Fehler. Weitere Informationen zum Einrichten einer ECRRepository-Richtlinienerklärung finden Sie in den Repository-Berechtigungen.

Weitere Informationen zur Anpassung von S3-Datenquellenattribute finden Sie in der S3DataSource. Um die Vorteile von Multi-Instance-Trainings optimal nutzen zu können, müssen die Trainingsdaten in mindestens so viele Dateien partitioniert werden, wie Instances vorhanden sind.

Inhaltstypen für Inferenz text/csv -application/x-recordio-protobuf, RCF Unterstützungs- und application/json Eingabedaten. Weitere Informationen finden Sie in der Dokumentation Gängige Datenformate für integrierte Algorithmen. RCFInferenzrückgaben application/x-recordio-protobuf oder application/json formatierte Ausgabe. Jeder Datensatz in diesen Ausgabedaten enthält die entsprechenden Anomaliebewertungen für die einzelnen Eingabedatenpunkte. Weitere Informationen finden Sie unter Gängige Datenformate – Inferenz.

Weitere Informationen über die Eingabe- und Ausgabedateiformate finden Sie unter RCFAntwortformate für Inferenz und unter RCF-Beispiel-Notebooks.

Instanzempfehlungen für den Algorithmus RCF

Zum Training empfehlen wir die Instance-Familien ml.m4, ml.c4 und ml.c5. Für die Inferenz empfehlen wir die Verwendung eines ml.c5.xl-Instance-Typs, insbesondere für maximale Leistung und minimierte Kosten pro Nutzungsstunde. Obwohl der Algorithmus technisch gesehen auf GPU Instanztypen ausgeführt werden könnte, nutzt er die Vorteile der GPU Hardware nicht aus.

RCF-Beispiel-Notebooks

Ein Beispiel dafür, wie man ein RCF Modell trainiert und daraus Schlüsse zieht, finden Sie im Notizbuch An Introduction to SageMaker Random Cut Forests. Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, in denen Sie das Beispiel ausführen können, finden Sie unter. SageMaker Amazon SageMaker Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie die Registerkarte SageMaker Beispiele, um eine Liste aller Beispiele anzuzeigen. SageMaker Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.

Einen Blogbeitrag zur Verwendung des RCF Algorithmus finden Sie unter Verwenden des integrierten Amazon SageMaker Random Cut Forest-Algorithmus zur Erkennung von Anomalien.