Algorithmus für lineares Lernen - 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.

Algorithmus für lineares Lernen

Lineare Modelle sind überwachte Lernalgorithmen, die zur Lösung von Klassifizierungs- oder Regressionsproblemen verwendet werden. Für die Eingabe stellen Sie dem Modell Beispiele mit Kennzeichen (x, y) zur Verfügung. x ist ein hochdimensionaler Vektor und y ist eine numerische Kennzeichnung. Bei binären Klassifizierungsproblemen muss das Kennzeichen 0 oder 1 sein. Für Mehrklassen-Klassifizierungsprobleme müssen die Kennzeichen zwischen 0 und num_classes – 1 liegen. Bei Regressionsproblemen ist y eine Realzahl. Der Algorithmus erlernt eine lineare Funktion oder lineare Schwellenwertfunktion bei Klassifizierungsproblemen und weist einen Vektor x einer Approximation der Kennzeichnung y zu.

Der lineare Lernalgorithmus von Amazon SageMaker bietet eine Lösung sowohl für Klassifikations- als auch für Regressionsprobleme. Mit dem SageMaker-Algorithmus können Sie gleichzeitig verschiedene Trainingsziele untersuchen und die beste Lösung aus einer Validierungsmenge auswählen. Sie können auch eine große Anzahl von Modellen erkunden und das beste auswählen. Das beste Modell optimiert eine der folgenden Größen:

  • Kontinuierliche Ziele wie mittlerer quadratischer Fehler, Kreuz-Entropie-Verlust, absoluter Fehler usw.

  • Diskrete Ziele, die für die Klassifizierung geeignet sind, wie z. B. F1-Maß, Präzision, Abruf und Genauigkeit.

Im Vergleich zu Methoden, die eine Lösung nur für kontinuierliche Ziele liefern, bietet der lineare Lernalgorithmus von SageMaker einen signifikanten Geschwindigkeitszuwachs gegenüber naiven Hyperparameter-Optimierungstechniken. Außerdem ermöglicht er eine vereinfachte Handhabung.

Der Algorithmus für lineares Lernen erfordert eine Datenmatrix, deren Zeilen die Beobachtungen und deren Spalten die Dimensionen der Merkmale darstellen. Außerdem ist eine zusätzliche Spalte mit den Kennzeichnungen erforderlich, die den Datenpunkten entsprechen. Amazon SageMaker linear learner erfordert mindestens die Angabe von Eingabe- und Ausgabedatenspeicherorten sowie des Zieltyps (Klassifikation oder Regression) als Argumente. Die Merkmalsdimension ist ebenfalls erforderlich. Weitere Informationen finden Sie unter CreateTrainingJob. Sie können zusätzliche Parameter in der HyperParameters-Zeichenfolge des Anforderungstexts angeben. Diese Parameter steuern das Optimierungsverfahren oder geben die Zielfunktion an, für die Sie die Schulung ausführen. Zu den Beispielen gehören die Anzahl der Epochen, Regularisierung und Verlusttyp.

Wenn Sie Managed Spot Training verwenden, unterstützt der lineare Lerneralgorithmus die Verwendung von Checkpoints, um eine Momentaufnahme des Status des Modells zu erstellen.

Input/Output-Schnittstelle für den linearen Lernalgorithmus

Der lineare Lernalgorithmus von Amazon SageMaker unterstützt drei Datenkanäle: Training, Validierung (optional) und Test (optional). Wenn Sie Validierungsdaten bereitstellen, sollte der S3DataDistributionType FullyReplicated sein. Der Algorithmus protokolliert den Validierungsverlust für jede Epoche und verwendet eine Stichprobe der Validierungsdaten zur Kalibrierung und Auswahl des besten Modells. Wenn Sie keine Validierungsdaten bereitstellen, verwendet der Algorithmus eine Stichprobe der Schulungsdaten, um das Modell zu kalibrieren und auszuwählen. Wenn Sie Testdaten bereitstellen, enthalten die Algorithmusprotokolle das Testergebnis für das endgültige Modell.

Für Schulungen unterstützt der Algorithmus für lineares Lernen sowohl das recordIO-wrapped protobuf- als auch das CSV-Format. Für den application/x-recordio-protobufEingabetyp werden nur Float32-Tensoren unterstützt. Beim Eingabetyp text/csv wird angenommen, dass die erste Spalte die Kennzeichnung ist. Dies ist die Zielvariable für eine Prognose. Sie können entweder den Datei- oder den Pipe-Modus zum Schulen linearer Lernmodelle mit Daten verwenden, die als recordIO-wrapped-protobuf oder CSV formatiert sind.

