autoML : : Benchmarking und Übersicht über automatisierte Frameworks für maschinelles Lernen

Benchmark und Übersicht über automatisierte Frameworks für maschinelles Lernen

Artikel Link

Fügen Sie hier eine Bildbeschreibung ein

Zusammenfassung:

1. Überblick über aktuelle autoML-Methoden und Benchmarks gängiger automl-Frameworks für tatsächliche Daten
2. Fassen Sie wichtige automl-Technologien zusammen, um Pipelines für maschinelles Lernen zu erstellen

Einführung:

Die ML-Pipeline erfordert:
1. Datenwissenschaftler mit umfassenden ML-Algorithmen und statistischen Fähigkeiten
2. Domain-Experten mit langjähriger Erfahrung auf einem bestimmten Gebiet.
Diese beiden können zusammen eine vernünftige ML-Pipeline mit angepasster Datenvorverarbeitung und domänengesteuerter Bedeutung erstellen Feature Engineering und ein fein abgestimmtes Modell mit ausreichender Vorhersagekraft. Da dies jedoch ein sehr komplexes Problem ist und ständiges Ausprobieren erfordert, ist das Erstellen einer guten ML-Pipeline immer noch langfristig und erfordert viel Aufwand. Praktiker verwenden normalerweise nur eine suboptimale Standard-ML-Pipeline.

Artikelbeitrag:

1. Die mathematische Formeldefinition der Automl-Pipeline, die den gesamten Prozess abdeckt.
2. Überprüfen Sie die Automl-Pipeline des Open Source-Frameworks.
3. Die Erfahrungsbewertung
verschiedener Bibliotheken von Hyperparameter- Tuning-Algorithmen. 4. Die Erfahrungsbewertung verschiedener Automl-Frameworks

2.Problemformulierung

3.Pipeline-Strukturerstellung

3.1 Feste Form
hat zwei feste Pipelines: Prototypische ML-Pipeline und Feste ML-Pipeline
-w578
[Die Übertragung externer Links ist fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-gfiMcjSM-1583023864585). : //anki190912.xuexihaike.com/mweb/15813263917669-2020-03-01.jpg)]

3.2 Variable Form
Andere Methoden zum Erstellen flexiblerer ML-Pipelines sind: Genetische Programmierung, Hierarchische Task-Netzwerke, Monte-Carlo-Baumsuche, Selbstspiel

4.Algorithmusauswahl und Hyperparameteroptimierung Algorithmusauswahl und Hyperparameteroptimierung

kombinierte Algorithmusauswahl und Hyperparameteroptimierung (CASH) Algorithmusauswahl und Parameteroptimierung

Schwierigkeiten:
1. Die beiden Schritte werden gleichzeitig ausgeführt.
2. Es handelt sich um ein Black-Box-Optimierungsproblem
. 3. Der Suchraum ist zu groß und kompliziert
. 4. Hyperparameter umfassen sowohl diskrete als auch reale Werte. Es handelt sich um ein gemischtes ganzzahliges nichtlineares Optimierungsproblem.
5. Hyperparameter Enthält zwei Kategorien: obligatorischer Hyperparameter und bedingter Hyperparameter

