Suivez nous sur

Qu'est-ce qu'un arbre de décision ?

AI 101

Qu'est-ce qu'un arbre de décision ?

mm

Qu'est-ce qu'un arbre de décision ?

A arbre de dĂ©cision est un algorithme d'apprentissage automatique utile utilisĂ© Ă  la fois pour les tâches de rĂ©gression et de classification. Le nom « arbre de dĂ©cision Â» vient du fait que l'algorithme continue de diviser l'ensemble de donnĂ©es en parties de plus en plus petites jusqu'Ă  ce que les donnĂ©es soient divisĂ©es en instances uniques, qui sont ensuite classĂ©es. Si vous deviez visualiser les rĂ©sultats de l’algorithme, la façon dont les catĂ©gories sont divisĂ©es ressemblerait Ă  un arbre et de nombreuses feuilles.

C'est une définition rapide d'un arbre de décision, mais approfondissons le fonctionnement des arbres de décision. Une meilleure compréhension du fonctionnement des arbres de décision, ainsi que de leurs cas d'utilisation, vous aidera à savoir quand les utiliser lors de vos projets d'apprentissage automatique.

Format d'un arbre de décision

Un arbre de décision est un peu comme un organigramme. Pour utiliser un organigramme, vous commencez au point de départ, ou racine, du diagramme, puis en fonction de la façon dont vous répondez aux critères de filtrage de ce nœud de départ, vous vous déplacez vers l'un des prochains nœuds possibles. Ce processus est répété jusqu'à ce qu'une fin soit atteinte.

Les arbres de décision fonctionnent essentiellement de la même manière, chaque nœud interne de l'arbre étant une sorte de critère de test/filtrage. Les nœuds à l'extérieur, les extrémités de l'arbre, sont les étiquettes du point de données en question et sont appelés "feuilles". Les branches qui mènent des nœuds internes au nœud suivant sont des caractéristiques ou des conjonctions de caractéristiques. Les règles utilisées pour classer les points de données sont les chemins qui vont de la racine aux feuilles.

Algorithmes pour les arbres de décision

Les arbres de décision fonctionnent selon une approche algorithmique qui divise l'ensemble de données en points de données individuels en fonction de différents critères. Ces divisions sont effectuées avec différentes variables ou les différentes caractéristiques de l'ensemble de données. Par exemple, si l'objectif est de déterminer si un chien ou un chat est décrit ou non par les caractéristiques d'entrée, les variables sur lesquelles les données sont divisées peuvent être des éléments tels que "griffes" et "aboiements".

Alors, quels algorithmes sont utilisĂ©s pour diviser rĂ©ellement les donnĂ©es en branches et en feuilles ? Il existe diffĂ©rentes mĂ©thodes qui peuvent ĂŞtre utilisĂ©es pour diviser un arbre, mais la mĂ©thode de division la plus courante est probablement une technique appelĂ©e "fractionnement binaire rĂ©cursif”. Lors de l'exĂ©cution de cette mĂ©thode de fractionnement, le processus commence Ă  la racine et le nombre d'entitĂ©s dans l'ensemble de donnĂ©es reprĂ©sente le nombre possible de fractionnements possibles. Une fonction est utilisĂ©e pour dĂ©terminer le degrĂ© de prĂ©cision que coĂ»tera chaque division possible, et la division est effectuĂ©e en utilisant les critères qui sacrifient le moins de prĂ©cision. Ce processus est effectuĂ© de manière rĂ©cursive et des sous-groupes sont formĂ©s en utilisant la mĂŞme stratĂ©gie gĂ©nĂ©rale.

Pour déterminer le coût de la division, une fonction de coût est utilisée. Une fonction de coût différente est utilisée pour les tâches de régression et de classification. L'objectif de ces deux fonctions de coût est de déterminer les branches présentant les valeurs de réponse les plus similaires, ou les branches les plus homogènes. Imaginons que vous souhaitiez que les données de test d'une certaine classe suivent certains chemins, ce qui paraît logique.

En termes de fonction de coĂ»t de rĂ©gression pour la division binaire rĂ©cursive, l'algorithme utilisĂ© pour calculer le coĂ»t est le suivant :

