Was ist automatisiertes maschinelles Lernen (AutoML)?
Automatisiertes Machine Learning (AutoML) automatisiert den Prozess der Anwendung von Machine Learning auf Daten. Mit einem Dataset können Sie AutoML ausführen, um unterschiedliche Datentransformationen, Machine Learning-Algorithmen und Hyperparameter zur Wahl des besten Modells zu durchlaufen.
Hinweis
Dieser Artikel bezieht sich auf die ML.NET AutoML-API, die sich aktuell in der Vorschauphase befindet. Änderungen am Material vorbehalten.
Wie funktioniert automatisiertes maschinelles Lernen?
Der allgemeine Workflow zum Trainieren von Machine Learning-Modellen sieht wie folgt aus:
- Definieren eines Problems
- Sammeln von Daten
- Vorverarbeiten von Daten
- Trainieren eines Modells
- Evaluieren des Modells
Vorverarbeitung, Training und Auswertung sind ein experimenteller und iterativer Prozess, der mehrere Versuche erfordert, bis Sie zufriedenstellende Ergebnisse erzielen. Da sich diese Aufgaben in der Regel wiederholen, kann AutoML diese Schritte automatisieren. Neben der Automatisierung werden im Trainings- und Auswertungsprozess Optimierungstechniken verwendet, um Algorithmen und Hyperparameter zu finden und auszuwählen.
Wann sollte AutoML verwendet werden?
Unabhängig davon, ob Sie gerade erst mit Machine Learning beginnen oder ein erfahrener Benutzer sind, bietet AutoML Lösungen für die Automatisierung des Modellentwicklungsprozesses.
- Anfänger: Wenn Sie noch nicht mit maschinellem Lernen vertraut sind, vereinfacht AutoML den Modellentwicklungsprozess, indem es eine Reihe von Standardwerten zur Verfügung stellt, die die Anzahl der Entscheidungen verringern, die Sie beim Trainieren Ihres Modells treffen müssen. Dadurch können Sie sich auf Ihre Daten und das Problem konzentrieren, das Sie lösen möchten, während AutoML den Rest erledigt.
- Erfahrene Benutzer: Wenn Sie über Erfahrung mit Machine Learning verfügen, können Sie die von AutoML zur Verfügung gestellten Standardeinstellungen entsprechend Ihren Anforderungen anpassen, konfigurieren und erweitern und zugleich die Automatisierungsfunktionen nutzen.
AutoML in ML.NET
- Featurizer: Komfort-API zum Automatisieren der Datenvorverarbeitung.
- Testversion: Eine einzelne Ausführung zur Optimierung der Hyperparameter.
- Experiment: Eine Sammlung von AutoML-Testversionen. ML.NET bietet eine allgemeine API zum Erstellen von Experimenten, die Standardwerte für die Einzelkomponenten Sweepable Pipeline, Suchbereich und Tuner festlegt.
- Suchbereich: Der Bereich der verfügbaren Optionen zum Auswählen von Hyperparametern.
- Tuner: Die die zum Optimieren von Hyperparametern verwendeten Algorithmen. ML.NET unterstützt die folgenden Tuner:
- Cost Frugal Tuner: Implementierung der frugalen Optimierung für kostenbezogene Hyperparameter, die die Trainingskosten berücksichtigt
- Eci Cost Frugal Tuner: Implementierung von Cost Frugal Tuner für hierarchische Suchbereiche. Der von AutoML verwendete Standardtuner.
- SMAC: Tuner, der zufällige Gesamtstrukturen verwendet, um bayesische Optimierung anzuwenden.
- Rastersuche: Tuner, der am besten für kleine Suchbereiche geeignet ist.
- Zufällige Suche
- Sweepable Estimator: Ein ML.NET-Schätzer, der einen Suchbereich enthält.
- Sweepable Pipeline: Eine ML.NET-Pipeline, die einen oder mehrere Sweepable Estimators enthält.
- Trial Runner: AutoML-Komponente, die Sweepable Pipelines und Testeinstellungen verwendet, um Testergebnisse aus Modelltraining und -auswertung zu generieren.
Anfängern wird empfohlen, mit den Standardeinstellungen zu beginnen, die von der allgemeinen Experiment-API zur Verfügung gestellt werden. Erfahrenere Benutzer, die nach Anpassungsoptionen suchen, verwenden die Komponenten „Sweepable Estimator“, „Sweepable Pipeline“, „Suchbereich“, „Trial Runner“ und „Tuner“.
Weitere Informationen zu den ersten Schritten mit der AutoML-API finden Sie unter Verwenden der ML.NET-API für automatisiertes Maschinelles Lernen (AutoML).
Unterstützte Aufgaben
AutoML stellt vorkonfigurierte Standardwerte für die folgenden Aufgaben zur Verfügung:
- Binäre Klassifizierung
- Multiklassenklassifizierung
- Regression
Für andere Aufgaben können Sie einen eigenen Testrunner erstellen, der diese Szenarien ermöglicht. Weitere Informationen finden Sie unter Gewusst wie: Verwenden der API für automatisiertes maschinelles Lernen (AutoML) von ML.NET.