Wir aktualisieren den Amazon Machine Learning Learning-Service nicht mehr und akzeptieren keine neuen Benutzer mehr dafür. Diese Dokumentation ist für bestehende Benutzer verfügbar, wir aktualisieren sie jedoch nicht mehr. Weitere Informationen finden Sie unterWas Amazon Machine Learning.
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.
Schulungsparameter
In der Regel akzeptieren Algorithmen für Machine Learning Parameter, die verwendet werden können, um bestimmte Eigenschaften des Schulungsmodells und des resultierenden ML-Modells zu steuern. In Amazon Machine Learning heißen dieseSchulungsparameteraus. Sie können diese Parameter mithilfe der Amazon ML-Konsole, einer API oder über die Befehlszeilenschnittstelle (Command Line Interface, CLI) festlegen. Wenn Sie keine Parameter festlegen, verwendet Amazon ML Standardwerte, die bekanntermaßen für eine breite Palette von Machine Learning-Aufgaben funktionieren.
Sie können Werte für die folgenden Schulungsparameter angeben:
-
Maximale Modellgröße
-
Maximale Anzahl von Durchläufen von Schulungsdaten
-
Art der Mischung
-
Regularisationstyp
-
Regularisationsumfang
In der Amazon ML-Konsole werden die Schulungsparameter standardmäßig festgelegt. Die Standardeinstellungen sind für die meisten ML-Probleme geeignet, Sie können jedoch andere Werte auswählen, um die Leistung zu optimieren. Bestimmte andere Schulungsparameter, z. B. das Lerntempo, werden basierend auf Ihren Daten für Sie konfiguriert.
In den folgenden Abschnitten finden Sie weitere Informationen zu Schulungsparametern.
Maximale Modellgröße
Die maximale Modellgröße ist die Gesamtgröße in Einheiten von Byte, die Amazon ML während der Schulung eines ML-Modells erstellt.
Standardmäßig erstellt Amazon ML ein 100 MB-Modell. Sie können Amazon ML anweisen, ein kleineres oder größeres Modell zu erstellen, indem Sie eine andere Größe angeben. Den Bereich verfügbarer Größen finden Sie unter ML-Modelltypen
Wenn Amazon ML nicht genügend Muster zum Ausfüllen der Modellgröße finden kann, wird ein kleineres Modell erstellt. Wenn Sie beispielsweise eine maximale Modellgröße von 100 MB angeben, Amazon ML jedoch nur Muster mit einer Gesamtgröße von 50 MB findet, beträgt das resultierende Modell 50 MB. Wenn Amazon ML mehr Muster findet, als in die angegebene Größe passen, wird eine maximale Grenze erzwungen, indem die Muster entfernt werden, die die Qualität des geschulten Modells am wenigsten beeinträchtigen.
Durch Auswählen der Modellgröße können Sie den Kompromiss zwischen der prognostizierten Qualität und den Kosten der Verwendung steuern. Durch kleinere Modelle kann verursacht werden, dass Amazon ML viele Muster entfernt, die in die maximale Größenbegrenzung passen, wodurch die Qualität von Prognosen beeinträchtigt wird. Bei größeren Modellen ist hingeben das Abfragen von Echtzeitvoraussagen kostspieliger.
Anmerkung
Wenn Sie ein ML-Modell verwenden, um Echtzeitvoraussagen zu erstellen, fallen Gebühren für die Kapazitätsreservierung an, die auf der Größe des Modells basieren. Weitere Informationen finden Sie unter Preise für Amazon ML .
Größere Eingabedatensätzen führen nicht unbedingt zu größeren Modellen, da Modelle Muster speichern, und nicht Eingabedaten. Wenn es nur wenige simple Muster gibt, ist das resultierende Modell klein. Eingabedaten mit einer großen Anzahl von reinen Attributen (Eingabespalten) oder abgeleiteten Funktionen (Ausgaben der Amazon ML-Datentransformationen) weisen mit großer Wahrscheinlichkeit mehr Muster auf, die gefunden und während des Schulungsvorgangs gespeichert werden. Das Auswählen der richtigen Modellgröße für Ihre Daten und Problem erfolgt am besten mit ein paar Experimenten. Das Protokoll des Amazon ML-Modells (das Sie von der Konsole oder über die API herunterladen können) enthält Meldungen dazu, in welchem Ausmaß Kürzungen (falls vorhanden) während des Schulungsvorgangs durchgeführt werden, sodass Sie die potenzielle Prognosequalität besser einschätzen können.
Maximale Anzahl von Datendurchläufen
Um die besten Ergebnisse zu erzielen, benötigt Amazon ML möglicherweise mehrere Durchläufe für Ihre Daten, um Muster zu entdecken. Standardmäßig führt Amazon ML Durchläufe aus, Sie können den Standardwert jedoch ändern, indem Sie eine Zahl von bis zu 100 festlegen. Amazon ML verfolgt die Qualität der Muster (Modellkonvergenz) und stoppt automatisch die Schulung automatisch, wenn keine weiteren Datenpunkte oder Muster mehr erkannt werden. Wenn Sie beispielsweise die Anzahl von Durchläufen auf 20 festlegen, Amazon ML jedoch feststellt, dass nach Beendigung von 15 Durchläufen keine neuen Muster gefunden werden können, wird die Schulung bei 15 Durchläufen gestoppt.
Im Allgemeinen sind für Datensätze mit nur wenigen Beobachtungen in der Regel mehr Datendurchläufe erforderlich, um eine höhere Modellqualität zu erzielen. Größere Datensätze enthalten häufig viele ähnliche Datenpunkte, sodass keine größere Anzahl von Durchläufen erforderlich ist. Es gibt zwei Auswirkungen der Auswahl mehrerer Datendurchläufe: die Modellschulung dauert länger und sie kostet mehr.
Art der Mischung von Schulungsdaten
In Amazon ML müssen Sie Ihre Schulungsdaten mischen. Beim Mischen wird die Reihenfolge der Daten so geändert, dass der SGD-Algorithmus nacheinander nicht nur einen Datentyp bei zahlreichen Beobachtungen erkennt. Wenn Sie beispielsweise ein ML-Modell so schulen, dass es einen Produkttyp vorhersagen kann, und Ihre Schulungsdaten enthalten die Produkttypen "Film", "Spielzeug" und "Videospiel", so sortiert der Algorithmus die Daten alphabetisch nach Produkttyp, wenn Sie die Daten vor dem Hochladen nach der Spalte für den Produkttyp sortiert haben. Der Algorithmus erkennt alle Daten für Filme zuerst, und das ML-Modell beginnt, Muster für Filme zu erlernen. Wenn das Modell dann Daten zu Spielsachen erkennt, würde jedes Update, das der Algorithmus vornimmt, das Modell an den Produkttyp "Spielzeug" anpassen, auch wenn diese Updates die Muster herabsetzen, die Filmen entsprechen. Durch diesen plötzlichen Wechsel vom Typ "Film" zu "Spielzeug" kann ein Modell erzeugen, dass nicht lernt, wie Produkttypen korrekt vorhergesagt werden.
Sie müssen Ihre Trainingsdaten auch dann mischen, wenn Sie die Option für eine zufällige Aufteilung beim Aufteilen der Eingabedatenquelle in Schulungs- und Evaluierungsabschnitte auswählen. Bei der Strategie der zufälligen Aufteilung wird eine zufällige Teilmenge der Daten für jede Datenquelle ausgewählt, die Reihenfolge der Zeilen in der Datenquelle wird jedoch nicht geändert. Weitere Informationen zum Aufteilen der Daten finden Sie unter Aufteilen Ihrer Daten.
Wenn Sie ein ML-Modell mithilfe der Konsole erstellen, werden die Daten in Amazon ML standardmäßig mit einer Pseudo-Zufallsmischtechnik gemischt. Unabhängig von der Anzahl angeforderter Durchläufe mischt Amazon ML die Daten nur einmal, bevor das ML-Modell geschult wird. Wenn Sie Ihre Daten gemischt habe, bevor diese Amazon ML bereitgestellt wurden, und Sie möchten nicht, dass Amazon ML Ihre Daten erneut mischt, können Sie dieArt der Mischungzunone
aus. Wenn Sie beispielsweise die Datensätze in Ihrer .csv-Datei nach dem Zufallsprinzip gemischt haben, bevor Sie sie auf Amazon S3 hochgeladen haben, verwenden Sie dierand()
Funktion in Ihrer MySQL SQL-Abfrage beim Erstellen Ihrer Datenquelle aus Amazon RDS oder verwendet dierandom()
Funktion in Ihrer Amazon Redshift SQL-Abfrage beim Erstellen Ihrer Datenquelle aus Amazon Redshift, EinstellungArt der Mischungzunone
wirkt sich nicht auf die Vorhersagegenauigkeit Ihres ML-Modells aus. Durch einmaliges Mischen der Daten werden die Laufzeit und die Kosten für das Erstellen eines ML-Modells reduziert.
Wichtig
Wenn Sie ein ML-Modell mithilfe der Amazon ML-API erstellen, werden die Daten in Amazon ML in Amazon ML nicht standardmäßig gemischt. Wenn Sie die API anstelle der Konsole zum Erstellen des ML-Modells verwenden, wird dringend empfohlen, dass Sie die Daten mischen, indem Sie den Parameter sgd.shuffleType
auf auto
festlegen.
Regularisationstyp und -umfang
Die prädiktive Leistung komplexer ML-Modelle (die Modelle mit vielen Eingabeattributen) wird beeinträchtigt, wenn die Daten zu viele Muster enthalten. Wenn die Anzahl von Mustern steigt, so steigt auch die Wahrscheinlichkeit, dass das Modell unbeabsichtigte Datenartefakte anstelle von echten Datenmustern erlernt. In einen solchen Fall weist das Modell eine hervorragende Leistung bei Schulungsdaten auf, kann aber neue Daten nicht verallgemeinern. Dieses Phänomen wird als Überanpassung der Schulungsdaten bezeichnet.
Mithilfe der Regularisation wird verhindert, dass eine Überanpassung von Schulungsdatenbeispielen durch lineare Modelle stattfindet, indem extreme Gewichtungswerte bestraft werden. Durch die L1-Regularisation wird die Anzahl von Funktionen reduziert, die in dem Modell verwendet werden, indem das Gewicht von Funktionen, die ansonsten ein sehr geringes Gewicht hätten, auf Null gedrückt wird. Die L1-Regularisation erzeugt platzsparende Modelle und reduziert das Rauschen im Modell. Die L2-Regularisation führt zu kleineren Gesamtgewichtungswerten, wodurch die Gewichtungen stabilisiert werden, wenn eine hohe Korrelation zwischen den Funktionen besteht. Sie können den Umfang der L1- oder der L2-Regularisation steuern, indem Sie den Parameter Regularization amount
verwenden. Das Festlegen eines besonders hohen Regularization
amount
-Werts kann dazu führen, dass alle Funktionen kein Gewicht aufweisen.
Das Auswählen und Einstellen des optimalen Regularisationswerts ist ein aktives Thema bei der Erforschung von Machine Learning. Wahrscheinlich ist es von Vorteil, einen mittleren Umfang für die L2-Regularisation auszuwählen, was dem Standard in der Amazon ML-Konsole entspricht. Fortgeschrittene Benutzer haben die Wahl zwischen drei Arten von Regularisation (Keine, L1 oder L2) und deren Umfang. Weitere Informationen zur Regularisation erhalten Sie unter Regularisation (Mathematik)
Schulungsparameter: Typen und Standardwerte
In der folgenden Tabelle sind die Amazon ML-Schulungsparameter zusammen mit den Standardwerten sowie dem jeweils zulässigen Bereich aufgeführt.
Schulungsparameter |
Typ |
Default Value (Standardwert) |
Beschreibung |
---|---|---|---|
maxMLModelSizeInBytes |
Ganzzahl |
100.000.000 Byte (100 MiB) |
Zulässiger Bereich: 100.000 (100 KiB) bis 2.147.483.648 (2 GiB) In Abhängigkeit von den Eingabedaten kann sich die Modellgröße auf die Leistung auswirken. |
sgd.maxPasses |
Ganzzahl |
10 |
Zulässiger Bereich: 1-100 |
sgd.shuffleType |
Zeichenfolge |
auto |
Zulässige Werte: |
sgd.l1RegularizationAmount |
Double |
0 (L1 wird standardmäßig nicht verwendet) |
Zulässiger Bereich: 0 bis MAX_DOUBLE L1-Werte zwischen 1E-4 und 1E-8 erzeugen bekanntermaßen gute Ergebnisse. Höhere Werte erzeugen möglicherweise Modell, die nicht sehr hilfreich sind. Sie können sowohl L1 als auch L2 festlegen. Sie müssen sich für eine Option entscheiden. |
sgd.l2RegularizationAmount |
Double |
1E-6 (L2 wird standardmäßig für diesen Regularisationsumfang verwendet) |
Zulässiger Bereich: 0 bis MAX_DOUBLE L2-Werte zwischen 1E-2 and 1E-6 erzeugen bekanntermaßen gute Ergebnisse. Höhere Werte erzeugen möglicherweise Modell, die nicht sehr hilfreich sind. Sie können sowohl L1 als auch L2 festlegen. Sie müssen sich für eine Option entscheiden. |