Die Optimierung von Hyperparametern spielt eine entscheidende Rolle bei der Optimierung der Leistung von Modellen für maschinelles Lernen. Allerdings kann es eine Herausforderung sein, die beste Kombination von Hyperparameterwerten zu finden. In diesem Artikel werden wir zwei beliebte Techniken zur Optimierung von Hyperparametern untersuchen: Grid Search CV und Randomized CV. Wir werden uns mit ihren Unterschieden und Vorteilen befassen und erklären, warum ein randomisierter Lebenslauf manchmal bessere Ergebnisse liefern kann.
Um diese Techniken weiter zu veranschaulichen, habe ich am Ende dieses Artikels einen Hyperlink zum Quellcode bereitgestellt. Der Code enthält ein Beispiel unter Verwendung eines Datensatzes, das die Implementierung von Grid Search CV und Randomized CV für die Optimierung von Hyperparametern demonstriert.
Rastersuche Lebenslauf:
Grid Search CV durchsucht ein vordefiniertes Raster von Hyperparametern umfassend, um die beste Kombination zu finden, die die Leistung des Modells maximiert. Es wertet systematisch alle möglichen Kombinationen von Hyperparametern aus, indem es für jede Kombination eine Kreuzvalidierung durchführt. Diese Technik ist von Vorteil, wenn wir eine begrenzte Anzahl von Hyperparametern anpassen müssen und sicherstellen möchten, dass wir alle möglichen Kombinationen untersuchen. Ich weiß, dass es wie etwas Besonderes erscheinen magazine. Lassen Sie uns dies anhand des folgenden Codes verstehen.
GridSearchCV führt eine umfassende Suche über alle möglichen Kombinationen von Hyperparameterwerten durch, die im param_grid bereitgestellt werden. In diesem Fall gibt es 4 Optionen für max_ Depth, 4 Optionen für min_samples_split und 4 Optionen für min_samples_leaf, was insgesamt 4 x 4 x 4 = 64 Iterationen ergibt.
- max_length=5, min_samples_split=2, min_samples_leaf=1
2)max_length=5, min_samples_split=2, min_samples_leaf=3
3)max_length=5, min_samples_split=2, min_samples_leaf=5
4)max_length=5, min_samples_split=2, min_samples_leaf=7
5)max_length=5, min_samples_split=5, min_samples_leaf=1
6)max_length=5, min_samples_split=5, min_samples_leaf=3
Ich habe ein paar mögliche Kombinationen gezeigt, ebenso kann man auf 64 Kombinationen kommen.
In diesem Fall führt Grid Search CV additionally 64 Iterationen durch, um alle möglichen Kombinationen der Hyperparameter auszuwerten.
Beachten Sie, dass diese Formel davon ausgeht, dass alle Kombinationen von Hyperparametern ohne frühe Stoppkriterien oder Bereinigungstechniken ausgewertet werden.
Der Einfachheit halber habe ich die Anzahl der Hyperparameterkombinationen nur als Iterationen gezählt. Wenn wir jedoch auch die Anzahl der Kreuzvalidierungsfaltungen berücksichtigen, beträgt die Gesamtzahl der Iterationen 64 * 5 = 320.
Zufälliger Such-Lebenslauf:
Randomized Search CV wählt zufällig eine vordefinierte Anzahl von Kombinationen aus einem bestimmten Parameterraum aus. Es führt eine Kreuzvalidierung für jede Kombination durch und wählt die Kombination mit der besten Leistung aus. Diese Technik ist beim Umgang mit einem großen Hyperparameter-Suchraum von Vorteil, da sie durch die Untersuchung einer zufälligen Teilmenge von Hyperparametern mehr Flexibilität bietet. Es kann im Hinblick auf Zeit und Rechenressourcen effizienter sein als Grid Search CV.
Lassen Sie uns anhand eines Beispiels verstehen, wie wir es für die Rastersuche getan haben.
Beachten Sie die oben genannten Codezeilen sorgfältig. Das Parameterraster ist genau das gleiche, das wir für die Rastersuche verwendet haben, es gibt jedoch einen zusätzlichen Parameter n_iter=10.
Versuchen wir, dieses Szenario zu verstehen.
Der Parameter n_iter in RandomizedSearchCV bestimmt die Anzahl der Iterationen, die zur Auswertung verschiedener Hyperparameterkombinationen durchgeführt werden. In unserem Fall wählt RandomizedSearchCV mit n_iter auf 10 zufällig 10 Kombinationen von Hyperparametern aus und bewertet die Leistung des Modells für jede Kombination. Auf diese Weise zielt RandomizedSearchCV darauf ab, die beste Hyperparameterkombination zu finden, die die Leistung des Modells maximiert.
Wenn wir auch die Kreuzvalidierungsiterationen berücksichtigen, führt RandomizedSearchCV eine 5-fache Kreuzvalidierung für jede Hyperparameterkombination durch. Dies führt zu insgesamt 50 Iterationen (10 Hyperparameterkombinationen * 5 Falten).
Nach dem Vergleich beider Techniken ist es offensichtlich, dass Grid Search CV 320 Iterationen durchführte und alle möglichen Kombinationen von Hyperparametern umfassend evaluierte. Andererseits führte Randomized Search CV nur 50 Iterationen durch zufällige Auswahl von Kombinationen durch. Diese Ungleichheit verdeutlicht die unterschiedlichen Anforderungen an die Rechenressourcen der beiden Methoden, wobei Grid Search CV ressourcenintensiver ist, während Randomized Search CV einen effizienteren Ansatz bietet.
Jetzt kommt die große Frage: Welches ist besser?
Die Wahl zwischen Grid Search CV und Randomized Search CV hängt vom spezifischen Drawback und seinen Merkmalen ab:
Grid Search CV ist splendid, wenn:
- Der Hyperparameter-Suchraum ist klein und überschaubar.
- Der Einfluss jedes Hyperparameters auf die Modellleistung ist intestine verstanden.
- Rechenressourcen stellen keine Einschränkung dar.
Ein Lebenslauf mit randomisierter Suche ist vorzuziehen, wenn:
- Der Hyperparameter-Suchraum ist groß und komplex.
- Die Auswirkungen einzelner Hyperparameter sind unklar und wir müssen ein breites Spektrum an Werten untersuchen.
- Die Rechenressourcen sind begrenzt oder die Zeit ist eine Einschränkung.
Es ist wichtig zu beachten, dass keine der beiden Techniken das Finden der absolut besten Hyperparameter garantiert, aber beide bieten effektive Methoden zur Einengung des Suchraums und zur Verbesserung der Modellleistung.
Es ist erwähnenswert, dass es different Methoden zur Optimierung von Hyperparametern gibt, wie z. B. Optuna und Hyperopt, die fortgeschrittenere und effektivere Möglichkeiten zur Optimierung bieten. Diese Methoden werden in kommenden Blogbeiträgen ausführlicher besprochen und bieten zusätzliche Einblicke in die Optimierung von Modellen für maschinelles Lernen durch Hyperparameter-Tuning. Bleiben Sie dran für ausführlichere Diskussionen zu diesen Techniken.