Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Herausforderung: Automatische Hyperparameter-Optimierung | Conclusion
Einführung in Neuronale Netze mit Python

bookHerausforderung: Automatische Hyperparameter-Optimierung

Anstatt die Hyperparameter unseres Modells manuell auszuwählen, bietet die Randomized Search (RandomizedSearchCV) eine effizientere Methode, um eine optimale Konfiguration zu finden. Im Gegensatz zur Grid Search (GridSearchCV), die systematisch alle möglichen Kombinationen von Hyperparametern bewertet, wählt die Randomized Search eine zufällige Teilmenge dieser Kombinationen aus. Dieser Ansatz reduziert die Rechenkosten erheblich und liefert dennoch überzeugende Ergebnisse.

Gerade bei neuronalen Netzen, bei denen die Anzahl möglicher Hyperparameter-Kombinationen enorm sein kann, ist das vollständige Testen aller Optionen oft unpraktikabel. Randomized Search umgeht dieses Problem, indem sie eine festgelegte Anzahl zufällig ausgewählter Hyperparametersätze testet und so eine Balance zwischen Exploration und Effizienz schafft.

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: Das zu optimierende Modell (z. B. MLPClassifier);
  • param_distributions: Ein Dictionary, in dem die Schlüssel die Namen der Hyperparameter und die Werte Listen mit möglichen Ausprägungen sind;
  • n_iter: Gibt an, wie viele zufällige Kombinationen getestet werden sollen. Ein höherer Wert erhöht die Wahrscheinlichkeit, eine optimale Kombination zu finden, erfordert jedoch mehr Rechenleistung;
  • scoring: Definiert die Bewertungsmetrik (z. B. 'accuracy' für Klassifikationsaufgaben).
Aufgabe

Swipe to start coding

Ihr Ziel ist es, die Hyperparameter eines Multilayer-Perceptrons (MLP) mithilfe der Methode RandomizedSearchCV aus scikit-learn abzustimmen.

Folgen Sie dabei diesen Schritten sorgfältig:

  1. Parameter-Raster definieren param_distributions:
  • 'hidden_layer_sizes': (20, 20), (25, 25) und (30, 30);
  • 'learning_rate_init': 0.02, 0.01 und 0.005;
  • 'max_iter': 10, 30 und 50.
  1. Modell initialisieren mit MLPClassifier().
  2. RandomizedSearchCV anwenden:
    • Estimator: das definierte mlp-Modell;
    • Parameter-Raster: param_distributions;
  • n_iter=4 einstellen, um die Anzahl der Parameterkombinationen zu begrenzen;
  • scoring='accuracy' verwenden;
  • random_state=1 für Reproduzierbarkeit setzen.
  1. Randomized Search fitten auf die Trainingsdaten und die besten Parameter ausgeben.
  2. Bestes Modell trainieren mit den vollständigen Trainingsdaten und die Genauigkeit sowohl auf den Trainingsdaten als auch auf den Testdaten bewerten.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain the difference between RandomizedSearchCV and GridSearchCV in more detail?

How do I choose the right number for n_iter in RandomizedSearchCV?

What types of problems is RandomizedSearchCV best suited for?

close

bookHerausforderung: Automatische Hyperparameter-Optimierung

Swipe um das Menü anzuzeigen

Anstatt die Hyperparameter unseres Modells manuell auszuwählen, bietet die Randomized Search (RandomizedSearchCV) eine effizientere Methode, um eine optimale Konfiguration zu finden. Im Gegensatz zur Grid Search (GridSearchCV), die systematisch alle möglichen Kombinationen von Hyperparametern bewertet, wählt die Randomized Search eine zufällige Teilmenge dieser Kombinationen aus. Dieser Ansatz reduziert die Rechenkosten erheblich und liefert dennoch überzeugende Ergebnisse.

Gerade bei neuronalen Netzen, bei denen die Anzahl möglicher Hyperparameter-Kombinationen enorm sein kann, ist das vollständige Testen aller Optionen oft unpraktikabel. Randomized Search umgeht dieses Problem, indem sie eine festgelegte Anzahl zufällig ausgewählter Hyperparametersätze testet und so eine Balance zwischen Exploration und Effizienz schafft.

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: Das zu optimierende Modell (z. B. MLPClassifier);
  • param_distributions: Ein Dictionary, in dem die Schlüssel die Namen der Hyperparameter und die Werte Listen mit möglichen Ausprägungen sind;
  • n_iter: Gibt an, wie viele zufällige Kombinationen getestet werden sollen. Ein höherer Wert erhöht die Wahrscheinlichkeit, eine optimale Kombination zu finden, erfordert jedoch mehr Rechenleistung;
  • scoring: Definiert die Bewertungsmetrik (z. B. 'accuracy' für Klassifikationsaufgaben).
Aufgabe

Swipe to start coding

Ihr Ziel ist es, die Hyperparameter eines Multilayer-Perceptrons (MLP) mithilfe der Methode RandomizedSearchCV aus scikit-learn abzustimmen.

Folgen Sie dabei diesen Schritten sorgfältig:

  1. Parameter-Raster definieren param_distributions:
  • 'hidden_layer_sizes': (20, 20), (25, 25) und (30, 30);
  • 'learning_rate_init': 0.02, 0.01 und 0.005;
  • 'max_iter': 10, 30 und 50.
  1. Modell initialisieren mit MLPClassifier().
  2. RandomizedSearchCV anwenden:
    • Estimator: das definierte mlp-Modell;
    • Parameter-Raster: param_distributions;
  • n_iter=4 einstellen, um die Anzahl der Parameterkombinationen zu begrenzen;
  • scoring='accuracy' verwenden;
  • random_state=1 für Reproduzierbarkeit setzen.
  1. Randomized Search fitten auf die Trainingsdaten und die besten Parameter ausgeben.
  2. Bestes Modell trainieren mit den vollständigen Trainingsdaten und die Genauigkeit sowohl auf den Trainingsdaten als auch auf den Testdaten bewerten.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
single

single

some-alt