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 Amazon SageMaker Der lineare Lernalgorithmus bietet eine Lösung für Klassifizierungs- und Regressionsprobleme. Mit der SageMaker Algorithmus können Sie gleichzeitig verschiedene Trainingsziele untersuchen und die beste Lösung aus einem Validierungssatz 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 ausschließlich für kontinuierliche Ziele bereitstellen, beschleunigt der Algorithmus für lineares Lernen von SageMaker die Anwendung von Techniken zur Optimierung naiver Hyperparameter erheblich. 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. Zumindest Amazon SageMaker Linear Learner erfordert, dass Sie die Positionen der Eingabe- und Ausgabedaten sowie den Zieltyp (Klassifizierung oder Regression) als Argumente angeben. 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 du benutztVerwaltetes Training vor Ortunterstützt der lineare Lernalgorithmus die VerwendungCheckpoints, um eine Momentaufnahme des Status des Modells zu erstellen.

Eingabe-/Ausgabeschnittstelle für den linearen Lernalgorithmus

Der Amazon SageMaker Der lineare Lernalgorithmus 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 Lineare Antwortformate der Lernenden. Weitere Informationen zu Inferenzformaten finden Sie unter Beispiel-Notizbücher für lineare Lernende.

EC2-Instanzempfehlung für den linearen Lernalgorithmus

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

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

Beispiel-Notizbücher für lineare Lernende

In der folgenden Tabelle sind verschiedene Beispiel-Notebooks aufgeführt, die sich mit verschiedenen Anwendungsfällen von Amazon befassen. SageMaker linearer Lernalgorithmus.

Notebook-Titel Beschreibung

Eine Einführung mit dem MNIST-Datensatz

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

Brustkrebs vorhersagen

Anhand des Brustkrebs-Datensatzes von UCI trainieren wir ein Modell zur Vorhersage von Brustkrebs.

Wie baue ich einen Multiclass-Klassifikator?

Anhand des Covertype-Datensatzes von UCI demonstrieren wir, wie ein Multiclass-Klassifikator trainiert wird.

Wie baue ich eine Pipeline für Machine Learning (ML) für Inferenz auf?

Mit einem Scikit-Learn-Container demonstrieren wir, wie man einen end-to-end ML-Pipeline.

Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, mit denen Sie das Beispiel ausführen können, finden Sie in SageMaker, sieheVerwenden von Amazon SageMaker Notebook Instances. Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie die OptionSageMakerBeispiele-Registerkarte, um eine Liste aller SageMaker Beispiele. 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.