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

Bei Amazon SageMaker Random Cut Forest (RCF) handelt es sich um einen unüberwachten Algorithmus zur Erkennung von anormalen Datenpunkten in einem Dataset. 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 Dataset 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 RCF skaliert unter Berücksichtigung von Funktionsanzahl, Datasetgröße und Instance-Anzahl.

E/A-Schnittstelle für den RCF-Algorithmus

Amazon SageMaker Random Cut Forest unterstützt die Datenkanäle train und test. Der optionale Testkanal ("test") wird zur Berechnung von Genauigkeit, Präzision, Rückruf und F1-Bewertungsmetriken bei entsprechend gekennzeichneten Daten verwendet. Die Inhaltstypen der Schulungs- ("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 Datei- oder den Pipe-Modus verwenden, um RCF-Modelle mit Daten, die als recordIO-wrapped-protobuf oder CSV formatiert sind, zu schulen.

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

Anmerkung

Die sagemaker.inputs.s3_input Methode wurde zu 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 ECR-Image nicht größer als der zugewiesene Festplattenspeicher auf der Trainingsinstanz 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 Instanz 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 für die Gewährung des Zugriffs festlegen, 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-Schulungen optimal nutzen zu können, müssen die Schulungsdaten 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 Gängige Datenformate für integrierte Algorithmen. 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

Zur Schulung 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 zum Trainieren eines RCF-Modells und dem Vornehmen entsprechender Inferenzen finden Sie im Notebook Einführung in SageMaker Random Cut Forests. Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instances, die Sie zum Ausführen des Beispiels in SageMaker verwenden können, finden Sie unter Amazon- SageMaker Notebook-Instances. Sobald Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die Registerkarte SageMaker-Beispiele, um eine Liste aller SageMaker-Beispiele zu sehen. Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.