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 Algorithmus für lineares Lernen bietet sowohl für Klassifizierungs- als auch für Regressionsprobleme eine Lösung. Mit dem SageMaker Algorithmus können Sie gleichzeitig verschiedene Schulungsziele 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 bereitstellen, bietet der SageMaker Algorithmus für lineares Lernen eine erhebliche Steigerung der Geschwindigkeit im Vergleich zu naiven Hyperparametern 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. Zumindest müssen Sie für lineares Lernen von Amazon SageMaker die Datenverzeichnisse für Eingabe und Ausgabe und 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.

Verwendetes SystemManaged Spot Trainingunterstützt der Algorithmus für lineares Lernen die Verwendung von-Checkpoints, um einen Snapshot des Zustands des Modells zu erstellenaus.

Ein-/Ausgabe-Schnittstelle für den Algorithmus für lineares Lernen

Der Amazon SageMaker lineares Lernen unterstützt drei Datenkanäle: Schulung, 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 für Lernende. Weitere Informationen zu Inferenzformaten finden Sie unter Notizbücher für lineare Lernende.

Empfehlung für die EC2-Instance für den Algorithmus für lineares Lernen

Sie können den Algorithmus für lineares Lernen auf CPU- und GPU-Instances für einzelne oder mehrere Maschinen schulen. Während der Tests haben wir keinen eindeutigen Beleg dafür gefunden, dass Multi-GPU-Computer schneller sind als Single-GPU-Computer. Die Ergebnisse können abhängig vom jeweiligen Anwendungsfall variieren.

Notizbücher für lineare Lernende

Die folgende Tabelle enthält eine Vielzahl von Beispiel-Notizbüchern, die verschiedene Anwendungsfälle des linearen Lernalgorithmus von Amazon SageMaker behandeln.

Notizbuch Titel Beschreibung

Eine Einführung mit dem MNIST-Datensatz

Mit dem MNIST-Dataset trainieren wir einen binären Klassifikator, um eine einzelne Ziffer vorherzusagen.

Vorhersagen von Brustkrebs

Mit dem UCI Brustkrebsdatensatz trainieren wir ein Modell zur Vorhersage von Brustkrebs.

Wie baue ich einen Multiclass-Klassifikator?

Mit dem Covertype-Dataset von UCI zeigen wir, wie man einen Multiclass-Klassifikator trainiert.

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

Mit einem SciKit-learn-Container demonstrieren wir, wie eine End-to-End-ML-Pipeline erstellt wird.

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. Nachdem Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die OptionSageMaker Beispielefinden Sie 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.