somme(y – prédiction)^2

La prédiction pour un groupe particulier de points de données est la moyenne des réponses des données d'apprentissage pour ce groupe. Tous les points de données sont passés par la fonction de coût pour déterminer le coût de toutes les divisions possibles et la division avec le coût le plus bas est sélectionnée.

En ce qui concerne la fonction de coĂ»t pour la classification, la fonction est la suivante :

G = somme(pk * (1 – pk))

Il s'agit du score de Gini, et c'est une mesure de l'efficacitĂ© d'une scission, basĂ©e sur le nombre d'instances de diffĂ©rentes classes dans les groupes rĂ©sultant de la scission. En d'autres termes, il quantifie le degrĂ© de mixitĂ© des groupes après la scission. Une scission optimale est lorsque tous les groupes rĂ©sultant de la scission se composent uniquement d'entrĂ©es d'une classe. Si une rĂ©partition optimale a Ă©tĂ© créée, la valeur "pk" sera soit 0 soit 1 et G sera Ă©gal Ă  zĂ©ro. Vous pourriez ĂŞtre en mesure de deviner que la rĂ©partition dans le pire des cas est celle oĂą il existe une reprĂ©sentation 50-50 des classes dans la rĂ©partition, dans le cas d'une classification binaire. Dans ce cas, la valeur « pk Â» serait de 0.5 et G serait Ă©galement de 0.5.

Le processus de fractionnement est terminé lorsque tous les points de données ont été transformés en feuilles et classés. Cependant, vous voudrez peut-être arrêter la croissance de l'arbre tôt. Les grands arbres complexes sont sujets au surajustement, mais plusieurs méthodes différentes peuvent être utilisées pour lutter contre cela. Une méthode pour réduire le surajustement consiste à spécifier un nombre minimum de points de données qui seront utilisés pour créer une feuille. Une autre méthode de contrôle du surajustement consiste à limiter l'arbre à une certaine profondeur maximale, qui contrôle la longueur d'un chemin pouvant s'étendre de la racine à une feuille.

Un autre processus impliqué dans la création d'arbres de décision est la taille. L'élagage peut aider à augmenter les performances d'un arbre de décision en supprimant les branches contenant des caractéristiques qui ont peu de pouvoir prédictif/peu d'importance pour le modèle. De cette façon, la complexité de l'arbre est réduite, il devient moins susceptible de sur-ajuster et l'utilité prédictive du modèle est augmentée.

Lors de l'élagage, le processus peut commencer soit au sommet de l'arbre, soit au bas de l'arbre. Cependant, la méthode d'élagage la plus simple consiste à commencer par les feuilles et à tenter de supprimer le nœud qui contient la classe la plus courante dans cette feuille. Si la précision du modèle ne se détériore pas lorsque cela est fait, alors le changement est conservé. Il existe d'autres techniques utilisées pour effectuer l'élagage, mais la méthode décrite ci-dessus - élagage à erreur réduite - est probablement la méthode la plus courante d'élagage d'arbre de décision.

Considérations relatives à l'utilisation des arbres de décision

Arbres de décision sont souvent utiles lorsqu'une classification doit être effectuée mais que le temps de calcul est une contrainte majeure. Les arbres de décision peuvent indiquer clairement quelles caractéristiques des ensembles de données choisis ont le pouvoir prédictif le plus élevé. De plus, contrairement à de nombreux algorithmes d'apprentissage automatique où les règles utilisées pour classer les données peuvent être difficiles à interpréter, les arbres de décision peuvent rendre des règles interprétables. Les arbres de décision sont également capables d'utiliser à la fois des variables catégorielles et continues, ce qui signifie que moins de prétraitement est nécessaire, par rapport aux algorithmes qui ne peuvent gérer qu'un seul de ces types de variables.

Les arbres de décision ont tendance à ne pas fonctionner très bien lorsqu'ils sont utilisés pour déterminer les valeurs d'attributs continus. Une autre limitation des arbres de décision est que, lors de la classification, s'il y a peu d'exemples de formation mais de nombreuses classes, l'arbre de décision a tendance à être inexact.

Blogueur et programmeur spécialisé dans Machine Learning et L'apprentissage en profondeur les sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.