View a markdown version of this page

Random Cut Forest (RCF)-Algorithmus - Amazon SageMaker KI

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 AI 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.

Jedem Datenpunkt wird von RCF eine Anomaliebewertung zugewiesen. 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.

Es gibt zahlreiche Anwendungen, die Algorithmen zur Anomalieerkennung in eindimensionalen Zeitreihendaten (wie z. B. Analysen des Datenverkehrsvolumes oder Sound-Volume-Spitzenerkennung) verwenden – RCF ist jedoch für Eingaben aus beliebigen Dimensionen konzipiert. Amazon SageMaker AI RCF lässt sich in Bezug auf die Anzahl der Funktionen, die Datensatzgröße und die Anzahl der Instanzen gut skalieren.

Input/Output Schnittstelle für den RCF-Algorithmus

Amazon SageMaker AI Random Cut Forest unterstützt die test Datenkanäle train und. Der optionale Testkanal wird verwendet, um Genauigkeit, Präzision, Rückruf und F1-score Metriken für beschriftete Daten zu berechnen. Die Inhaltstypen der Trainings- ("train") und Testdaten können entweder das Format application/x-recordio-protobuf oder text/csv aufweisen. Für die Testdaten muss bei Verwendung des text/csv Formats der Inhalt als text/csv; label_size=1 angegeben werden, wobei die erste Spalte jeder Zeile die Anomaliebezeichnung darstellt: „1" für einen anomalen Datenpunkt und „0" für einen normalen Datenpunkt. Sie können entweder den Datei- oder den Pipe-Modus verwenden, um RCF-Modelle mit Daten, die als recordIO-wrapped-protobuf oder CSV formatiert sind, zu trainieren.

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 mithilfe des Amazon Python SDK. SageMaker

Anmerkung

Die sagemaker.inputs.s3_input Methode wird in SageMaker Python SDK v3 durch die S3DataSource Formen Channel und ersetzt. Der Verteilungstyp ist S3DataSource innerhalb von a konfiguriertChannel.

import sagemaker from sagemaker.train import ModelTrainer from sagemaker.core.shapes import Channel, DataSource, S3DataSource from sagemaker.core.helper.session_helper import Session, get_execution_role # specify Random Cut Forest training job information and hyperparameters rcf = ModelTrainer(...) # specify training data input channel with ShardedByS3Key distribution train_data = Channel( channel_name="training", data_source=DataSource( s3_data_source=S3DataSource( s3_data_type="S3Prefix", s3_uri=s3_training_data_location, s3_data_distribution_type="ShardedByS3Key" ) ) ) # run the training job on input data stored in S3 rcf.train(input_data_config=[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 ECR-Image nicht größer als der zugewiesene Festplattenspeicher auf der Trainings-Instance ist, um häufige Fehler zu vermeiden, wenn Ihr 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 einrichten, um Zugriff zu gewähren, führt dies zu einem Fehler. Weitere Informationen zu Repository-Berechtigungen finden Sie unter ECR-Repository-Richtlinien.

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.

Für die Inferenz unterstützt RCF die Eingabedaten-Inhaltstypen application/x-recordio-protobuf, text/csv und application/json. Weitere Informationen finden Sie in der Dokumentation Parameter für Algorithmen Built-in. Die RCF-Inferenz gibt Ausgaben im Format application/x-recordio-protobuf oder application/json zurück. 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 RCF-Antwortformate für Inferenz und unter RCF-Beispiel-Notebooks.

Instance-Empfehlungen für den RCF-Algorithmus

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. Technisch betrachtet ist der Algorithmus auch auf GPU-Instance-Typen ausführbar, jedoch kann die GPU-Hardware nicht entsprechend genutzt werden.

RCF-Beispiel-Notebooks

Ein Beispiel dafür, wie man ein RCF-Modell trainiert und daraus Schlussfolgerungen zieht, finden Sie im Notizbuch An Introduction to SageMaker AI Random Cut Forests. Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instances, mit denen Sie das Beispiel in AI ausführen können, finden Sie unter. SageMaker SageMaker Amazon-Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie den Tab SageMaker AI-Beispiele, um eine Liste aller AI-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 Sie den integrierten Amazon SageMaker AI Random Cut Forest-Algorithmus zur Anomalieerkennung.