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 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. Der Amazon SageMaker-Algorithmus für lineares Lernen geht davon aus, dass Sie 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-Zeichenfolgenzuordnung 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 Algorithmus für lineares Lernen die Verwendung von Prüfpunkten, um einen Snapshot des Status des Modells zu erstellen.

E/A-Schnittstelle für den Algorithmus für lineares Lernen

Der Amazon SageMaker-Algorithmus für lineares Lernen unterstützt drei Datenkanäle: Schulung, Validierung (optional) und Test (optional). Wenn Sie Validierungsdaten bereitstellen, sollte der S3DataDistributionType sein.FullyReplicated Der Algorithmus protokolliert den Validierungsverlust für jede Epoche und verwendet eine Stichprobe der Validierungsdaten, um das beste Modell zu kalibrieren und auszuwählen. 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. Für die Klassifizierung (predictor_type='binary_classifier' oder predictor_type='multiclass_classifier') gibt das Modell einen score und auch einen predicted_label zurück. Der predicted_label ist die vom Modell vorausgesagte Klasse und der score misst die Stärke dieser 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 für lineares Lernen. Weitere Informationen zu Inferenzformaten finden Sie unter Beispiel-Notebooks für lineares Lernen.

EC2-Instance-Empfehlung 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.

Beispiel-Notebooks für lineares Lernen

Die folgende Tabelle enthält eine Vielzahl von Beispiel-Notebooks für verschiedene Anwendungsfälle des Amazon SageMaker-Algorithmus für lineares Lernen.

Notebook-Titel Beschreibung

Eine Einführung in das MNIST-Dataset

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

Voraussagen von Breast Standby

Mit dem Breast-Dataset von UCI schulen wir ein Modell zur Prognose von Breastsuche.

Wie erstellen Sie einen Mehrklassen-Classifier?

Mit dem Covertype-Dataset von UCI zeigen wir, wie ein Mehrklassen-Classifier geschult wird.

Wie erstellen Sie eine Machine Learning (ML)-Pipeline für Inferenzen?

Mit einem Scikit-learn-Container wird gezeigt, wie eine End-to-End-ML-Pipeline erstellt wird.

Anweisungen zum Erstellen 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-Instances. Nachdem Sie eine Notebook-Instance erstellt und geöffnet haben, wählen Sie die Registerkarte -BeispieleSageMaker aus, um eine Liste aller -Beispiele anzuzeigen.SageMaker 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.