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

bookUtmaning: Automatisk Hyperparameterjustering

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 en slumpmässig delmängd av dessa kombinationer. Detta tillvägagångssätt minskar beräkningskostnaden avsevärt samtidigt som det ger starka 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. Definiera parameteruppsättningen param_distributions:
    • Ange 'hidden_layer_sizes' till tre olika lagerkonfigurationer: (20, 20), (25, 25), (30, 30);
    • Ange 'learning_rate_init' till värdena 0.02, 0.01, 0.005;
    • Ange 'max_iter' till värdena 10, 30, 50.
  2. Använd RandomizedSearchCV med:
    • Den definierade modellen mlp;
    • Den definierade parameteruppsättningen param_distributions;
    • 4 iterationer;
    • 'accuracy' 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 Hyperparameterjustering

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 en slumpmässig delmängd av dessa kombinationer. Detta tillvägagångssätt minskar beräkningskostnaden avsevärt samtidigt som det ger starka 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. Definiera parameteruppsättningen param_distributions:
    • Ange 'hidden_layer_sizes' till tre olika lagerkonfigurationer: (20, 20), (25, 25), (30, 30);
    • Ange 'learning_rate_init' till värdena 0.02, 0.01, 0.005;
    • Ange 'max_iter' till värdena 10, 30, 50.
  2. Använd RandomizedSearchCV med:
    • Den definierade modellen mlp;
    • Den definierade parameteruppsättningen param_distributions;
    • 4 iterationer;
    • 'accuracy' 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