Bei Inferenzen unterstützt der Algorithmus für lineares Lernen die Formate application/json, application/x-recordio-protobuf und text/csv. Wenn Sie Voraussagen mit neuen Daten treffen, hängt das Format der Antwort von der Art des Modells ab. Bei der Regression (predictor_type='regressor') ist score die Voraussage des Modells. Bei der Klassifizierung (predictor_type='binary_classifier' oder predictor_type='multiclass_classifier') gibt das Modell score und auch predicted_label zurück. predicted_label ist die Klasse, die vom Modell vorausgesagt wird, und score misst die Stärke der Voraussage.

  • Für die binäre Klassifizierung ist predicted_label 0 oder 1, und score ist eine einzelne Gleitkommazahl, die angibt, wie stark der Algorithmus glaubt, dass die Bezeichnung 1 sein sollte.

  • Bei der Mehrklassen-Klassifizierung ist predicted_class eine Ganzzahl von 0 bis num_classes-1 und score entspricht einer Liste mit einer Gleitkommazahl pro Klasse.

Zur Interpretation von score bei Klassifizierungsproblemen müssen Sie die verwendete Verlustfunktion berücksichtigen. Wenn der Hyperparameter-Wert von loss bei der binären Klassifizierung logistic und bei der Mehrklassen-Klassifizierung softmax_loss ist, kann score als Wahrscheinlichkeit der entsprechenden Klasse interpretiert werden. Dies sind die Verlustwerte, die vom linearen Lernen verwendet werden, wenn der loss-Wert dem Standardwert auto entspricht. Wenn der Verlust aber auf hinge_loss festgelegt ist, kann die Punktzahl nicht als Wahrscheinlichkeit interpretiert werden. Dies liegt daran, dass "hinge loss" einer Support Vector-Klassifizierung entspricht, die keine Wahrscheinlichkeitsschätzungen vornimmt.

Weitere Informationen zu den Ein- und Ausgabedateiformaten finden Sie unter Antwortformate von linearen Learnern. Weitere Informationen zu Inferenzformaten finden Sie unter Muster-Notizbücher für lineare Lerner.

EC2-Instance-Empfehlung für den Linear Learner-Algorithmus

Der lineare Lerneralgorithmus unterstützt sowohl CPU- als auch GPU-Instanzen für Training und Inferenz. Für GPU unterstützt der lineare Learner-Algorithmus die GPU-Familien P2, P3, G4dn und G5.

Während der Tests haben wir keine wesentlichen Hinweise darauf gefunden, dass Multi-GPU-Instanzen schneller sind als Single-GPU-Instanzen. Die Ergebnisse können abhängig vom jeweiligen Anwendungsfall variieren.

Muster-Notizbücher für lineare Lerner

In der folgenden Tabelle sind verschiedene Beispielnotizbücher aufgeführt, die sich mit verschiedenen Anwendungsfällen des linearen Lernalgorithmus von Amazon SageMaker befassen.

Titel des Notizbuchs Beschreibung

Eine Einführung in den MNIST-Datensatz

Mithilfe des MNIST-Datensatzes trainieren wir einen binären Klassifikator, um eine einzelne Ziffer vorherzusagen.

Wie erstellt man einen Multiklassen-Klassifikator?

Anhand des Covertype-Datensatzes von UCI zeigen wir, wie ein Multiklassen-Klassifikator trainiert wird.

Wie erstellt man eine Machine Learning (ML) -Pipeline für Inferenz?

Mithilfe eines Scikit-Learn-Containers demonstrieren wir, wie eine durchgängige ML-Pipeline aufgebaut wird.

Anweisungen zum Erstellen von und Zugreifen auf Jupyter-Notebook-Instanzen, die Sie zum Ausführen des Beispiels in SageMaker verwenden können, finden Sie unter Amazon- SageMaker Notebook-Instances. Nachdem Sie eine Notizbuchinstanz erstellt und geöffnet haben, wählen Sie die Registerkarte SageMaker-Beispiele, um eine Liste aller SageMaker-Beispiele anzuzeigen. Die Beispiel-Notebooks zur Themenmodellierung unter Verwendung des Algorithmus für lineares Lernen finden Sie im Abschnitt Einführung in die Amazon-Algorithmen. Zum Öffnen eines Notebooks wählen Sie die Registerkarte Use (Verwenden) und dann Create copy (Kopie erstellen) aus.