Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Automatisk Hyperparametertuning | Konklusion
Introduktion til neurale netværk

bookUdfordring: Automatisk Hyperparametertuning

I stedet for manuelt at vælge specifikke værdier for modellens hyperparametre, tilbyder randomiseret søgning (RandomizedSearchCV) en mere effektiv metode til at finde en optimal konfiguration. I modsætning til grid search (GridSearchCV), som systematisk evaluerer alle mulige kombinationer af hyperparametre, vælger randomiseret søgning et tilfældigt delmængde af disse kombinationer. Denne tilgang reducerer markant de beregningsmæssige omkostninger og giver stadig gode resultater.

For neurale netværk, hvor antallet af mulige hyperparameter-kombinationer kan være enormt, er det ofte upraktisk at teste alle muligheder udtømmende. Randomiseret søgning omgår dette problem ved tilfældigt at udvælge et defineret antal sæt af hyperparametre, hvilket balancerer mellem udforskning og effektivitet.

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: modellen der skal optimeres (f.eks. MLPClassifier);
  • param_distributions: en ordbog hvor nøglerne er navne på hyperparametre og værdierne er lister, der skal samples fra;
  • n_iter: angiver hvor mange tilfældige kombinationer der skal testes. En højere værdi øger sandsynligheden for at finde en optimal kombination, men kræver mere beregning;
  • scoring: definerer evalueringsmetrikken (f.eks. 'accuracy' for klassifikation).
Opgave

Swipe to start coding

  1. I param_distributions genereres værdier for to skjulte lag, hvor hvert lag har det samme antal neuroner, fra 20 til 30 (inklusive) med et interval på 2.
  2. I param_distributions angives læringsraten til værdierne 0.02, 0.01 og 0.005.
  3. I param_distributions genereres 10 tilfældige værdier for antallet af trænings-epoker, hvor værdierne ligger inden for intervallet 10 til 50 (eksklusiv).
  4. Anvend randomized search med 4 iterationer (antal hyperparameter-kombinationer der evalueres) og brug accuracy som evalueringsmetrik.

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
single

single

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

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

bookUdfordring: Automatisk Hyperparametertuning

Stryg for at vise menuen

I stedet for manuelt at vælge specifikke værdier for modellens hyperparametre, tilbyder randomiseret søgning (RandomizedSearchCV) en mere effektiv metode til at finde en optimal konfiguration. I modsætning til grid search (GridSearchCV), som systematisk evaluerer alle mulige kombinationer af hyperparametre, vælger randomiseret søgning et tilfældigt delmængde af disse kombinationer. Denne tilgang reducerer markant de beregningsmæssige omkostninger og giver stadig gode resultater.

For neurale netværk, hvor antallet af mulige hyperparameter-kombinationer kan være enormt, er det ofte upraktisk at teste alle muligheder udtømmende. Randomiseret søgning omgår dette problem ved tilfældigt at udvælge et defineret antal sæt af hyperparametre, hvilket balancerer mellem udforskning og effektivitet.

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: modellen der skal optimeres (f.eks. MLPClassifier);
  • param_distributions: en ordbog hvor nøglerne er navne på hyperparametre og værdierne er lister, der skal samples fra;
  • n_iter: angiver hvor mange tilfældige kombinationer der skal testes. En højere værdi øger sandsynligheden for at finde en optimal kombination, men kræver mere beregning;
  • scoring: definerer evalueringsmetrikken (f.eks. 'accuracy' for klassifikation).
Opgave

Swipe to start coding

  1. I param_distributions genereres værdier for to skjulte lag, hvor hvert lag har det samme antal neuroner, fra 20 til 30 (inklusive) med et interval på 2.
  2. I param_distributions angives læringsraten til værdierne 0.02, 0.01 og 0.005.
  3. I param_distributions genereres 10 tilfældige værdier for antallet af trænings-epoker, hvor værdierne ligger inden for intervallet 10 til 50 (eksklusiv).
  4. Anvend randomized search med 4 iterationer (antal hyperparameter-kombinationer der evalueres) og brug accuracy som evalueringsmetrik.

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
single

single

some-alt