En parlant de apprentissage automatique, Les hyperparamètres sont les paramètres que l'on définit pour contrôler le processus d'apprentissage d'un modèle. Alors que les paramètres du modèle sont appris automatiquement au cours du processus d'entraînement (à l'instar des coefficients dans une régression linéaire), les hyperparamètres sont des paramètres qui doivent être définis avant de lancer l'entraînement du modèle.
Ces hyperparamètres ont une incidence directe sur la capacité du modèle à apprendre à partir des données et à généraliser à de nouveaux ensembles de données. Parmi les exemples courants d'hyperparamètres, on peut citer notamment le taux d'apprentissage dans les algorithmes d'optimisation et la profondeur maximale d'un arbre de décision.
Si les hyperparamètres sont correctement choisis, le modèle offrira de meilleures performances, tandis qu'un mauvais choix se traduira par un modèle qui ne s'adaptera pas bien aux données ou dont les performances seront médiocres sur des données non observées. Dans la pratique, trouver les meilleures valeurs pour les hyperparamètres nécessite de l'expérience et des essais expérimentaux afin de les affiner au fil du temps.
Différence entre un paramètre et un hyperparamètre
On confond très souvent les paramètres et les hyperparamètres, mais il s'agit en réalité de deux éléments du machine learning qui ont des fonctions très différentes. Dans l'apprentissage automatique, les paramètres sont des variables internes du modèle qui s'ajustent automatiquement pendant l'entraînement afin que le modèle puisse accomplir la tâche pour laquelle il a été conçu.
De son côté, Les hyperparamètres sont des valeurs externes au modèle qui sont définis avant l'entraînement et qui influencent la manière dont le modèle apprend à partir des données, en contrôlant certains aspects du processus d'entraînement tels que la vitesse d'apprentissage, la complexité du modèle ou le nombre d'itérations.
Pour faire simple, l'algorithme s'appuie sur les règles dictées par les hyperparamètres pour apprendre d'une manière déterminée en fonction de ces paramètres.
Exemples d'hyperparamètres
Voici quelques exemples d'hyperparamètres couramment utilisés :
- Taux d'apprentissage : Détermine la vitesse à laquelle le modèle apprend à partir des données. Un taux élevé permettrait au modèle d'apprendre rapidement à partir des données, mais il pourrait s'avérer instable et présenter une marge d'erreur plus importante ; un taux faible est plus stable, mais le processus d'apprentissage pourrait être trop lent.
- Nombre d'itérations : Définit le nombre de fois où le modèle examine l'ensemble des données pendant l'entraînement. Un plus grand nombre d'itérations garantit un apprentissage de meilleure qualité, mais un nombre trop élevé entraînerait un surapprentissage (overfitting), c'est-à-dire que le modèle apprendrait trop à partir d'un ensemble de données spécifique et se montrerait incapable de généraliser son apprentissage à d'autres données différentes.
- Taille du lot : Nombre d'exemples de données utilisés simultanément pour entraîner le modèle. Si les ensembles de données traités par le modèle sont volumineux, celui-ci apprendra plus rapidement et à partir d'une source d'informations plus variée et plus riche. En revanche, un petit ensemble de données permet au modèle d'acquérir des connaissances plus précises.
- Nombre de couches et de neurones : Ces hyperparamètres définissent l'architecture d'un réseau neuronal. Le nombre de couches et de neurones détermine la complexité et la capacité de représentation du modèle. Plus le nombre de couches et de neurones est élevé, plus les modèles que le modèle pourra apprendre seront complexes, mais cela peut également augmenter le risque de surapprentissage si le modèle est trop complexe par rapport aux données disponibles.
- Nombre de branches : Dans un arbre de décision, chaque nœud représente une question portant sur une caractéristique des données et chaque branche représente une réponse possible à cette question. Cet hyperparamètre contrôle la profondeur maximale de l’arbre et, par conséquent, le nombre de divisions autorisées avant que l’arbre n’atteigne les feuilles, qui correspondent aux prédictions finales. Un arbre de décision comportant de nombreuses branches apprend des modèles plus complexes dans les données, mais court également le risque de surapprentissage. À l’inverse, un arbre comportant peu de branches est plus simple et s’adapte mieux à d’autres données, mais peut s’avérer moins précis et passer à côté de modèles essentiels.


