Hyperparamètres dans la classification
Vous pouvez considérer les hyperparamètres comme des paramètres utilisés pour l’entraînement. Par exemple, vous pouvez choisir d’effectuer un apprentissage lent ou rapide. Les hyperparamètres affectent l’apprentissage et donc les performances du modèle final. Les hyperparamètres disponibles varient en fonction du type de modèle que nous entraînons. Nous expérimentons généralement des hyperparamètres pour optimiser les performances de nos modèles.
Exemple : les forêts aléatoires
Plusieurs types d’hyperparamètres sont disponibles pour les forêts aléatoires. Avec les forêts aléatoires en particulier, la différence entre les décisions architecturales et les hyperparamètres peut être mince. Pourquoi ? Parce que les hyperparamètres n’affectent pas uniquement les paramètres à l’intérieur du modèle, mais également la façon dont les arbres et la forêt sont structurés.
Rappelez-vous : au début de l’apprentissage, chaque arbre de décision dispose de nombreux échantillons, 100 gymnastes par exemple, dont certains ont remporté des médailles. Nous devons générer un arbre qui répartit progressivement ces échantillons en sous-groupes plus petits d’athlètes. L’objectif est que ces sous-groupes contiennent des athlètes similaires, par exemple dans chaque sous-groupe, tous les athlètes ont remporté des médailles, ou aucun athlète n’a remporté de médaille. Découvrons certains hyperparamètres pouvant affecter ce processus d’apprentissage.
Critères de fractionnement
Au cours de l’apprentissage, l’optimiseur doit décider quand fractionner un nœud. Il existe différentes façons de prendre de telles décisions, et la méthode choisie est appelée hyperparamètre. Fondamentalement, différentes méthodes renvoient à différentes façons d’évaluer le degré de similarité d’un échantillon.
Les méthodes courantes de fractionnement des nœuds sont basées sur la théorie de l’information. Vous pouvez considérer cela comme le fractionnement d’un échantillon visant à obtenir deux sous-échantillons « plus purs » que l’original. Les méthodes disponibles diffèrent légèrement et peuvent entraîner des différences mineures dans l’arbre final produit, de manière très similaire à la façon dont les fonctions de coût utilisées pour la descente de gradient peuvent donner différents modèles finaux. Nous étudierons deux critères dans la prochaine série d’exercices.
Diminution minimale des impuretés
Vous pouvez personnaliser encore davantage le critère utilisé pour fractionner les nœuds. Par exemple, si l’on définit la diminution minimale des impuretés, un nœud ne peut être fractionné que s’il améliore le modèle avec une certaine quantité d’échantillons ou plus. Plusieurs hyperparamètres connexes peuvent bloquer la création de nœuds, tels que la profondeur maximale ou le nombre minimal d’échantillons sur un nœud.
Nous limitons la croissance d’un arbre pour éviter le surajustement. Les arbres de plus grande taille parviennent mieux à se caler sur l’ensemble de données d’apprentissage, mais ils sont parfois si ajustés à cet ensemble d’apprentissage qu’ils cessent d’être efficaces pour d’autres données. En d’autres termes, restreindre la complexité d’un arbre peut réduire sa tendance à surajuster.
Nombre maximum de fonctionnalités
Lorsque des arbres sont créés dans une forêt aléatoire, ils disposent d’un sous-ensemble de données d’entraînement à ajuster et d’une liste de caractéristiques à utiliser. Mais surtout, chaque arbre peut recevoir différents regroupements de fonctionnalités. Par exemple, un arbre peut utiliser le poids et la hauteur, tandis qu’un autre utilise la hauteur et l’âge.
L’augmentation du nombre maximal de caractéristiques que chaque arbre peut recevoir est susceptible d’améliorer la façon dont chaque arbre peut se caler sur l’ensemble d’entraînement à mesure que davantage d’informations sont fournies. Une expérimentation peut être nécessaire pour déterminer si cela renforce ou compromet ses capacités sur l’ensemble de tests. En effet, avec la fourniture systématique de nombreuses caractéristiques, les arbres de la forêt deviennent de plus en plus similaires les uns aux autres, ce qui rend une forêt aléatoire moins avantageuse par rapport à un arbre de décision simple. La recherche de l’équilibre entre ces extrêmes requiert généralement des expérimentations.
Amorçage
L’ajustement du modèle repose généralement, à un moment donné, sur des nombres aléatoires. Les ordinateurs ne produisent pas de nombres véritablement aléatoires, mais contiennent plutôt des règles qui indiquent comment produire une liste de nombres aléatoires, en fonction d’un nombre initial, appelé valeur de départ aléatoire.
Par exemple, si notre valeur de départ était 10 et qu’elle prenait les trois premiers chiffres « aléatoires », l’ordinateur produirait 0,75, 0,13 et 0,68. Bien que ces nombres apparaissent de manière aléatoire, chaque fois que nous partons de 10, nous obtenons la même série de nombres.
En Machine Learning, nous utilisons des nombres aléatoires pour initialiser les paramètres du modèle et/ou pour fractionner les ensembles de données en ensembles d’apprentissage et ensembles de test. Si l’élément initial aléatoire est défini, les valeurs aléatoires utilisées pendant le processus d’entraînement seront les mêmes chaque fois que nous réexécuterons notre code, ce qui signifie que chaque fois que nous réexécuterons notre code, nous affecterons les mêmes données aux jeux de test ou d’entraînement, et que les modèles d’entraînement auront le même état d’initialisation (paramètres initiaux).
En revanche, si nous ne définissons pas la valeur de départ, l’ordinateur en sélectionne une pour nous (par exemple, fondée sur le temps), ce qui signifie qu’une double exécution de notre entraînement peut produire des résultats légèrement différents.
La valeur de départ aléatoire n’est pas strictement un hyperparamètre, mais nous la présentons ici pour insister sur le fait que ce paramètre externe peut jouer un rôle dans l’efficacité de l’apprentissage. Bien que cela soit généralement secondaire, si le modèle est très complexe et/ou si la quantité de données disponibles est faible, les performances de l’ensemble de tests du modèle peuvent être nettement différentes si deux valeurs de départ différentes sont utilisées. Dans de telles situations, il est souvent payant d’exécuter des entraînements avec plusieurs valeurs de départ différentes pour évaluer le degré d’adéquation de votre conception de modèle, et dans quelle mesure vos performances sont simplement un heureux hasard.