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

Faktorisierungsmaschinen Algorithmus

Eine Factorization Machines ist ein allgemeiner überwachter Lernalgorithmus, der sowohl für Klassifizierungs- als auch Regressionsaufgaben eingesetzt werden kann. Diese Erweiterung eines linearen Modells ist darauf ausgelegt, Interaktionen zwischen Funktionen innerhalb von hochdimensionalen Datasets mit geringer Dichte wirtschaftlich zu erfassen. Beispielsweise kann das Factorization Machine-Modell in einem System zur Klickprognose die Klickratenmuster erfassen, die bei der Platzierung von Werbung einer bestimmten Werbekategorie auf Seiten einer bestimmten Seitenkategorie beobachtet werden. Factorization Machines sind bei Aufgaben, die hochdimensionale Datasets mit geringer Dichte umfassen (z. B. Klickprognosen und Artikelempfehlungen), eine gute Wahl.

Anmerkung

Die Amazon SageMaker-Implementierung des Factorization Machines-Algorithmus berücksichtigt nur paarweise (2. Ordnung) Interaktionen zwischen Features.

E/A-Schnittstelle für den Factorization Machines-Algorithmus

Der Factorization Machines-Algorithmus lässt sich entweder im binären Klassifizierungs- oder im Regressionsmodus ausführen. In beiden Modi kann neben dem Dataset für den Schulungskanal auch eines für den Testkanal bereitgestellt werden. Die Bewertung hängt vom verwendeten Modus ab. Im Regressionsmodus wird das Testdataset mithilfe von RMSE (Root Mean Square Error, Wurzel des mittleren quadratischen Prognosefehlers) bewertet. Im binären Klassifizierungsmodus wird das Testdataset anhand von binärer Kreuzentropie (Protokollverlust), Genauigkeit (Grenzwert = 0,5) und F1-Bewertung (Schwellenwert = 0,5) bewertet.

Für das Training unterstützt der Factorization Machines-Algorithmus derzeit nur das recordIO-protobuf Format mit Float32 Tensoren. Da als Anwendungsfall in erster Linie Daten mit geringer Dichte in Frage kommen, ist CSV keine gute Wahl. Schulungen sowohl im Datei- als auch im Pipe-Modus werden im vom recordIO umschlossenen protobuf-Format unterstützt.

Für die Inferenz unterstützen Factorization Machines die application/json und x-recordio-protobuf Formate.

  • Für das Problem der binären Klassifizierung sagt der Algorithmus eine Bewertung und eine Bezeichnung voraus. Die Bezeichnung ist eine Zahl und kann entweder 0 oder 1 sein. Die Bewertung ist eine Zahl, die angibt, wie stark der Algorithmus glaubt, dass die Bezeichnung 1 sein sollte. Der Algorithmus berechnet zuerst die Bewertung und leitet aus dem Wert die Bezeichnung ab. Wenn die Punktzahl größer oder gleich 0,5 ist, ist die Bezeichnung 1.

  • Für das Problem der Regression wird nur eine Punktzahl zurückgegeben. Dies ist dann der vorausgesagte Wert. Beispiel: Wenn Factorization Machines verwendet wird, um eine Filmbewertung vorherzusagen, ist die Punktzahl die vorausgesagte Bewertung.

Weitere Informationen zu Schulungs- und Inferenzdateiformaten finden Sie unter Factorization Machines-Beispiel-Notebook.

EC2-Instance-Empfehlung für den Factorization Machines-Algorithmus

Der Algorithmus von Amazon SageMaker Factorization Machines ist hoch skalierbar und kann über verteilte Instanzen hinweg trainieren. Wir empfehlen, für Schulung und Inferenz CPU-Instances bei Datasets mit sowohl geringer als auch hoher Dichte zu verwenden. In einigen Fällen kann sich die Schulung mit einer oder mehreren GPUs bei Daten mit hoher Dichte als vorteilhaft erweisen. Schulungen mit GPUs sind nur für Daten hoher Dichte verfügbar. Verwenden Sie bei Daten mit geringer Dichte CPU-Instances. Der Factorization Machines-Algorithmus unterstützt P2-, P3-, G4dn- und G5-Instanzen für Training und Inferenz.

Factorization Machines-Beispiel-Notebook

Ein Beispiel-Notebook, das den SageMaker-Faktorisierungsmaschinen-Algorithmus verwendet, um die Bilder der handgeschriebenen Ziffern von null bis neun im MNIST-Datensatz zu analysieren, finden Sie unter Einführung in Faktorisierungsmaschinen mit MNIST. 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 Examples , um eine Liste aller SageMaker Beispiele zu sehen. Die Beispiel-Notebooks für die Themenmodellierung, die NTM-Algorithmen verwenden, befinden sich im Abschnitt Einführung in Amazon-Algorithmen. Zum Öffnen eines Notebooks klicken Sie auf die Registerkarte Use (Verwenden) und wählen Sie Create copy (Kopie erstellen) aus.