Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Automatisk Hyperparametertuning | Slutsats
Introduktion till neurala nätverk

bookUtmaning: Automatisk Hyperparametertuning

Istället för att manuellt välja specifika värden för modellens hyperparametrar erbjuder randomiserad sökning (RandomizedSearchCV) ett mer effektivt sätt att hitta en optimal konfiguration. Till skillnad från rutnätsökning (GridSearchCV), som systematiskt utvärderar alla möjliga kombinationer av hyperparametrar, väljer randomiserad sökning ett slumpmässigt delmängd av dessa kombinationer. Detta tillvägagångssätt minskar avsevärt den beräkningsmässiga kostnaden samtidigt som det ger goda resultat.

För neurala nätverk, där antalet möjliga hyperparameterkombinationer kan vara enormt, är det ofta opraktiskt att testa varje alternativ uttömmande. Randomiserad sökning kringgår detta problem genom att slumpmässigt välja ett definierat antal hyperparameterset, vilket balanserar utforskning och 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 som ska optimeras (t.ex. MLPClassifier);
  • param_distributions: en ordbok där nycklar är hyperparameternamn och värden är listor att slumpmässigt välja från;
  • n_iter: anger hur många slumpmässiga kombinationer som ska testas. Ett högre värde ökar sannolikheten att hitta en optimal kombination men kräver mer beräkning;
  • scoring: definierar utvärderingsmåttet (t.ex. 'accuracy' för klassificering).
Uppgift

Swipe to start coding

  1. I param_distributions, generera värden för två dolda lager, där varje lager har samma antal neuroner, från 20 till 30 (inklusive) med ett steg om 2.
  2. I param_distributions, ange inlärningshastighetsvärdena till 0.02, 0.01 och 0.005.
  3. I param_distributions, generera 10 slumpmässiga värden för antalet tränings-epoker, och säkerställ att de ligger inom intervallet 10 till 50 (exklusive).
  4. Använd randomiserad sökning med 4 iterationer (antalet hyperparameterkombinationer att utvärdera) och använd noggrannhet som utvärderingsmetrik.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

bookUtmaning: Automatisk Hyperparametertuning

Svep för att visa menyn

Istället för att manuellt välja specifika värden för modellens hyperparametrar erbjuder randomiserad sökning (RandomizedSearchCV) ett mer effektivt sätt att hitta en optimal konfiguration. Till skillnad från rutnätsökning (GridSearchCV), som systematiskt utvärderar alla möjliga kombinationer av hyperparametrar, väljer randomiserad sökning ett slumpmässigt delmängd av dessa kombinationer. Detta tillvägagångssätt minskar avsevärt den beräkningsmässiga kostnaden samtidigt som det ger goda resultat.

För neurala nätverk, där antalet möjliga hyperparameterkombinationer kan vara enormt, är det ofta opraktiskt att testa varje alternativ uttömmande. Randomiserad sökning kringgår detta problem genom att slumpmässigt välja ett definierat antal hyperparameterset, vilket balanserar utforskning och 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 som ska optimeras (t.ex. MLPClassifier);
  • param_distributions: en ordbok där nycklar är hyperparameternamn och värden är listor att slumpmässigt välja från;
  • n_iter: anger hur många slumpmässiga kombinationer som ska testas. Ett högre värde ökar sannolikheten att hitta en optimal kombination men kräver mer beräkning;
  • scoring: definierar utvärderingsmåttet (t.ex. 'accuracy' för klassificering).
Uppgift

Swipe to start coding

  1. I param_distributions, generera värden för två dolda lager, där varje lager har samma antal neuroner, från 20 till 30 (inklusive) med ett steg om 2.
  2. I param_distributions, ange inlärningshastighetsvärdena till 0.02, 0.01 och 0.005.
  3. I param_distributions, generera 10 slumpmässiga värden för antalet tränings-epoker, och säkerställ att de ligger inom intervallet 10 till 50 (exklusive).
  4. Använd randomiserad sökning med 4 iterationer (antalet hyperparameterkombinationer att utvärdera) och använd noggrannhet som utvärderingsmetrik.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3
single

single

some-alt