Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Réglage Automatique des Hyperparamètres | Conclusion
Introduction aux Réseaux de Neurones

bookDéfi : Réglage Automatique des Hyperparamètres

Plutôt que de sélectionner manuellement des valeurs spécifiques pour les hyperparamètres de notre modèle, la recherche aléatoire (RandomizedSearchCV) propose une méthode plus efficace pour trouver une configuration optimale. Contrairement à la recherche par grille (GridSearchCV), qui évalue systématiquement toutes les combinaisons possibles d'hyperparamètres, la recherche aléatoire sélectionne un sous-ensemble aléatoire de ces combinaisons. Cette approche réduit considérablement le coût computationnel tout en offrant de bons résultats.

Pour les réseaux de neurones, où le nombre de combinaisons d'hyperparamètres possibles peut être immense, tester de manière exhaustive chaque option est souvent impraticable. La recherche aléatoire contourne ce problème en échantillonnant aléatoirement un nombre défini d'ensembles d'hyperparamètres, équilibrant ainsi exploration et efficacité.

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 : le modèle à optimiser (par exemple, MLPClassifier) ;
  • param_distributions : un dictionnaire dont les clés sont les noms des hyperparamètres et les valeurs sont des listes à échantillonner ;
  • n_iter : spécifie combien de combinaisons aléatoires doivent être testées. Une valeur plus élevée augmente les chances de trouver une combinaison optimale mais nécessite plus de calcul ;
  • scoring : définit la métrique d'évaluation (par exemple, 'accuracy' pour la classification).
Tâche

Swipe to start coding

  1. Définir la grille de paramètres param_distributions :
    • Attribuer à 'hidden_layer_sizes' trois configurations de couches différentes : (20, 20), (25, 25), (30, 30) ;
    • Attribuer à 'learning_rate_init' les valeurs 0.02, 0.01, 0.005 ;
    • Attribuer à 'max_iter' les valeurs 10, 30, 50.
  2. Appliquer RandomizedSearchCV avec :
    • Le modèle défini mlp ;
    • La grille de paramètres définie param_distributions ;
    • 4 itérations ;
    • 'accuracy' comme métrique d'évaluation.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

Awesome!

Completion rate improved to 4

bookDéfi : Réglage Automatique des Hyperparamètres

Glissez pour afficher le menu

Plutôt que de sélectionner manuellement des valeurs spécifiques pour les hyperparamètres de notre modèle, la recherche aléatoire (RandomizedSearchCV) propose une méthode plus efficace pour trouver une configuration optimale. Contrairement à la recherche par grille (GridSearchCV), qui évalue systématiquement toutes les combinaisons possibles d'hyperparamètres, la recherche aléatoire sélectionne un sous-ensemble aléatoire de ces combinaisons. Cette approche réduit considérablement le coût computationnel tout en offrant de bons résultats.

Pour les réseaux de neurones, où le nombre de combinaisons d'hyperparamètres possibles peut être immense, tester de manière exhaustive chaque option est souvent impraticable. La recherche aléatoire contourne ce problème en échantillonnant aléatoirement un nombre défini d'ensembles d'hyperparamètres, équilibrant ainsi exploration et efficacité.

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 : le modèle à optimiser (par exemple, MLPClassifier) ;
  • param_distributions : un dictionnaire dont les clés sont les noms des hyperparamètres et les valeurs sont des listes à échantillonner ;
  • n_iter : spécifie combien de combinaisons aléatoires doivent être testées. Une valeur plus élevée augmente les chances de trouver une combinaison optimale mais nécessite plus de calcul ;
  • scoring : définit la métrique d'évaluation (par exemple, 'accuracy' pour la classification).
Tâche

Swipe to start coding

  1. Définir la grille de paramètres param_distributions :
    • Attribuer à 'hidden_layer_sizes' trois configurations de couches différentes : (20, 20), (25, 25), (30, 30) ;
    • Attribuer à 'learning_rate_init' les valeurs 0.02, 0.01, 0.005 ;
    • Attribuer à 'max_iter' les valeurs 10, 30, 50.
  2. Appliquer RandomizedSearchCV avec :
    • Le modèle défini mlp ;
    • La grille de paramètres définie param_distributions ;
    • 4 itérations ;
    • 'accuracy' comme métrique d'évaluation.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
single

single

some-alt