Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Arbres de décision Cécile Capponi [email protected] Université Aix-Marseille M2 MASS Introduction Classification supervisée par arbre de décision Plan Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Algorithme d’apprentissage d’arbres de décision Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Les arbres de décision Notations Soient A1 , . . . , Am : attributs binaires, n-aires, ou réels. L’espace de Q description est X = m X où Xj est le domaine de Aj . j j=1 Définition d’un arbre de décision Ensemble de règles de classification basant leur décision sur des tests associés aux attributs, organisés de manière arborescente. Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Les arbres de décision (cont’d) Structure • Noeuds internes (noeuds de décision) : étiquetés par des tests applicables à toute description d’une instance. Généralement, un noeud interne = test sur un unique attribut. • Arcs issus d’un noeud interne : réponses possibles au test du noeud. • Feuilles de l’arbre : étiquetées par une classe. • Chaque noeud interne ou feuille, est repéré par sa position (liste des numéros des arcs qui permettent d’y accéder en partant de la racine). Arbre de décision et apprentissage • Tout arbre de décision définit un classifieur • Classifieur qui se traduit immédiatement en terme de règles de décision Gros avantages des arbres de décision 1. Décisions aisément interprétables, 2. classification très rapide. Introduction Classification supervisée par arbre de décision Plan Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Algorithme d’apprentissage d’arbres de décision Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Construire un arbre de décision à partir de S Match dom. V F V V F F V V Balance pos. V F V V V F F F Mauvais climat F V V F V V F V Match préc. gagné F V F V V F V F Victoire V V V V F F F F Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Construction aveugle MD vrai faux BP BP MC PG V MC PG V PG V F MC PG F PG F MC PG PG V F PG Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Construction aveugle MD vrai faux BP BP MC PG V MC PG V PG V F MC PG F PG F MC PG PG V F PG Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Construction aveugle MD vrai faux BP BP MC PG V MC PG V PG V F MC PG F PG F MC PG PG V F PG Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Construction aveugle MD vrai faux BP BP MC PG V MC V PG F MC PG F PG F MC PG PG V F PG Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Construire un arbre de décision à partir de S Match dom. V F V V F F V V V Balance pos. V F V V V F F F V Mauvais climat F V V F V V F V V Match préc. gagné F V F V V F V F F Cas de non-déterminisme – Pas d’arbre parfait Victoire V V V V F F F F F Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Problème non-déterministe MD vrai faux BP BP MC PG VF MC V PG F MC PG F PG F MC PG PG V F PG Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Arbre de décision de risque empirique minimal ? • Construire un arbre de décision de risque empirique minimal = possible pour tout S • Mais très faible capacité prédictive (généralisation). pourquoi ? • Est-ce que le plus petit arbre de décision compatible avec S aura de meilleures capacités de généralisation ? • cf. théorie de l’apprentissage statistique (Vapnik) Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Petit arbre de décision compatible Intérêt Conforme aux principes invoqués en apprentissage • Principe du rasoir d’Occam : trouver l’hypothèse la plus courte possible compatible avec les données • Principe MDL (minimum description length) : soit des données S, trouver l’hypothèse H telle que |H| + |S/H| soit la plus petite possible (longueur d’un codage des données via H) Mais... Trouver le plus petit arbre de décision compatible avec S est un problème NP-complet. Besoin d’algorithmes spécifiques Plus petit arbre possible (mais pas forcément le plus petit), compatible au mieux avec les données, pour satisfaire le principe ERM. Introduction Classification supervisée par arbre de décision Plan Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Algorithme d’apprentissage d’arbres de décision Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Structure générique de l’algorithme Algorithmes de référence • CART • C4.5 Principe général Construction top-down, gloutonne et récursive, d’un petit arbre consistant avec la plupart des données Trois opérateurs majeurs 1. Décider si un noeud est terminal, 2. Si un noeud n’est pas terminal, lui associer un test 3. Si un noeud est terminal, lui associer une classe Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Structure générique de l’algorithme (cont’d) Require: échantillon S 1: Initialiser l’arbre courant à vide : racine = noeud courant 2: repeat 3: Décider si le noeud courant est terminal 4: if noeud terminal then 5: Lui affecter une classe 6: else 7: Sélectionner un test et créer autant de nouveaux noeuds qu’il y a de réponses possibles au tests 8: end if 9: Passer au noeud suivant non-exploré (s’il existe) 10: until Plus de noeud sans classe 11: return Arbre de décision A Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Structure générique de l’algorithme (cont’d) Noeud terminal ? • Lorsque (presque) tous les exemples de S en ce noeud sont dans la même classe, • Lorsqu’il n’y a plus d’attributs à tester à ce niveau Quelle classe à un noeud terminal ? • Classe majoritaire • Classe la plus représentée, si égalité Sélection d’un test ? Choix de l’attribut qui fait le mieux progresser la discrimination des données de S : gain en information. • Indice de Gini (CART) • Critère d’entropie (C4.5) Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Indice de Gini et entropie Mesure du désordre (ou d’inégalité de répartition), pour choix d’un test à une position de l’arbre Données • S un échantillon, a l’attribut cible • S1 , . . . , Sk partition de S selon les classes de a Indice de Gini Gini(S) = k X X |Si | × |Sj | |Si | |Si | (1 − )= |S| |S| |S|2 i=1 i6=j Introduction Classification supervisée par arbre de décision Coefficient de Gini (Inégalité des revenus – source: wikipedia) Algorithme d’apprentissage d’arbres de décision Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Indice de Gini et entropie (cont’d) Mesure du désordre (ou d’inégalité de répartition) Données • S un échantillon, a l’attribut cible • S1 , . . . , Sk partition de S selon les classes de a Indice de Gini Gini(S) = k X X |Si | × |Sj | |Si | |Si | (1 − )= |S| |S| |S|2 i=1 i6=j Entropie Ent(S) = − k X |Si | |Si | log( ) |S| |S| i=1 (variation d’un terme multiplicatif constant selon la base du log) Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Indice de Gini et entropie (cont’d) Exemple Supposons k = 2, soit x = |S1 | |S| Gini(S) = 2x(1 − x) Ent(S) = −xlogx − (1 − x)log(1 − x) Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Comment choisir un test parmi les attributs disponibles ? Cas des attributs binaires • p : position courante ( à la racine) de l’arbre en construction • T : un test (sur un attribut : T a deux réponses possibles !) • f =Ent ou f =Gini, Sp échantillon associé à p • Spi : ensemble des exemples de Sp qui satisfont la i-ème branche de T • Pi : proportion des éléments de Sp qui satisfont la i-ème branche de T Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Comment choisir un test parmi les attributs disponibles ? Cas des attributs binaires • p : position courante ( à la racine) de l’arbre en construction • T : un test (sur un attribut : T a deux réponses possibles !) • f =Ent ou f =Gini, Sp échantillon associé à p • Spi : ensemble des exemples de Sp qui satisfont la i-ème branche de T • Pi : proportion des éléments de Sp qui satisfont la i-ème branche de T Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Comment choisir un test parmi les attributs disponibles ? Cas des attributs binaires • p : position courante ( à la racine) de l’arbre en construction • T : un test (sur un attribut : T a deux réponses possibles !) • f =Ent ou f =Gini, Sp échantillon associé à p • Spi : ensemble des exemples de Sp qui satisfont la i-ème branche de T • Pi : proportion des éléments de Sp qui satisfont la i-ème branche de T Gainf (p, T ) = f (Sp ) − 2 X j=1 Pj × f (Spj ) Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Le gain d’un attribut à une position Gainf (p, T ) = f (Sp ) − 2 X Pj × f (Spj ) j=1 Propriétés (cas attributs binaires) • Terme f (Sp ) ne dépend pas de T ! • Conséquence : Maximiser le gain revient à minimiser P2 j=1 Pj × f (Spj ) ! • Gain maximal lorsque le test sur un attribut permet de classer correctement toutes les données • (Gain minimal si aucune information apportée par ce test au regard de la classification) • Sélction de l’attribut qui maximise le gain : stratgégie gloutonne Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Sur l’exemple des matchs Choix du premier attribut (position racine) Critère de Gini (DOM, BAL, MCC, MPG) • Gain(, DOM) = Gini(S) − ( 58 Gini(S1 ) + 38 Gini(S2 )) = Gini(S) − 2 × 5×2×3 8×5×5 −2× • Gain(, BAL = Gini(S) − 3×1×2 8×3×3 = Gini(S) − 7 15 3 8 • Gain(, MCC = Gini(S) − • Gain(, MPG = Gini(S) − 7 15 1 2 Gain Maximum pour BAL (idem pour Entropie) : c’est l’attribut choisi à la racine pour une première phase de classification. Choix du second test en position S1 (BAL=V) Calcul des gains pour chaque attribut restant : the winner is DOM Choix du second test en position S2 (BAL=F) The winner si MPG Introduction Classification supervisée par arbre de décision Arbre final obtenu Algorithme d’apprentissage d’arbres de décision Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Erreur apparente nulle, mais... Faible pouvoir prédictif (notion de sur-apprentissage – ou apprentissage par coeur) Nécessité d’obtenir un arbre plus petit : élagage Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Phase d’élagage de l’arbre de décision Deux approches • Eviter une trop grande croissance de l’arbre en arrêtant sa construction au bon moment (early stopping via ensemble de validation). • Procéder en deux phases : construire l’arbre complètement, puis couper les branches qui dépassent ! Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Elagage de CART Variations d’erreurs à minimiser • T0 un arbre de décision à élaguer, T l’ensemble de tous les arbres de décision obtenus à partir de T0 en remplaçant certains noeuds internes par des feuilles. • Pour chaque noeud interne p de T0 : α= S ∆Remp |Tp | − 1 S où ∆Remp est le nombre d’erreurs supplémentaires que commet l’arbre sur S lorsqu’on élague à la position p, et |Tp | − 1 mesure le nombre de feuilles supprimées. Processus itératif • Ti+1 obtenu à partir de Ti , auquel on coupe la branche qui permet un α minimal. • Soit T0 , . . . , Ti , . . . , Tt la suite obtenue, où Tt est réduit à une feuille. • Sélection de l’arbre Ti dont le nombre d’erreurs calculées sur ensemble de validation Sval est minimal. Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Elagage de CART sur l’exemple BAL ? (4V, 4F ; 8) oui non DOM ? (3V, 1F ; 4) oui Gagné (3V, 0F ; 3) T0 MPG ? (1V, 3F ; 4) non Perdu (0V, 1F ; 1) oui non MCC ? (1V, 1F ; 2) oui Gagné (1V, 0F ; 1) non Perdu (0V, 1F ; 1) Perdu (0V, 2F ; 2) Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Elagage de CART sur l’exemple BAL ? (4V, 4F ; 8) oui non DOM ? (3V, 1F ; 4) oui Gagné (3V, 0F ; 3) non Perdu (0V, 1F ; 1) Perdu (1V, 3F ; 4) T1 Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Elagage de CART sur l’exemple BAL ? (4V, 4F ; 8) oui Gagné (4V, 4F ; 8) non T2 Gagné (3V, 1F ; 4) Perdu (1V, 3F ; 4) T3 Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Elagage de CART sur l’exemple (cont’d) Ensemble de validation Match dom. V F F V Balance pos. V V F F Mauvais climat V V F V Match préc. gagné F F V F Calculs d’erreurs • T0 : 0 en apprentissage, • T1 : • T2 : • T3 : 1 4 1 2 1 2 en apprentissage, en apprentissage, en apprentissage, 1 2 1 2 1 4 1 4 en test en test : mêmes erreurs que T0 en test en test Victoire V V F V Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Compléments Autres catégories d’attributs • Traitement en cas d’attributs n-aires et continus • Traitement en cas de multi-classes • Données manquantes ? Attribut continu : partition de l’intervalle • Attribut a, tests binaires de la forme a < v ou a ≤ v • Soient v1 , v2 , . . . vN valeurs prises par a dans S • Exemple de test, pour i = 1 . . . N − 1 : a< vi + vi+1 2 • Test sélectionné grâce à la notion de gain v1 v2 v3 v4 v5 v6 v7 v8 Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Compléments Autres catégories d’attributs • Traitement en cas d’attributs n-aires et continus • Traitement en cas de multi-classes • Données manquantes ? Attribut continu : partition de l’intervalle • Attribut a, tests binaires de la forme a < v ou a ≤ v • Soient v1 , v2 , . . . vN valeurs prises par a dans S • Exemple de test, pour i = 1 . . . N − 1 : a< vi + vi+1 2 • Test sélectionné grâce à la notion de gain v1 v2 v3 v4 v5 v6 v7 v8 Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Compléments : attributs n-aires Généralisation des formules de gain Gainf (p, T ) = f (Sp ) − N X Pj × f (Spj ) j=1 • Privilège des attributs de grande arité • Cas où attribut = clé identifiant chaque élément de S Approche de C4.5 : Ratio de gain Soit a d’arité N, prenant les valeurs v1 , . . . , vN : GainRatio = Gain − ki ki i=1 |S| log |S| PN où ki = nombre d’exemples de S pour lesquels a = vi . Introduction Classification supervisée par arbre de décision Algorithme d’apprentissage d’arbres de décision Compléments : instabilité Variance importante Sur données réelles : • choix d’un attribut plutôt qu’un autre : limite serrée ! • influence majeure si proche de la racine Solutions : agréger sur le hasard • Bagging (Boostrap Aggregating) • Random Forests