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 dietrainundtest-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 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 Schulungskanal nur S3DataDistributionType=ShardedByS3Key und der Testkanal nur S3DataDistributionType=FullyReplicated unterstützt. Der S3-Verteilungstyp kann mit demAmazon SageMaker Python SDKwie folgt festlegt:

import sagemaker # specify Random Cut Forest training job information and hyperparameters rcf = sagemaker.estimator.Estimator(...) # explicitly specify "ShardedByS3Key" distribution type train_data = sagemaker.inputs.s3_input( 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 bei Ausführungsrollen zu vermeiden, stellen Sie sicher, dass Sie über die erforderlichen Ausführungsrollen verfügen.AmazonSageMakerFullAccessundAmazonEC2ContainerRegistryFullAccessaus. Stellen Sie sicher, dass das ECR-Image nicht größer ist als der zugewiesene Speicherplatz auf der Schulungsinstanz, um häufige Fehler im Zusammenhang mit dem nicht vorhandenen Image zu vermeiden oder seine Berechtigungen falsch zu sein. Um dies zu vermeiden, führen Sie Ihren Schulungsauftrag auf einer Instanz aus, die über ausreichend Speicherplatz verfügt. Darüber hinaus, wenn Ihr ECR-Bild von einem anderenAWS-Kontos Elastic Container Service (ECS) -Repository verwenden und Sie keine Repository-Berechtigungen zum Erteilen des Zugriffs festlegen, führt dies zu einem Fehler. Siehe dieECR-Repository-Berechtigungenfür weitere Informationen zum Festlegen einer Repository-Richtlinienanweisung.

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 Schulen eines RCF-Modells und Vornehmen solcher Inferenzen finden Sie imEine Einführung in SageMaker Random Cut Forests-Notebook Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instances, die Sie verwenden können, um das Beispiel in SageMaker auszuführen, finden Sie unter.Verwenden von Amazon SageMaker Notebook-Instancesaus. Sobald Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die RegisterkarteSageMaker Beispielefinden Sie eine Liste aller SageMaker Beispiele. Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.