Apprentissage par arbre de décision
Objectifs / Applications Apprendre une classification Classification animale, végétale Pouvoir répondre à un questionnaire Pouvoir résoudre un problème à l’aide de Questions/Réponses Apprentissage de règles pour annoter des protéines Etc.
Un exemple : Détection de la grippe Apparition soudaine de fièvre élevée Le patient est fatigué Rhinorrhée (nez qui coule) Toux Douleurs à la gorge Enrouement, douleurs dorsales, des membres et céphalées Grippe
Représentation sous forme d’arbre fièvre toux fatigue Maux de gorge grippe Nez qui coule Courbatures et maux de tête angine
Méthode Apprendre une suite de Questions/Réponses la plus « efficace » possible Isoler les classes Organiser les questions/réponses sous la forme d’un arbre
Autre exemple : la ballade du chien Attributs quel temps fait-il ? {pluvieux, ensoleillé, couvert} Température extérieure : attribut numérique Voisin parti avec son chat : attribut booléen Décision à prendre Sortir ou non le chien
Arbre de décision Quel temps fait-il ? Température ? Voisin absent ? couvert Ensoleillé pluvieux Température ? Voisin absent ? Je reste chez moi non > 10 degré 10 degré oui Je reste chez moi Je sors le chien Je sors le chien Je reste chez moi
Construction de l’arbre Problème : Apprendre un arbre de décision à partir d’une base d’exemples étiquetés Objectif : Être efficace en généralisation (être capable de classer correctement un nouvel exemple)
Recherche exhaustive dans l’ensemble des arbres possibles Impossible : exponentiel en fonction de nombre d ’attributs : d nombre moyen de valeurs par attributs : a
Construction « intelligente » des arbres de décision Démarrer avec un arbre vide et construire l’arbre de manière inductive et descendante Critères d’arrêt : échantillon pur plus d’attributs a tester
Algorithme Procédure : construire-arbre(X) Si tous les points de X appartiennent à la même classe alors créer une feuille portant le nom de cette classe sinon choisir le meilleur attribut pour créer un nœud Le test associé à ce nœud sépare X en deux parties : Xg et Xd construire-arbre (Xg) construire-arbre (Xd) finsi
Positionnement du problème Ensemble d ’apprentissage : S Un exemple : (x,w) décrit par d attributs : {xi, i=1,…,d} w une classe C ={w1,…,wC}
Quelques probabilités… soit un nœud contenant n exemples, répartis en C classes wj comportant chacune nj exemples Soit a un attribut binaire divisant chaque sous-ensemble nj en deux parties contenant respectivement lj exemples pour test sur a=VRAI et rj exemples pour test sur a=FAUX lj/n P(a=VRAI, w = wj) , rj/n P(a=FAUX, w = wj) l/n P(a=VRAI) , r/n P(a=FAUX) nj/n P( w = wj)
Mesure pour choisir l’attribut Théorie de l ’information Information mutuelle (entropie croisée) Si w et a sont deux variables avec Dw et Da leurs ensembles finis de valeurs possibles L ’entropie croisée de w et a est égale à
Entropie Entropie d’une variable aléatoire w Entropie de w conditionnée par a Résultat classique :
Mesure retenue pour le test Estimation des probabilités Attribut retenu (celui qui minimise l’entropie) Entropie minimale si « échantillon pur » avec : et
Un exemple de construction Problème : étant donné une situation, prédire si un enfant peut aller ou non jouer avec son voisin Base d ’exemples décisions prises les 8 jours précédents le problème (4 attributs binaires et une classe)
Base d’exemples
Recherche de la racine de l’arbre Calcul de H(w|DF), H(w|BH), H(w|TB) et H(w|GP) H(w|BH) = 0.93, H(w|TB) = 0.8 et H(w|GP) = 1
Arbre de décision ... Temps = beau ? vrai faux
Arbre de décision appris Temps = beau ? Goûter pris ? Maman de bonne humeur ? Vrai Devoirs finis ? Faux vrai faux
Élagage de l’arbre Pré-élagage Post-élagage créer une feuille si une classe y est majoritairement représentée (seuil a priori) utilisation de critères locaux Post-élagage utilisation d’un ensemble indépendant de l’ensemble d’apprentissage mesurer l’erreur commise sur cet ensemble
Post-élagage Soit Tmax l’arbre obtenu à partir de l’ensemble d’apprentissage Construire une suite d’arbres {Tmax, T1, T2, …, Tn} en partant des feuilles et en remontant vers la racine en transformant un nœud en feuille à chaque étape. Comparer le coût du nouvel arbre à celui du précédent et arrêter l’élagage si le coût est supérieur
Estimation du coût d’un arbre Prise en considération de erreur commise par l’arbre complexité de l’arbre Nombre d’exemples de l’ensemble d’apprentissage mal classés par le nœud v de Tk dans l’arbre élagué à v mal classés par le nœud v de Tk dans l’arbre non élagué Nombre de feuilles de Tk Nombre de feuilles du sous-arbre de Tk situé sous le nœud v
Algorithme d’élagage Procédure : élaguer(Tmax) k 0 Tk Tmax tant que Tk a plus d ’un nœud faire pour chaque nœud v de Tk faire calculer le critère w(Tk,v) sur l ’ensemble d ’apprentissage finPour choisi le nœud vm pour lequel le critère est maximum Tk+1 se déduit de Tk en y remplaçant vm par une feuille k k+1 fin TantQue Sur l’ensemble des arbres {Tmax, T1, …, Tk, …, Tn} choisir celui qui a la plus petite erreur en classification sur l’ensemble de validation
Un exemple d’élagage X2 X1 * O a b d c
L’arbre de décision Tmax v1 v2 v4 v3 X1 > a ? X2 > c ? X2 > d ? X2 > b ? * O Faux Vrai
L’arbre de décision Tmax v1 v2 v4 v3 X1 > a ? X2 > c ? X2 > d ? X2 > b ? * O Faux Vrai
L’arbre de décision T1 X1 > a ? X2 > b ? * O Faux Vrai v1 v3
L’arbre de décision T2 * O X1 > a ? * O Faux Vrai Choisir, à partir d’un ensemble de validation, le meilleur arbre parmi Tmax, T1 et T2. C’est à dire celui minimisant l’erreur de classification
Choix de l’arbre * O * O * O T2 T1 Tmax Choisir, à partir d’un ensemble de validation, le meilleur arbre parmi Tmax, T1 et T2, c’est à dire celui minimisant l’erreur de classification X1 > a ? X2 > b ? * O Faux Vrai X2 > b ? * O Faux Vrai X1 > a ? X2 > c ? X2 > d ? X1 > a ? * O Faux Vrai T2 T1 Tmax
Récapitulatif Méthode de référence en apprentissage supervisé Méthode très répandue, rapide et disponible (http://www.cse.unsw.edu.au/~quinlan) Méthode relativement sensible au bruit