Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Ottimizzazione Automatica degli Iperparametri | Conclusione
Introduzione alle Reti Neurali

bookSfida: Ottimizzazione Automatica degli Iperparametri

Piuttosto che selezionare manualmente valori specifici per gli iperparametri del modello, la ricerca randomizzata (RandomizedSearchCV) offre un metodo più efficiente per individuare una configurazione ottimale. A differenza della ricerca a griglia (GridSearchCV), che valuta sistematicamente tutte le possibili combinazioni di iperparametri, la ricerca randomizzata seleziona un sottoinsieme casuale di queste combinazioni. Questo approccio riduce significativamente il costo computazionale, mantenendo comunque risultati di qualità.

Per le reti neurali, dove il numero di possibili combinazioni di iperparametri può essere enorme, testare esaustivamente ogni opzione è spesso impraticabile. La ricerca randomizzata aggira questo problema campionando casualmente un numero definito di set di iperparametri, bilanciando esplorazione ed efficienza.

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: modello da ottimizzare (ad esempio, MLPClassifier);
  • param_distributions: dizionario in cui le chiavi sono i nomi degli iperparametri e i valori sono le liste da cui campionare;
  • n_iter: specifica quante combinazioni casuali devono essere testate. Un valore più alto aumenta la probabilità di trovare una combinazione ottimale ma richiede più calcolo;
  • scoring: definisce la metrica di valutazione (ad esempio, 'accuracy' per la classificazione).
Compito

Swipe to start coding

  1. In param_distributions, genera valori per due strati nascosti, dove ciascuno strato ha lo stesso numero di neuroni, compreso tra 20 e 30 (inclusi) con un passo di 2.
  2. In param_distributions, imposta i valori del tasso di apprendimento su 0.02, 0.01 e 0.005.
  3. In param_distributions, genera 10 valori casuali per il numero di epoche di addestramento, assicurandoti che siano compresi nell'intervallo 10 a 50 (escluso).
  4. Applica la ricerca randomizzata con 4 iterazioni (numero di combinazioni di iperparametri da valutare) e utilizza accuracy come metrica di valutazione.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 4

bookSfida: Ottimizzazione Automatica degli Iperparametri

Scorri per mostrare il menu

Piuttosto che selezionare manualmente valori specifici per gli iperparametri del modello, la ricerca randomizzata (RandomizedSearchCV) offre un metodo più efficiente per individuare una configurazione ottimale. A differenza della ricerca a griglia (GridSearchCV), che valuta sistematicamente tutte le possibili combinazioni di iperparametri, la ricerca randomizzata seleziona un sottoinsieme casuale di queste combinazioni. Questo approccio riduce significativamente il costo computazionale, mantenendo comunque risultati di qualità.

Per le reti neurali, dove il numero di possibili combinazioni di iperparametri può essere enorme, testare esaustivamente ogni opzione è spesso impraticabile. La ricerca randomizzata aggira questo problema campionando casualmente un numero definito di set di iperparametri, bilanciando esplorazione ed efficienza.

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: modello da ottimizzare (ad esempio, MLPClassifier);
  • param_distributions: dizionario in cui le chiavi sono i nomi degli iperparametri e i valori sono le liste da cui campionare;
  • n_iter: specifica quante combinazioni casuali devono essere testate. Un valore più alto aumenta la probabilità di trovare una combinazione ottimale ma richiede più calcolo;
  • scoring: definisce la metrica di valutazione (ad esempio, 'accuracy' per la classificazione).
Compito

Swipe to start coding

  1. In param_distributions, genera valori per due strati nascosti, dove ciascuno strato ha lo stesso numero di neuroni, compreso tra 20 e 30 (inclusi) con un passo di 2.
  2. In param_distributions, imposta i valori del tasso di apprendimento su 0.02, 0.01 e 0.005.
  3. In param_distributions, genera 10 valori casuali per il numero di epoche di addestramento, assicurandoti che siano compresi nell'intervallo 10 a 50 (escluso).
  4. Applica la ricerca randomizzata con 4 iterazioni (numero di combinazioni di iperparametri da valutare) e utilizza accuracy come metrica di valutazione.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
single

single

some-alt