Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Automatische Hyperparameterafstemming | Conclusie
Introductie tot Neurale Netwerken

bookUitdaging: Automatische Hyperparameterafstemming

In plaats van handmatig specifieke waarden voor de hyperparameters van ons model te selecteren, biedt randomized search (RandomizedSearchCV) een efficiëntere methode om een optimale configuratie te vinden. In tegenstelling tot grid search (GridSearchCV), dat systematisch alle mogelijke combinaties van hyperparameters evalueert, kiest randomized search een willekeurige subset van deze combinaties. Deze aanpak vermindert de rekentijd aanzienlijk, terwijl toch sterke resultaten worden behaald.

Voor neurale netwerken, waarbij het aantal mogelijke hyperparametercombinaties enorm kan zijn, is het uitputtend testen van elke optie vaak onpraktisch. Randomized search omzeilt dit probleem door willekeurig een vastgesteld aantal hyperparametersets te selecteren, waarmee een balans wordt gevonden tussen verkenning en efficiëntie.

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: het te optimaliseren model (bijvoorbeeld MLPClassifier);
  • param_distributions: een dictionary waarbij de sleutels hyperparameternamen zijn en de waarden lijsten waaruit wordt gesampled;
  • n_iter: specificeert hoeveel willekeurige combinaties getest moeten worden. Een hogere waarde vergroot de kans op het vinden van een optimale combinatie, maar vereist meer rekenkracht;
  • scoring: definieert de evaluatiemaatstaf (bijvoorbeeld 'accuracy' voor classificatie).
Taak

Swipe to start coding

Het doel is om de hyperparameters van een multilayer perceptron (MLP) af te stemmen met behulp van de RandomizedSearchCV-methode uit scikit-learn.

Volg deze stappen zorgvuldig:

  1. Definieer het parameterrooster param_distributions:
  • 'hidden_layer_sizes': neem drie configuraties op — (20, 20), (25, 25) en (30, 30);
  • 'learning_rate_init': neem de waarden 0.02, 0.01 en 0.005 op;
  • 'max_iter': neem de waarden 10, 30 en 50 op.
  1. Initialiseer het model met MLPClassifier().
  2. Pas RandomizedSearchCV toe:
    • Gebruik het gedefinieerde mlp-model als estimator;
    • Gebruik het gedefinieerde param_distributions-rooster;
  • Stel n_iter=4 in om het aantal parametercombinaties te beperken;
  • Gebruik 'accuracy' als evaluatiemetriek;
  • Stel random_state=1 in voor reproduceerbaarheid.
  1. Train de randomized search op de trainingsdata en print de beste gevonden parameters.
  2. Train het beste model op de volledige trainingsdata en evalueer de nauwkeurigheid op zowel de trainingsset als de testset.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 3
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

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

Awesome!

Completion rate improved to 4

bookUitdaging: Automatische Hyperparameterafstemming

Veeg om het menu te tonen

In plaats van handmatig specifieke waarden voor de hyperparameters van ons model te selecteren, biedt randomized search (RandomizedSearchCV) een efficiëntere methode om een optimale configuratie te vinden. In tegenstelling tot grid search (GridSearchCV), dat systematisch alle mogelijke combinaties van hyperparameters evalueert, kiest randomized search een willekeurige subset van deze combinaties. Deze aanpak vermindert de rekentijd aanzienlijk, terwijl toch sterke resultaten worden behaald.

Voor neurale netwerken, waarbij het aantal mogelijke hyperparametercombinaties enorm kan zijn, is het uitputtend testen van elke optie vaak onpraktisch. Randomized search omzeilt dit probleem door willekeurig een vastgesteld aantal hyperparametersets te selecteren, waarmee een balans wordt gevonden tussen verkenning en efficiëntie.

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: het te optimaliseren model (bijvoorbeeld MLPClassifier);
  • param_distributions: een dictionary waarbij de sleutels hyperparameternamen zijn en de waarden lijsten waaruit wordt gesampled;
  • n_iter: specificeert hoeveel willekeurige combinaties getest moeten worden. Een hogere waarde vergroot de kans op het vinden van een optimale combinatie, maar vereist meer rekenkracht;
  • scoring: definieert de evaluatiemaatstaf (bijvoorbeeld 'accuracy' voor classificatie).
Taak

Swipe to start coding

Het doel is om de hyperparameters van een multilayer perceptron (MLP) af te stemmen met behulp van de RandomizedSearchCV-methode uit scikit-learn.

Volg deze stappen zorgvuldig:

  1. Definieer het parameterrooster param_distributions:
  • 'hidden_layer_sizes': neem drie configuraties op — (20, 20), (25, 25) en (30, 30);
  • 'learning_rate_init': neem de waarden 0.02, 0.01 en 0.005 op;
  • 'max_iter': neem de waarden 10, 30 en 50 op.
  1. Initialiseer het model met MLPClassifier().
  2. Pas RandomizedSearchCV toe:
    • Gebruik het gedefinieerde mlp-model als estimator;
    • Gebruik het gedefinieerde param_distributions-rooster;
  • Stel n_iter=4 in om het aantal parametercombinaties te beperken;
  • Gebruik 'accuracy' als evaluatiemetriek;
  • Stel random_state=1 in voor reproduceerbaarheid.
  1. Train de randomized search op de trainingsdata en print de beste gevonden parameters.
  2. Train het beste model op de volledige trainingsdata en evalueer de nauwkeurigheid op zowel de trainingsset als de testset.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 3
single

single

some-alt