Die vorgeschlagene Lösung: Verstehen Sie den Parameterraum als Baum und erzwingen Sie, dass der Hyperparameter ein untergeordneter Knoten ist. Der bedingte Hyperparameter ist ein untergeordneter Knoten des erzwungenen Hyperparameters.
[Bildübertragung für externe Links fehlgeschlagen. Die Quellwebsite verfügt möglicherweise über einen Diebstahlschutzmechanismus. Es wird empfohlen, das Bild direkt zu speichern Hochladen (img-VXlJL2aw-1583023864586) (http://anki190912.xuexihaike.com/mweb/15816064033401-2020-03-01.jpg)]

4.1 Rastersuche

Alle möglichen Konfigurationen
sind aufgelistet. Vorteile: einfach zu implementieren und parallel.
Nachteile:
1. Die Parameterkombination nimmt exponentiell mit der Anzahl der Parameter zu.
2. Der Superparameter der hierarchischen Struktur berücksichtigt die redundante Superparameterkombination
nicht. 3. Sie ist nicht gut erforscht Der Raum, der gut funktioniert, aber teilweise beseitigt werden kann. Die Lösung besteht darin, zuerst einfach ein grobes Raster zu durchsuchen und dann an guten Stellen fein zu suchen.

4.2 Zufallssuche

Vorteile: einfach zu implementieren und parallel und für gradientenfreie Funktionen mit vielen lokalen Optima geeignet. Die Konvergenzgeschwindigkeit ist schneller als die Rastersuche. Dies ist erforderlich, wenn kein guter Suchraum bekannt ist.
Nachteile: lange Suchzeit

4.3 Sequentielle modellbasierte Optimierung (SMBO)

Die zu untersuchenden Schlüsselpunkte
basieren auf dem Gaußschen Prozess und der zufälligen Waldregression als Proxy-Funktionen

4.4 Evolutionäre Algorithmen

Vorteile: Geeignet für viele Optimierungsprobleme, da keine Annahmen über die Zielfunktion
vorliegen . Die Optimierung des Partikelschwarms ist nützlich, aber diskrete und ganzzahlige Hyperparameter müssen auf den kontinuierlichen Raum abgebildet werden

4.5 Mehrarmiges Banditenlernen

Viele SMBO-Methoden sind auf gemischte und bedingte Suchräume beschränkt. Da die Rastersuche nur diskrete Hyperparameter enthalten kann, unterteilt diese Methode den gesamten Hyperparameterraum basierend auf den diskreten Hyperparametern der Rastersuche in einen endlichen kleinen Parameterraum. Es wird als Hyperpartition bezeichnet, die nur kontinuierliche Hyperparameter enthält, und in jeder Partition wird die Bayes'sche Optimierung verwendet.
Diese Methode wird normalerweise mit anderen Optimierungsmethoden kombiniert.

4.6 Gefälle

Verfügbar, wenn die Zielfunktion differenzierbar und geschlossen ist

5. Automatische Datenbereinigung

Der Zweck der Datenbereinigung besteht darin, die Codequalität durch Löschen falscher Daten zu verbessern. Häufige Datenfehler sind: fehlende Daten, redundante Daten, ungültige Werte oder unterbrochene Verknüpfungen zwischen mehreren Datensätzen. Die
Datenbereinigung umfasst zwei Aufgaben: Fehlererkennung und Fehlerbehebung

Das Ziel der meisten Methoden besteht darin, Datenwissenschaftler bei der Datenbereinigung zu unterstützen und keine automatisierte Datenbereinigung durchzuführen

Normalerweise lauten die Schritte zur Datenbereinigung wie
folgt : Füllen Sie fehlende Werte aus, löschen Sie Beispiele mit falschen Werten wie unendlichen Werten und Ausreißern und normalisieren Sie Features. Manchmal erfordern die nachfolgenden Schritte der ML-Pipeline bestimmte Daten, damit das aktuelle autoML-Framework dies nicht tut Betrachten Sie fortgeschrittene Forschungsarbeiten zur Datenbereinigung

Eine Datenbereinigung, die Domänenwissen umfasst, verbessert die Datenqualität erheblich

6. Automatisches Feature Engineering

Unterteilt in 3 Unteraufgaben: Feature-Extraktion, Feature-Konstruktion, Feature-Auswahl. Die
Feature-Konstruktion im Feature-Engineering hängt stark vom Domänenwissen ab und ist als Allgemeinwissen äußerst schwierig zu verwenden

6.1 Feature-Generierung

Die Methode zur Feature-Generierung zum Generieren neuer Features besteht darin, das ursprüngliche Feature (Feature-Extraktion) über eine Funktion dem neuen Feature zuzuordnen oder die fehlende Beziehung im Quell-Feature zu finden. Dieser Schritt hängt stark vom Domänenwissen ab und ist schwer zu automatisieren

Automatisierte Feature Generation Flussdiagramm: in der Regel auf der Grundlage der Quelldatum eine Reihe von Kandidaten - Funktionen zu generieren und sortieren sie, die , die mit hochrangiger Auswertung werden in den Datensatz gesetzt werden
[Die externe Link Bildübertragung fehlschlägt, kann die Quelle - Website Anti-Leech - Mechanismus hat, wird empfohlen , das Bild zu speichern und laden Sie sie direkt (img-ytxTOdF0-1583023864587) (http://anki190912.xuexihaike.com/mweb/15816411215647-2020-03-01.jpg)]

Vordefinierte Methoden zur Generierung neuer Features:
unär: eindimensionale Features, Diskretisierung, Standardisierung, Normalisierung, Datumsextraktion, Protokollbinär
: Korrelationstest und Generieren neuer Features (erfordert Nachforschungen)
Hochrangig: In der Regel SQL-Gruppierung nach Alle Daten werden nach einem bestimmten Merkmal gruppiert und Statistiken wie maximaler und minimaler Durchschnitt und Menge werden verwendet

Die übliche Praxis besteht darin, eine Reihe von Methoden zur Feature-Generierung vorab zu definieren. Nachdem das Feature extrahiert und von der Methode generiert wurde, wird das neue Feature verwendet, um zu bestimmen, dass das neue Feature tatsächlich die Modellleistung verbessern kann, und dann zu den Quelldaten hinzugefügt. Iterative Runden
dieser Methode sind äußerst zeitaufwändig. Und die meisten Methoden enthalten keine nützlichen Informationen

6.2 Funktionsauswahl

Entfernen Sie redundante und irreführende Merkmale, um die Interpretierbarkeit des Trainingsmodells zu verbessern.
Die von modernem autoML integrierten Methoden umfassen: univariate Auswahl, Varianzauswahl, Merkmalsbedeutung, Korrelationsmatrizen oder Stabilitätsauswahl

Die Feature-Auswahl testet, ob die Leistung eines bestimmten ML-Modells durch Wrapper-Funktionen verbessert wird. Die
einfache Möglichkeit, die beste Feature-Teilmenge zu finden, besteht darin, sie zufällig zu suchen oder die Teilmenge im Detail zu testen. Die heuristische Methode besteht darin, einzelne Features schrittweise oder durch eine Kombination hinzuzufügen der Vorwärts- und Rückwärtsselektion sowie der Verwendung der Teilmengenauswahl als Verstärkungsproblem und der genetischen Programmierung (zu untersuchen)

Es gibt auch eine Berechnung von Meta-Merkmalen für jedes neue Merkmal, wie z. B. Wertvielfalt und gegenseitige Information mit anderen Merkmalen (zu untersuchen).

7 Leistungsverbesserungen

7.1 Multi-Fidelity-Näherungen (zu untersuchen)

Eines der Hauptprobleme bei autoML und CASH ist die extrem hohe Bearbeitungszeit. Eine Möglichkeit, dieses Problem zu vermeiden, sind Multi-Fidelity-Approximationen. Das heißt, Datenwissenschaftler verwenden normalerweise eine Teilmenge oder Untermerkmale der Trainingsdaten, um zuerst die ausgewählten Parameter zu testen In diesem Fall können die fehlerhaften Parameter schnell verworfen werden.

Eine einfache Methode besteht darin, mehrere zufällige Teilmengen des Trainingssatzes zufällig auszuwählen. Eine verfeinerte Methode ist

7.2 Frühes Anhalten

Das autoML-Framework verwendet normalerweise ein vorzeitiges Stoppen, dh wenn die Leistung des ersten Kompromisses der nächsten Kreuzvalidierung stark beeinträchtigt wird, wird es gestoppt.
Es werden auch zwei Methoden erwähnt: 1. Durch
gleichzeitiges Berücksichtigen mehrerer Konfigurationen in einem iterativen Verfahren kann die vielversprechendste Konfiguration in jedem Schritt optimiert werden. Durch
gleichzeitige Beobachtung mehrerer Konfigurationen in einem iterativen Verfahren gleichzeitig kann die vielversprechendste Konfiguration in jedem Schritt optimiert werden. Die Hyperparameterkonfiguration kann bei jedem Schritt optimiert werden.
2. Führen Sie mehrere Probleminstanzen parallel aus, einige Probleminstanzen können lange dauern, und der dynamische Zeitschwellenwert kann während des laufenden Prozesses ermittelt werden, und Langzeitinstanzen können unterbrochen werden

7.3 Skalierbarkeit

Verwenden Sie Multi-Core- oder Cluster-Parallelität, um das Problem der übermäßigen Berechnung zu lösen. Da autoML viele Modellierungsschritte aufweist, ist es
relativ einfach , jedem Cluster bei der Zufallssuche, der Rastersuche und den evolutionären Algorithmen parallel unterschiedliche Instanzen zuzuweisen , während SMBO schwieriger ist. ist eine Abfolge von Schritten, da
eine mögliche Lösung darin besteht, die beste Topk-Konfiguration anstelle der Konfiguration in der Konfiguration auszuwählen, nachdem alle ausgewertet wurden, ein Proxy-Modell aktualisiert wurde und der Auswertungsstart des nächsten
Stapels zusätzlich die Service-AutoML-Methode
[Outer] verwenden kann Wenn die Übertragung des Kettenbilds nicht erfolgreich ist, verfügt die Quellseite möglicherweise über einen Anti-Blutegel-Kettenmechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-W5W2jgFG-1583023864588) (http://anki190912.xuexihaike.com/mweb/15816537047503-2020-03-01.jpg) )]

7.4 Ensemble-Lernen


Kombinieren Sie die Vorhersagen mehrerer Modelle, um das Modellstapeln zu verbessern :

7.5 Meta-Lernen (zu studieren)

Die
Vorteile des Lernprozesses beim Lernen von Algorithmen für maschinelles Lernen sind:
1. Unwichtige Hyperparameter können aus dem Hyperparameterraum entfernt werden, indem die Bedeutung einzelner Hyperparameter bewertet wird
. 2. Kandidaten mit schlechter empirischer Leistung können aus der vorhergesagten Leistung herausgefiltert werden. Siehe Konfiguration
3. Heißstart
4. Geeignet für die Erstellung der Pipeline-Struktursuche

8.Ausgewählte Frameworks

8.1 CASH-Algorithmen

[Die Bildübertragung für externe Links ist fehlgeschlagen. Die Quellseite verfügt möglicherweise über einen Anti-Blutegel-Link-Mechanismus. Es wird empfohlen, das Bild zu speichern und direkt hochzuladen (img-Tly95P4J-1583023864588) (http://anki190912.xuexihaike.com/mweb/15816607573240-2020-03-01) .jpg)]

8.1.1 Basismethoden

Der Dummy-Klassifikator verwendet eine geschichtete Stichprobe, um zufällige Ergebnisse zu generieren.
Random Forest

8.1.2 Rastersuche

Verwenden Sie GRIDSEARCHCV in scikit-learn, das eine einzelne Maschine parallel sein kann

8.1.3 Zufallssuche

Verwenden Sie RamdomSearchCV in Scikit-Learn, eigenständig parallel

8.1.4 RoBO

Allgemeines Framework für die Bayes'sche Optimierung. Unterstützte Proxy-Modelle umfassen den Gaußschen Prozess, die Zufallsstruktur und das Bayes'sche neuronale Netzwerk.
Eine Einschränkung besteht darin, dass diskrete Hyperparameter nicht unterstützt werden

8.1.5 BTB

BTB verwendet mehrarmiges Banditenlernen, um die Einschränkung zu umgehen, dass RoBO keine diskreten Superparameter unterstützt

8.1.6 Hyperopt

Das SMBO, das das Ersatzmodell TPE verwendet, verwendet mehrere Instanzen, um die hierarchischen Hyperparameter zu modellieren, und die Anzahl der Iterationen ist eher auf die Anzahl als auf die Zeit beschränkt, was
leicht zu parallelisieren ist. Generieren Sie durch Verteilung viele neue Kandidaten-Hyperparameter-Konfigurationen, um die Effizienz zu verbessern

8.1.7 SMAC

Das erste Framework, das diskrete Variablen explizit unterstützt, kann Iterationen nach Zeit und Zeit unterstützen. Mithilfe der
integrierten Unterstützung für die Modellierung der zufälligen Waldregression kann die Optimierung von Hyperparametern nach einer festgelegten Zeit gestoppt werden. Diese Methode kann bestimmte Leistungen nach einer bestimmten Zeit schnell stoppen Schlechte Modelle (wichtig)
können parallel sein

8.1.8 BOHB

Die Kombination aus Bayes'scher Optimierung und Hyperband. Die Einschränkung von Hyperband besteht darin, zufällig zu testende Hyperparameter zu generieren. BOHB verwendet SMBO (TPE), um diesen Prozess zu ersetzen.

8.1.9 Möglichkeit

Es gibt viele Löser. Hier wird der Partikelschwarmalgorithmus verwendet. Diskrete Superparameter werden auf ganzzahlige Superparameter abgebildet (dh kontinuierliche Superparameterbehandlung).

8.2 Automl-Framework

-w750

8.2.1 Basismethoden

Der Dummy-Klassifikator verwendet eine geschichtete Stichprobe, um zufällige Ergebnisse zu generieren.
Eine einfache Pipeline enthält eine Füllung mit fehlenden Werten und eine zufällige Gesamtstruktur

8.2.2 TPOT

Verwenden Sie die genetische Programmierung flexibel Rohrleitungen erstellen und wählen Sie Algorithmen an jeder Pipeline - Stufe.
Es können nur einzelne Variablen verwendet werden. Wie Rastersuche alle kontinuierlichen Variablen müssen zuerst diskretisiert werden. Der Unterschied besteht darin , dass die genetische Programmierung
werden kann , um die Feinabstimmung verwendet , um den Algorithmus. Die Möglichkeit, Pipelines zu erstellen, lässt sich sehr leicht überanpassen. Um dies zu kompensieren, optimiert TPOT eine Kombination aus hoher Leistung und geringer Pipelinekomplexität. Daher werden Pipelines anhand einer Pareto-Front mithilfe einer Auswahlstrategie mit mehreren Zielen ausgewählt. Die Bewertung der Leistung aller Einzelpersonen einer einzelnen Generation werden parallelisiert, um die Optimierung zu beschleunigen. Am Ende gibt TPOT die einzelne Pipeline mit der besten Leistung zurück
. Die Möglichkeit, Pipelines zu erstellen, die nicht den Regeln entsprechen, ist unbegrenzt. RECPIE schlägt Verbesserungen vor und unterstützt alle Scikit-Lernmethoden.

8.2.3 Hyperopt-sklearn (HPSKLEARN)

Die feste Pipeline verfügt nur über ein Vorverarbeitungs- und ein Klassifizierungs- oder Regressionsmodell. Die Modelle sind alle sklearn und Hyperopt wird für die Optimierung verwendet. Die Verwendung der Kreuzvalidierung zur Verhinderung einer Überanpassung der
Vorverarbeitung unterstützt nur PCA-, Standard- oder Min-Max-Skalierung und -Normalisierung. Codierung und Zeichenfolgenvorverarbeitung sind standardmäßig deaktiviert.

8.2.4 Auto-Sklearn

Feste Pipeline, feste Datenbereinigungsschritte: Optionale kategoriale Codierung, Imputation, Entfernen von Variablen mit geringer Varianz und optionaler Skalierung,
optionale Vorverarbeitung und obligatorische Modellierungsalgorithmen werden von SMAC ausgewählt und optimiert

Durch
Optimierung auf einer einzelnen Maschine oder einem Cluster verbessert, hat jede Optimierung ein Zeitlimit . Meta-Learning wird verwendet, um den Optimierungsprozess, der mit zusätzlichen 140 Datensätzen durchgeführt wird,
mithilfe einer integrierten Methode zu initialisieren

8.2.5 Zufallssuche

Verwenden Sie die Zufallssuche von auto-sklearn als weitere Basis

8.2.6 Geldautomat

Dies ist ein kollaborativer Dienst, bei dem die Parallelisierung im Vordergrund steht, damit eine einzelne Auswertung auf dem Cluster verteilt werden kann.
Verwenden Sie einfache Pipeline-Ergebnisse, einschließlich n
optionaler PCA, einer optionalen Standard- oder Min-Max-Skalierung, gefolgt von einem einstellbaren Klassifizierungsalgorithmus.
Verwenden Sie sklearn und andere Algorithmen Die BTB-Optimierung
verwendet eine zentrale Datenbank zum Speichern aller Datensätze. Die getestete Konfiguration und Leistung verwenden
auch Meta-Learning

8.2.7 H2O AUTOML

H2O ist ein verteiltes ML-Framework.
H2O automl kann die Vorverarbeitung überspringen, um den Klassifizierungsalgorithmus auszuwählen und abzustimmen, die (kartesische) kartesische oder zufällige Rastersuche zu verwenden und
schließlich die guten Ergebnisse zu integrieren

10 Diskussion und Möglichkeiten für zukünftige Forschung

1. Mit Ausnahme aller CASH-Algorithmen der Rastersuche ist die Leistung sehr ähnlich und die Leistung der Zufallssuche nicht schlecht. Das Endergebnis zeigt, dass der Unterschied in der besten Leistung aller Datensätze 1% nicht überschreitet.
2. Die Leistung des autoML-Frameworks ist auch bei einzelnen Daten sehr ähnlich Der größte Unterschied am Set beträgt 6%.
3. Das Potenzial spezialisierter Pipelines wird derzeit überhaupt nicht genutzt.
4. Derzeit konzentriert sich autoML nur auf überwachtes Lernen.
5. Derzeit wird nur das CASH-Problem automatisiert, da CASH nicht mit der Domäne, sondern mit einer Datenmenge zusammenhängt Wissenschaftler verbringen 60-80% der eigentlichen Datenbereinigung und Feature-Engineering und nur 4% der Zeit für die Optimierung von Modellen
. 6. Es gibt drei Bereiche: erweiterte Datenbereinigung, Feature-Konstruktion und flexible Pipeline-Konstruktion. Derzeit gibt es nicht viele Artikel, aber dies Es ist eine wichtige 3 Richtung, um die Leistung von autoML zu verbessern.
7. Nur die Kombination aus dynamischer Pipeline + automatischem Feature-Engineering + ausgefeilter CASH-Methode kann das aktuelle autoML-Framework besiegen. Das langfristige Ziel sollte jedoch darin bestehen, automatisch eine vollständige Pipeline zu erstellen, und jede Komponente ist dies Optimiert

8. Zwei Hauptmängel unerfahrener Benutzer, die autoML verwenden:
(1) Das fundierte Wissen der Domain-Experten über den Datensatz kann den Suchraum erheblich verringern.
(2) Die Interpretierbarkeit von ML ist weniger bekannt

11 Fazit

1. Bereitstellung eines Tests des CASH-Algorithmus in 114 öffentlichen Datensätzen.
2. Test des autoML-Frameworks.
3. Zusammenfassung der in diesen Frameworks verwendeten Technologien.
4. Erweiterung der Definition des aktuellen Problems

Das derzeitige erweiterte Automl-Framework kann Domain-Experten beim Erstellen von ML-Pipelines helfen, um mühsame Arbeit zu vermeiden. Die automatische Erstellung eines allgemeinen Frameworks ist jedoch immer noch sehr grundlegend und kann nicht mit der menschlichen Erfahrung verglichen werden

Ich denke du magst

Origin blog.csdn.net/u011703187/article/details/104586791
Empfohlen
Rangfolge