AutoAI bereitet automatisch Daten vor, wendet Algorithmen oder Schätzer an und erstellt Modellpipelines, die am besten für Ihre Daten und Ihren Anwendungsfall geeignet sind.
In den folgenden Abschnitten werden einige dieser technischen Details beschrieben, die beim Generieren der Pipelines verwendet werden, und es wird eine Liste von Forschungspapieren bereitgestellt, die beschreiben, wie AutoAI entworfen und implementiert wurde.
- Daten für das Training aufbereiten (Vorverarbeitung)
- Automatisierte Modellauswahl
- Für Klassifikationsmodelle verwendete Algorithmen
- Für Regressionsmodelle verwendete Algorithmen
- Metriken nach Modelltyp
- Datentransformationen
- Automatisierte Merkmalsentwicklung
- Hyperparameteroptimierung
- AutoAI - Häufig gestellte Fragen
- Weitere Informationen
Daten für Training aufbereiten (Datenvorverarbeitung)
Während der automatischen Datenaufbereitung (Datenvorverarbeitung) werden die Trainingsdaten von AutoAI analysiert und für die Modellauswahl und Pipelinegenerierung aufbereitet. Die meisten Datasets enthalten fehlende Werte, aber Algorithmen für maschinelles Lernen erwarten normalerweise keine fehlenden Werte. Eine Ausnahme von dieser Regel ist in Abschnitt 3.4 von xgboost beschrieben. AutoAI -Algorithmen führen verschiedene Imputationen fehlender Werte in Ihrem Dataset durch, indem sie verschiedene Verfahren verwenden, um Ihre Daten für maschinelles Lernen vorzubereiten. Darüber hinaus erkennt und kategorisiert AutoAI Merkmale auf der Basis des Datentyps (z. B. kategorial oder numerisch). Es untersucht Codierungs-und Skalierungsstrategien, die auf der Merkmalkategorisierung basieren.
Bei der Datenaufbereitung werden folgende Schritte ausgeführt:
Spaltenklassifikation für Merkmale
- Erkennt die Typen von Merkmalsspalten und klassifiziert sie als kategoriale oder numerische Klasse
- Erkennt verschiedene Typen von fehlenden Werten (Standard, vom Benutzer bereitgestellt, Ausreißer)
Merkmalsentwicklung
- Verarbeitet Zeilen, für die Zielwerte fehlen (Löschen (Standardeinstellung) oder Zielimputation)
- Löscht eindeutige Wertspalten (außer Datums-/Uhrzeitspalten und Zeitmarken)
- Löscht konstante Wertspalten
Vorverarbeitung (Datenimputation und Codierung)
- Wendet Sklearn-Strategien an (Imputation/Codierung/Skalierung; für jede Featureklasse separat). Die aktuelle Standardmethode für Imputationsstrategien für fehlende Werte, die im Produkt verwendet werden, ist beispielsweise
most frequent
für kategoriale Variablen undmean
für numerische Variablen. - Verarbeitet Kennsätze von Testsätzen, die nicht im Trainingsset angezeigt wurden
- HPO-Feature: Optimiert Imputations-/Codierungs-/Skalierungsstrategien bei einem Dataset und einem Algorithmus
Automatische Modellauswahl
Die zweite Stufe eines AutoAI-Experimenttrainings ist die automatisierte Modellauswahl. Der Algorithmus für die automatisierte Modellauswahl verwendet die Datenzuteilung unter Verwendung der Strategie "Obere Grenzen". Dieser Ansatz ordnet sequenziell kleine Untergruppen von Trainingsdaten einer großen Gruppe von Algorithmen zu. Das Ziel besteht darin, einen Algorithmus auszuwählen, der eine nahezu optimale Genauigkeit bietet, wenn alle Daten trainiert werden, während gleichzeitig die Kosten für falsch zugeordnete Stichproben minimiert werden. Das System unterstützt derzeit alle Scikit-learn-Algorithmen sowie die gängigen Algorithmen XGBoost und LightGBM . Das Trainieren und Bewerten von Modellen für große Datasets ist kostenintensiv. Der Ansatz, kleine Subsets zu starten und inkrementell größere Subsets Modellen zuzuordnen, die gut auf dem Dataset funktionieren, spart Zeit, ohne die Leistung zu beeinträchtigen.Snap Machine Learning-Algorithmen (Snap ML) wurden dem System hinzugefügt, um die Leistung noch weiter zu steigern.
Auswählen von Algorithmen für ein Modell
Algorithmen werden so ausgewählt, dass sie mit den Daten und der Art des Modells übereinstimmen, aber sie können auch die Genauigkeit und die Dauer der Laufzeit ausgleichen, wenn das Modell für diese Option konfiguriert ist. Snap ML-Algorithmen sind beispielsweise in der Regel schneller beim Training als Scikit-Learn-Algorithmen. Sie sind häufig die bevorzugten Algorithmen, die AutoAI automatisch für Fälle auswählt, in denen das Training für eine kürzere Laufzeit und Genauigkeit optimiert ist. Sie können sie manuell auswählen, wenn die Trainingsgeschwindigkeit eine Priorität ist. Details dazu finden Sie in der Snap ML-Dokumentation. Eine Erörterung darüber, wann SnapML -Algorithmen nützlich sind, finden Sie in diesem Blogbeitrag zur Verwendung von SnapML -Algorithmen .
Für Klassifikationsmodelle verwendete Algorithmen
Diese Algorithmen sind die Standardalgorithmen, die für die Modellauswahl für Klassifikationsprobleme verwendet werden.
Algorithmus | Beschreibung |
---|---|
Decision Tree Classifier | Ordnet Beobachtungen zu einem Element (dargestellt in Verzweigungen) zu Schlussfolgerungen zu dem Zielwert des Elements (dargestellt in den äußersten Verzweigungen) zu. Unterstützt Binär-und Mehrklassenbeschriftungen sowie stetige und kategoriale Merkmale. |
Extra Trees Classifier | Ein Algorithmus zur Mittelwertbildung, der auf randomisierenden Entscheidungsstrukturen basiert. |
Gradient Boosted Tree Classifier | Erstellt ein Klassifikationsvorhersagemodell in Form eines Ensembles aus Entscheidungsbäumen. Es unterstützt binäre Beschriftungen sowie stetige und kategoriale Merkmale. |
LGBM Classifier | Ein den Gradienten verstärkendes Framework, von dem ein blattweiser (horizontaler) Lernalgorithmus auf der Basis einer Baumstruktur verwendet wird. |
Logistic Regression | Analysiert ein Dataset, bei dem mindestens eine unabhängige Variable eines von zwei Ergebnissen bestimmt. Nur die binäre logistische Regression wird unterstützt. |
Random Forest Classifier | Erstellt mehrere Entscheidungsbäume, um die Bezeichnung zu generieren, die ein Modus für jeden Entscheidungsbaum ist. Es unterstützt sowohl Binär-als auch Mehrklassenbezeichnungen sowie stetige und kategoriale Merkmale. |
SnapDecisionTreeClassifier | Dieser Algorithmus stellt ein Klassifikationsmerkmal des Entscheidungsbaums mithilfe der IBM Snap ML-Bibliothek bereit. |
SnapLogisticRegression | Dieser Algorithmus stellt die regularisierte logistische Regression mithilfe des IBM Snap ML-Solvers bereit. |
SnapRandomForestClassifier | Dieser Algorithmus stellt ein Random Forest-Klassifikationsmerkmal mithilfe der IBM Snap ML-Bibliothek bereit. |
SnapSVMClassifier | Dieser Algorithmus stellt eine regularisierte Support Vector Machine unter Verwendung des IBM Snap ML-Solvers bereit. |
XGBoost Classifier | Präzises sicheres Verfahren, das für Klassifizierungsprobleme verwendet werden kann. XGBoost-Modelle werden in verschiedenen Bereichen verwendet, einschließlich Websuche Ranking und Ökologie. |
SnapBoostingMachineClassifier | Boosting-Maschine für binäre und aus mehreren Klassen bestehende Klassifikationstasks, die binäre Entscheidungsbäume mit linearen Modellen mit zufälligen Fourier-Features mischen. |
Für Regressionsmodelle verwendete Algorithmen
Diese Algorithmen sind die Standardalgorithmen, die für die automatische Modellauswahl bei Regressionsproblemen verwendet werden.
Algorithmus | Beschreibung |
---|---|
Decision Tree Regression | Ordnet Beobachtungen zu einem Element (dargestellt in den Verzweigungen) zu Schlussfolgerungen zu dem Zielwert des Elements (dargestellt in den äußersten Verzweigungen) zu. Unterstützt werden sowohl kontinuierliche als auch kategoriale Merkmale. |
Extra Trees Regression | Ein Algorithmus zur Mittelwertbildung, der auf randomisierenden Entscheidungsstrukturen basiert. |
Gradient Boosting Regression | Erstellt ein Regressionsvorhersagemodell in Form eines Ensembles aus Entscheidungsbäumen. Unterstützt werden sowohl kontinuierliche als auch kategoriale Merkmale. |
LGBM Regression | Ein den Gradienten verstärkendes Framework, von dem Lernalgorithmen verwendet werden, die auf einer Baumstruktur basieren. |
Lineare Regression | Modelliert die lineare Beziehung zwischen der skalarabhängigen Variable y und mindestens einer erklärenden Variable (oder unabhängigen Variable) x. |
Random Forest Regression | Erstellt mehrere Entscheidungsbäume, um die gemittelte Vorhersage für jeden Entscheidungsbaum zu generieren. Unterstützt werden sowohl kontinuierliche als auch kategoriale Merkmale. |
Spitze | Ridge-Regression ähnelt Ordinary Least Squares, hat jedoch negative Auswirkungen auf die Größe der Koeffizienten. |
SnapBoostingMachineRegressor | Dieser Algorithmus stellt eine Boosting-Maschine mithilfe der IBM Snap ML-Bibliothek bereit, die zum Erstellen eines Ensembles von Entscheidungsbäumen verwendet werden kann. |
SnapDecisionTreeRegressor | Dieser Algorithmus stellt einen Entscheidungsbaum mithilfe der IBM Snap ML-Bibliothek bereit. |
SnapRandomForestRegressor | Dieser Algorithmus stellt eine Zufallsgesamtstruktur unter Verwendung der IBM Snap ML-Bibliothek bereit. |
XGBoost Regression | GBRT ist ein präzises, effektives und schnell einsetzbares Verfahren, das für Regressionsprobleme verwendet werden kann. Gradient-Tree-Boosting-Modelle werden in verschiedenen Bereichen verwendet, einschließlich Websuchrangfolge und Ökologie. |
Metriken nach Modelltyp
Die folgenden Metriken sind zum Messen der Genauigkeit von Pipelines während des Trainings und zum Scoren von Daten verfügbar.
Metriken zur binären Klassifizierung
- Genauigkeit (Standard für das Ranking von Pipelines)
- ROC/AUC
- Durchschnittliche Genauigkeit
- F
- Negativer logarithmischer Verlust
- Genauigkeit
- Rückruf
Metriken zur Mehrklassenklassifizierung
Metriken für Modelle mit mehreren Klassen generieren Scores für die Leistung einer Pipeline im Hinblick auf die angegebene Messung. Beispiel: Ein F1 -Score ermittelt Durchschnittswerte für die Genauigkeit (der Vorhersagen, wie viele positive Vorhersagen korrekt waren) und Trefferquote (aller möglichen positiven Vorhersagen, wie viele korrekt vorhergesagt wurden).
Sie können eine Bewertung weiter eingrenzen, indem Sie sie qualifizieren, um die angegebene Metrik global zu berechnen (Makro), pro Bezeichnung (Mikro) oder um ein unausgewogenes Dataset zu gewichten, um Klassen mit mehr Darstellung zu bevorzugen.
- Metriken mit dem Qualifikationsmerkmal micro berechnen Metriken global, indem sie die Gesamtzahl der wahr-positiven, falsch-negativen und falsch-positiven Ergebnisse zählen.
- Metriken mit dem Qualifikationsmerkmal macro berechnen Metriken für jede Bezeichnung und suchen ihren ungewichteten Mittelwert. Alle Beschriftungen werden gleich gewichtet.
- Metriken mit dem Qualifikationsmerkmal weighted berechnen Metriken für jede Bezeichnung und suchen nach ihrem Durchschnitt, der durch den Beitrag jeder Klasse gewichtet wird. Beispiel: In einem Dataset, das Kategorien für Äpfel, Pfirsiche und Pflaumen enthält, gibt die gewichtete Metrik einen größeren Stellenwert für die korrekte Vorhersage von Äpfeln, wenn es viele weitere Instanzen von Äpfeln gibt. Dadurch wird das Makro geändert, um das Ungleichgewicht der Bezeichnungen zu berücksichtigen. Verwenden Sie eine gewichtete Metrik wie F1-weighted für ein unausgewogenes Dataset.
Die folgenden Metriken stehen für die Mehrfachklassenklassifizierung zur Verfügung:
- Genauigkeit (Standard für das Ranking von Pipelines)
- F1
- F1-Micro
- F1-Macro
- F1-Gewichtet
- Genauigkeit
- Präzision-Micro
- Präzision-Macro
- Präzision-Gewichtet
- Rückruf
- Trefferquote-Micro
- Trefferquote-Macro
- Trefferquote-Gewichtet
Metriken zur Regression
- Negative Wurzel aus dem mittleren quadratischen Fehler (Standardeinstellung für die Rangfolge der Pipeline)
- Negativer mittlerer absoluter Fehler
- Negative Wurzel aus dem Logarithmusfehler des quadratischen Mittelwerts
- Erklärte Varianz
- Negativer mittlerer quadratischer Fehler
- Negativer Logarithmusfehler des quadratischen Mittelwerts
- Negativer gemittelter absoluter Fehler
- R2
Automatisierte Merkmalsentwicklung
Die dritte Stufe des AutoAI-Prozesses ist das automatisierte Merkmalsentwicklung. Der Algorithmus für das automatisierte Feature Engineering basiert auf Cognito und wird in den Forschungspapieren „ Cognito: Automatisiertes Feature Engineering für überwachtes Lernen“ und „Feature Engineering für prädiktive Modellierung durch Verwendung von Reinforcement Learning“ beschrieben. Das System untersucht verschiedene Optionen für die Featureerstellung in hierarchischer und nicht erschöpfender Weise, während die Genauigkeit des Modells durch eine Explorationsnutzungsstrategie schrittweise maximiert wird. Diese Methode ist durch die "Trial and Error"-Strategie für die Merkmalsentwicklung inspiriert, wird aber von einem autonomen Agenten anstelle eines Menschen durchgeführt.
Metriken, die für die Wichtigkeit von Merkmalen verwendet werden
Bei baumbasierten Klassifizierungs-und Regressionsalgorithmen wie Decision Tree, Extra Trees, Random Forest, XGBoost, Gradient Boosted und LGBM sind Merkmalimporte ihre inhärenten Merkmalbedeutungsscores auf der Basis der Reduzierung des Kriteriums, das zum Auswählen von Aufteilungspunkten verwendet wird, und werden berechnet, wenn diese Algorithmen anhand der Trainingsdaten trainiert werden.
Bei Nicht-Baum-Algorithmen wie Logistic Regression, LInear Regression, SnapSVM, und Ridge sind die Merkmalswerte die Merkmalswerte eines Random-Forest-Algorithmus, der auf denselben Trainingsdaten trainiert wurde wie der Nicht-Baum-Algorithmus.
Für jeden Algorithmus liegen alle Merkmalbedeutungen im Bereich zwischen null und eins und wurden als Verhältnis zur maximalen Merkmalbedeutung normalisiert.
Datentransformationen
Für die Featureentwicklung verwendet AutoAI einen neuartigen Ansatz, bei dem verschiedene Optionen für die Featureerstellung auf strukturierte, nicht erschöpfende Weise untersucht werden, während die Modellgenauigkeit mithilfe von Verstärkungslernen schrittweise maximiert wird. Dies führt zu einer optimierten Sequenz von Transformationen für die Daten, die am besten mit den Algorithmen des Modellauswahlschritts übereinstimmen. In dieser Tabelle werden einige der verwendeten Transformationen und einige bekannte Bedingungen aufgelistet, unter denen sie nützlich sind. Hierbei handelt es sich nicht um eine erschöpfende Liste der Szenarios, in denen eine Transformation nützlich ist, da dies komplex und schwer zu interpretieren sein kann. Aus den aufgelisteten Szenarios geht nicht hervor, wie die Transformationen ausgewählt werden. Die Auswahl der Transformationen, die angewendet werden sollen, wird auf eine leistungsorientierte Art unter Verwendung von Trial-and-Error durchgeführt.
Name | Code | Funktion |
---|---|---|
Hauptkomponentenanalyse | pca | Reduziert die Dimensionen der Daten und führt eine Neuausrichtung für ein geeigneteres Koordinatensystem durch. Unterstützt den leichteren Umgang mit dem 'Fluch der Dimensionen' bei linear korrelierten Daten. Eliminiert Redundanz und trennt signifikante Signale in Daten. |
Standardskalierung | stdscaler | Skaliert Datenfunktionen auf einen Standardbereich. Dies trägt zur Wirksamkeit und Effizienz bestimmter Lernalgorithmen und anderer Transformationen wie PCA bei. |
Logarithmus | Protokoll | Reduziert eine rechtsschiefe Verteilung der Merkmale und sorgt für eine bessere Symmetrie. Die sich in den Merkmalen ergebende Symmetrie erleichtert dem Algorithmus das bessere Verständnis der Daten. Eine gleichmäßige Skalierung auf der Basis von Mittelwert und Varianz ist für symmetrische Daten aussagekräftiger. Darüber hinaus können bestimmte physische Beziehungen zwischen Funktion und Ziel erfasst werden, die am besten durch einen Logarithmus beschrieben werden. |
Kubikwurzel | cbrt | Reduziert eine rechtsschiefe Verteilung in Daten wie ein Logarithmus, die Wirkung ist jedoch schwächer als die eines Logarithmus, was in manchen Fällen geeigneter ist.Kann auch auf negative Werte oder Nullwerte angewendet werden, auf die ein Logarithmus nicht angewendet werden kann.Mit der Kubikwurzel können auch Einheiten geändert werden, zum Beispiel vom Volumen in eine Länge. |
Quadratwurzel | sqrt | Reduziert eine schwache rechtsschiefe Verteilung der Daten. Die Reduzierung ist schwächer als die durch den Logarithmus oder die Kubikwurzel. Es arbeitet mit Nullen und reduziert räumliche Dimensionen wie Fläche auf Länge. |
Quadrat | square | Reduziert die linke Schiefe auf einen mäßigen Grad, um solche Verteilungen symmetrischer zu machen. Es kann auch bei der Erfassung bestimmter Phänomene wie super-lineares Wachstum hilfreich sein. |
Produkt | Produkt | Ein Produkt mit zwei Merkmalen kann eine nicht lineare Beziehung zugänglich machen, um den Zielwert besser vorherzusagen als die einzelnen Werte allein. Die Artikelkosten für die Anzahl der verkauften Artikel sind beispielsweise ein besserer Indikator für die Größe eines Unternehmens als alle anderen. |
Numerisches exklusives Oder (Numerical XOR) | nxor | Diese Transformation unterstützt die Erfassung des Beziehungstyps 'Exklusive Disjunktion' zwischen Variablen, ähnlich einem bitweisen exklusiven Oder, aber in einem allgemeinen numerischen Kontext. |
Summe | Summe | Manchmal ist die Summe aus zwei Merkmalen besser mit dem Vorhersageziel korreliert, als die jeweiligen Merkmale allein. So können beispielsweise Darlehen aus verschiedenen Quellen, wenn sie summiert werden, eine bessere Vorstellung von der Gesamtverschuldung eines Kreditantragstellers vermitteln. |
Dividieren | divide | Division ist ein grundlegender Operand, der verwendet wird, um Mengen wie Brutto-BIP über die Bevölkerung (Pro-Kopf-BIP) auszudrücken, die die durchschnittliche Lebensdauer eines Landes besser als entweder das BIP allein oder die Bevölkerung allein darstellen. |
Maximum | max | Ermittelt den Höheren von zwei Werten. |
Rundung | Runden | Diese Transformation kann als Störung oder als zusätzliche Störung angesehen werden, um eine Überanpassung zu reduzieren, die möglicherweise auf ungenaue Beobachtungen zurückzuführen ist. |
Absoluter Wert | abs | Berücksichtigt nur die Größe und nicht das Vorzeichen einer Beobachtung. Manchmal ist die Richtung oder das Vorzeichen einer Beobachtung nicht so wichtig wie ihre Größe, zum Beispiel die physische Distanz, während Brennstoff oder Zeit berücksichtigt werden, die bei einer Bewegung aufgewendet werden. |
Hyperbeltangens | tanh | Eine nicht lineare Aktivierungsfunktion kann die Vorhersagegenauigkeit verbessern, ähnlich wie bei Aktivierungsfunktionen für neuronale Netze. |
Sinus | sin | Kann die Daten neu ausrichten, sodass periodische Trends wie einfache sinusförmige Bewegungen entdeckt werden. |
Kosinus | cos | Kann die Daten neu ausrichten, sodass periodische Trends wie einfache sinusförmige Bewegungen entdeckt werden. |
Tangens | tan | Eine Transformation mithilfe des trigonometrischen Tangens ist in der Regel in der Kombination mit weiteren Transformationen hilfreich. |
Merkmalagglomeration | Merkmalsagglomeration | Das Clustering verschiedener Merkmale in Gruppen, basierend auf Distanz oder Affinität, vereinfacht die Klassifizierung für den Lernalgorithmus. |
Sigma | sigmoid | Eine nicht lineare Aktivierungsfunktion kann die Vorhersagegenauigkeit verbessern, ähnlich wie bei Aktivierungsfunktionen für neuronale Netze. |
Isolation Forest | isoforestanomaly | Führt Clustering unter Verwendung eines Isolation Forest durch, um eine neue Funktion mit einem Anomaliescore für jede Stichprobe zu erstellen. |
Wort zu Vektor | word2vec | Dieser Algorithmus, der für die Textanalyse verwendet wird, wird vor allen anderen Transformationen angewendet. Er verwendet einen Textkorpus als Eingabe und gibt eine Gruppe von Vektoren aus. Indem Text in eine numerische Darstellung verwandelt wird, kann er ähnliche Wörter erkennen und vergleichen. Wenn word2vec mit ausreichend Daten trainiert wird, kann der Algorithmus präzise Vorhersagen zur Bedeutung oder zur Beziehung eines Wortes zu anderen Wörtern machen. Die Vorhersagen können verwendet werden, um Text zu analysieren und die Bedeutung in Stimmungsanalyseanwendungen vorherzusagen. |
Hyperparameteroptimierung
Die letzte Phase in AutoAI ist die Hyperparameteroptimierung. Der AutoAI-Ansatz optimiert die Parameter der Pipelines mit der besten Leistung aus den vorherigen Phasen. Dies erfolgt durch Untersuchen der Parameterbereiche dieser Pipelines mithilfe eines Blackbox-Hyperparameteroptimierungsprogramms namens RBFOpt. RBFOpt wird im Forschungspapier RBFOpt: eine Open-Source-Bibliothek für Black-Box-Optimierung mit aufwändigen Funktionsauswertungen beschrieben. RBFOpt ist für AutoAI -Experimente geeignet, da es für Optimierungen mit kostenintensiven Auswertungen wie beim Training und Scoring eines Algorithmus erstellt wird. Der Ansatz von RBFOpt erstellt und verfeinert iterativ ein Ersatzmodell der unbekannten Zielfunktion, um trotz der langen Auswertungszeiten jeder Iteration schnell zu konvergieren.
Häufig gestellte Fragen zu AutoAI
Nachfolgend werden häufig gestellte Fragen zur Erstellung eines AutoAI-Experiments aufgeführt.
Wie viele Pipelines werden erstellt?
Die Anzahl der Pipelines wird mithilfe von zwei AutoAI-Parametern festgelegt:
max_num_daub_ensembles: Maximale Anzahl (vom DAUB-Modell als oberste eingestuft) der ausgewählten Algorithmus- bzw. Schätzertypen, zum Beispiel LGBMClassifierEstimator, XGBoostClassifierEstimator oder LogisticRegressionEstimator, die für die Pipelineerstellung verwendet werden sollen. Der Standardwert ist 1; bei Verwendung dieses Werts wird nur der Algorithmustyp verwendet, der im Rahmen der Modellauswahl am höchsten eingestuft wurde.
num_fold: Die Anzahl der Subsets des vollständigen Datasets, um Pipelines zusätzlich zum vollständigen Dataset zu trainieren. Der Standardwert ist 1 für das Training des vollständigen Datasets.
Für jeden Falz-und Algorithmustyp erstellt AutoAI vier Pipelines mit erhöhter Optimierung, die den folgenden entsprechen:
- Pipeline mit Standardparametern des Typs 'sklearn' für diesen Algorithmustyp
- Pipeline mit optimiertem Algorithmus unter Verwendung von HPO
- Pipeline mit optimierter Merkmalentwicklung
- Pipeline mit optimiertem Feature-Engineering und optimiertem Algorithmus mithilfe von HPO
Die Gesamtzahl der generierten Pipelines beträgt:
TotalPipelines= max_num_daub_ensembles * 4, if num_folds = 1:
TotalPipelines= (num_folds+1) * max_num_daub_ensembles * 4, if num_folds > 1 :
Welche Optimierung der Hyperparameter wird auf mein Modell angewendet?
AutoAI verwendet einen modellbasierten, ableitungsfreien globalen Suchalgorithmus namens RBfOpt,, der auf das kostspielige Training von Machine-Learning-Modellen und Scoring-Evaluierungen zugeschnitten ist, die für die Hyperparameter-Optimierung (HPO) erforderlich sind. Im Gegensatz zur bayesschen Optimierung, die ein gaußsches Modell an die unbekannte Zielfunktion anpasst, passt 'RBfOpt' den Modus der radialen Basisfunktion an, um die Erkennung der Konfigurationen von Hyperparametern zu beschleunigen, von denen die Zielfunktion des vorliegenden Problems beim maschinellen Lernen maximiert wird. Erreicht wird diese Beschleunigung, weil die Anzahl an kostenintensiven Evaluierungen der Modelle für maschinelles Lernen für Training und Scoring minimiert wird und weil eine Berechnung partiell abgeleiteter Werte nicht erforderlich ist.
Für jede Aufteilung und jeden Algorithmustyp werden von AutoAI zwei Pipelines erstellt, von denen HPO zur Optimierung für den Algorithmustyp verwendet wird:
- Der erste basiert auf der Optimierung dieses Algorithmustyps auf der vorverarbeiteten (imputed/encoded/scaled) Datei (Pipeline 2) oben).
- Die zweite basiert auf der Optimierung des Algorithmustyps, der auf einer optimierten Merkmalentwicklung des vorverarbeiteten (rechnerischen/codierten/skalierten) Datasets basiert.
Die Parameterwerte der Algorithmen aller Pipelines, die von AutoAI generiert werden, werden in Statusnachrichten veröffentlicht.
Weitere Details zum Algorithmus 'RBfOpt' finden Sie unter:
Wie wird die Merkmalsignifikanz berechnet?
Wenn Sie ein Klassifikations-bzw. Regressionsexperiment konfigurieren, können Sie optional angeben, wie Features ohne Auswirkung auf das Modell behandelt werden. Sie haben die Möglichkeit, die Funktion immer zu entfernen, sie zu entfernen, wenn sie die Modellqualität verbessert, oder sie nicht zu entfernen. Die Merkmalsignifikanz wird wie folgt berechnet:
- Die Merkmalbedeutung wird anhand der Datenstichprobe berechnet.
- Einige Schätzer verfügen nicht über integrierte Funktionen, um Merkmalswichtigkeiten zurückzugeben. In diesen Fällen wird ein Schätzer wie RandomForest verwendet, um die Auswirkung zu messen.
- Die Anzahl der Features ist von Bedeutung-wenn der Wichtigkeitswert für ein Feature 0.0000000001 ist, aber es eine große Anzahl von Features mit niedriger Wichtigkeit gibt (z. B. mehr als 200), kann das Verlassen oder Entfernen der Features Auswirkungen auf die Ergebnisse des Experiments haben.
Im automatischen Modus werden die folgenden Schritte verwendet, um zu überprüfen, ob das Entfernen von Features mit niedriger Wichtigkeit die Ergebnisse des Experiments nicht beeinflusst:
- Wenn das Entfernen aller Merkmale mit einem berechneten Stellenwert von 0 Auswirkungen auf die Modellgenauigkeit hat, wird der Algorithmus der Hauptkomponentenanalyse auf diese Merkmale angewendet und die obersten K-Komponenten ausgewählt, die 90% der Varianz über diese unbedeutenden Merkmale erklären.
- Als Nächstes werden die transformierten Komponenten als neue Features anstelle der ursprünglichen verwendet und das Modell wird erneut ausgewertet.
- Wenn die Genauigkeit immer noch sinkt, werden alle ursprünglichen Funktionen wieder zum Experiment hinzugefügt.
Referenzinformationen zur Forschung
Diese Liste enthält einige der grundlegenden Forschungsartikel, die detailliert beschreiben, wie AutoAI entwickelt und implementiert wurde, um den automatisierten Modellerstellungsprozess vertrauenswürdig und transparent zu gestalten.
Nächste Schritte
Datenimputation in AutoAI -Experimenten
Übergeordnetes Thema: AutoAI - Übersicht