Validieren eines Machine Learning-Modells - 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.

Validieren eines Machine Learning-Modells

Nach der Schulung eines Modells werten Sie dieses aus, um zu ermitteln, ob dessen Leistung und Genauigkeit es Ihnen ermöglichen, Ihre Geschäftsziele zu erreichen. Sie können mehrere Modelle mit verschiedenen Methoden generieren und jeweils auswerten. Beispielsweise können Sie unterschiedliche Geschäftsregeln für die einzelnen Modelle nutzen und dann verschiedene Maßnahmen einsetzen, um die Eignung jedes Modells zu bestimmen. Sie können prüfen, ob Ihr Modell eher empfindlich als spezifisch sein muss (oder umgekehrt).

Sie können Ihr Modell anhand von historischen Daten (offline) oder Live-Daten auswerten:

  • Offline-Tests–Verwenden Sie historische Daten, keine Live-Daten, um Inferenzanforderungen an das Modell zu senden.

    Stellen Sie das geschulte Modell auf einem Alpha-Endpunkt bereit und nutzen Sie historische Daten, um Inferenzanforderungen an dieses zu senden. Um die Anfragen zu senden, verwenden Sie ein Jupyter-Notebook in Ihrer Amazon SageMaker-Notebook-Instance und entweder die AWS SDK for Python (Boto) oder die High-Level-Python-Bibliothek, die von bereitgestellt wird SageMaker.

  • Online-Tests mit Live-Daten –SageMaker unterstützt A/B-Tests für Modelle in der Produktion mithilfe von Produktionsvarianten. Produktionsvarianten sind Modelle, die denselben Inferenzcode verwenden und auf demselben SageMaker Endpunkt bereitgestellt werden. Konfigurieren Sie die Produktionsvarianten so, dass ein geringer Teil des Live-Datenverkehr an das zu validierende Modell geleitet wird. Beispielsweise können Sie festlegen, dass 10 % des Datenverkehrs zur Auswertung an eine Modellvariante gesendet werden. Wenn Sie mit der Leistung des Modells zufrieden sind, können Sie den Datenverkehr zu 100 % an das aktualisierte Modell weiterleiten. Ein Beispiel für das Testen von Modellen in der Produktion finden Sie unter Produktionsvarianten.

Weitere Informationen finden Sie in Artikeln und Büchern zur Auswertung von Modellen, z. B. Evaluating Machine Learning Models (Auswerten von Machine Learning-Modellen).

Die Offline-Modellauswertung bietet folgende Optionen:

  • Validieren mithilfe eines Holdout-Satzes–Machine Learning-Experten halten häufig einen Teil der Daten als "Holdout-Satz" zurück. Das heißt, diese Daten werden nicht für die Modellschulung verwendet.

    Bei dieser Methode wird ausgewertet, wie gut das Modell Inferenzen zum Holdout-Satz generiert. Anschließend wird ermittelt, wie effektiv das in der Initialschulung Gelernte vom Modell generalisiert werden kann, im Gegensatz zur Gedächtnisnutzung des Modells. Anhand dieses Validierungsansatzes lässt sich erkennen, wie oft das Modell die richtige Antwort ableiten kann.

     

    In gewisser Weise ist dieser Ansatz mit dem Unterrichten von Grundschulschülern vergleichbar. Zunächst geben Sie den Schülern einige Beispiele zum Lernen an die Hand und anschließend testen Sie deren Fähigkeit, das Gelernte zu verallgemeinern. Mit Hausaufgaben und Tests stellen Sie Probleme dar, die in den initialen Lerninhalten nicht vorkamen, und bestimmen, ob die Schüler effektiv generalisieren können. Schüler mit perfektem Gedächtnis können sich die Probleme einprägen, anstatt die Regeln zu lernen.

     

    In der Regel umfasst ein Holdout-Dataset 20 bis 30 % der Schulungsdaten.

     

  • k-fold Validierung–Bei dieser Validierungsmethode wird das Beispieldatensatz in k Teile gesplittet. Sie behandeln jeden Teil als Holdout-Satz für k Schulungsläufe und verwenden die anderen k-1 Teile als Schulungssatz für diesen Durchlauf. Sie erstellen k-Modelle mit einem ähnlichen Verfahren und aggregieren die Modelle, um das finale Modell zu generieren. Der Wert von k liegt in der Regel zwischen 5 und 10.