39
Introduction Classification supervis ´ ee par arbre de d´ ecision Algorithme d’apprentissage d’arbres de d ´ ecision Arbres de d ´ ecision ecile Capponi [email protected] Universit ´ e Aix-Marseille M1 Informatique

Cecile Capponi´ [email protected]/~francois.denis/IAAM1/cours-arbres.pdf · [email protected] Universit´e Aix-Marseille M1 Informatique

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Arbres de decision

Cecile [email protected]

Universite Aix-Marseille

M1 Informatique

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Plan

Introduction

Classification supervisee par arbre de decision

Algorithme d’apprentissage d’arbres de decision

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Les arbres de decision

NotationsSoient A1, . . . ,Am : attributs binaires, n-aires, ou reels. L’espace dedescription est X =

∏mj=1 Xj ou Xj est le domaine de Aj .

Definition d’un arbre de decisionEnsemble de regles de classification basant leur decision sur des testsassocies aux attributs, organises de maniere arborescente.

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Les arbres de decision (cont’d)

Structure• Noeuds internes (noeuds de decision) : etiquetes par des tests

applicables a toute description d’une instance. Generalement, un noeudinterne = test sur un unique attribut.

• Arcs issus d’un noeud interne : reponses possibles au test du noeud.• Feuilles de l’arbre : etiquetees par une classe.• Chaque noeud interne ou feuille, est repere par sa position (liste des

numeros des arcs qui permettent d’y acceder en partant de la racine).

Arbre de decision et apprentissage

• Tout arbre de decision definit un classifieur• Classifieur qui se traduit immediatement en terme de regles de decision

Gros avantages des arbres de decision

1. Decisions aisement interpretables,

2. classification tres rapide.

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Plan

Introduction

Classification supervisee par arbre de decision

Algorithme d’apprentissage d’arbres de decision

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Construire un arbre de decision a partir de S

Match dom. Balance pos. Mauvais climat Match prec. gagne VictoireV V F F VF F V V VV V V F VV V F V VF V V V FF F V F FV F F V FV F V F F

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Construction aveugle

MD

BP BP

MC MCMC MC

PG PG PG PGPG PGPG PG

V V V F F F V F

vrai faux

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Construction aveugle

MD

BP BP

MC MCMC MC

PG PG PG PGPG PGPG PG

V V V F F F V F

vrai faux

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Construction aveugle

MD

BP BP

MC MCMC MC

PG PG PG PGPG PGPG PG

V V V F F F V F

vrai faux

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Construction aveugle

MD

BP BP

MC MCMC MC

PG PG PG PGPG PGPG V

V F F F V F

vrai faux

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Construire un arbre de decision a partir de S

Match dom. Balance pos. Mauvais climat Match prec. gagne VictoireV V F F VF F V V VV V V F VV V F V VF V V V FF F V F FV F F V FV F V F FV V V F F

Cas de non-determinisme – Pas d’arbre parfait

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Probleme non-deterministe

MD

BP BP

MC MCMC MC

PG PG PG PGPG PGPG V

V F F F V F

vrai faux

F

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Arbre de decision de risque empirique minimal ?

• Construire un arbre de decision de risque empirique minimal = possiblepour tout S

• Mais tres faible capacite predictive (generalisation). pourquoi ?• Est-ce que le plus petit arbre de decision compatible avec S aura de

meilleures capacites de generalisation ?• cf. theorie de l’apprentissage statistique (Vapnik)

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Petit arbre de decision compatible

InteretConforme aux principes invoques en apprentissage

• Principe du rasoir d’Occam : trouver l’hypothese la plus courte possiblecompatible avec les donnees

• Principe MDL (minimum description length) : soit des donnees S,trouver l’hypothese H telle que |H|+ |S/H| soit la plus petite possible(longueur d’un codage des donnees via H)

Mais...Trouver le plus petit arbre de decision compatible avec S est un problemeNP-complet.

Besoin d’algorithmes specifiquesPlus petit arbre possible (mais pas forcement le plus petit), compatible aumieux avec les donnees, pour satisfaire le principe ERM.

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Plan

Introduction

Classification supervisee par arbre de decision

Algorithme d’apprentissage d’arbres de decision

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Structure generique de l’algorithme

Algorithmes de reference

• CART• C4.5

Principe generalConstruction top-down, gloutonne et recursive, d’un petit arbre consistantavec la plupart des donnees

Trois operateurs majeurs

1. Decider 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 supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Structure generique de l’algorithme (cont’d)

Require: echantillon S1: Initialiser l’arbre courant a vide : racine = noeud courant2: repeat3: Decider si le noeud courant est terminal4: if noeud terminal then5: Lui affecter une classe6: else7: Selectionner un test et creer autant de nouveaux noeuds qu’il y a de

reponses possibles au tests8: end if9: Passer au noeud suivant non-explore (s’il existe)

10: until Plus de noeud sans classe11: return Arbre de decision A

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Structure generique de l’algorithme (cont’d)

Noeud terminal ?• Lorsque (presque) tous les exemples de S en ce noeud sont dans la

meme classe,• Lorsqu’il n’y a plus d’attributs a tester a ce niveau

Quelle classe a un noeud terminal ?

• Classe majoritaire• Classe la plus representee, si egalite

Selection d’un test ?Choix de l’attribut qui fait le mieux progresser la discrimination des donneesde S : gain en information.

• Indice de Gini (CART)• Critere d’entropie (C4.5)

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Indice de Gini et entropie

Mesure du desordre (ou d’inegalite de repartition), pour choix d’un test a uneposition de l’arbre

Donnees• S un echantillon, a l’attribut cible• S1, . . . ,Sk partition de S selon les classes de a

Indice de Gini

Gini(S) =k∑

i=1

|Si ||S| (1−

|Si ||S| ) =

∑i 6=j

|Si | × |Sj ||S|2

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Coefficient de Gini

(Inegalite des revenus – source: wikipedia)

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Indice de Gini et entropie (cont’d)

Mesure du desordre (ou d’inegalite de repartition)

Donnees• S un echantillon, a l’attribut cible• S1, . . . ,Sk partition de S selon les classes de a

Indice de Gini

Gini(S) =k∑

i=1

|Si ||S| (1−

|Si ||S| ) =

∑i 6=j

|Si | × |Sj ||S|2

Entropie

Ent(S) = −k∑

i=1

|Si ||S| log(

|Si ||S| )

(variation d’un terme multiplicatif constant selon la base du log)

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Indice de Gini et entropie (cont’d)

ExempleSupposons k = 2, soit x = |S1|

|S|

Gini(S) = 2x(1− x)

Ent(S) = −x logx − (1− x)log(1− x)

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Comment choisir un test parmi les attributs disponibles ?

Cas des attributs binaires• p : position courante (ε a la racine) de l’arbre en construction• T : un test (sur un attribut : T a deux reponses possibles !)• f =Ent ou f =Gini, Sp echantillon associe a p• Spi : ensemble des exemples de Sp qui satisfont la i-eme branche de T• Pi : proportion des elements de Sp qui satisfont la i-eme branche de T

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Comment choisir un test parmi les attributs disponibles ?

Cas des attributs binaires• p : position courante (ε a la racine) de l’arbre en construction• T : un test (sur un attribut : T a deux reponses possibles !)• f =Ent ou f =Gini, Sp echantillon associe a p• Spi : ensemble des exemples de Sp qui satisfont la i-eme branche de T• Pi : proportion des elements de Sp qui satisfont la i-eme branche de T

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Comment choisir un test parmi les attributs disponibles ?

Cas des attributs binaires• p : position courante (ε a la racine) de l’arbre en construction• T : un test (sur un attribut : T a deux reponses possibles !)• f =Ent ou f =Gini, Sp echantillon associe a p• Spi : ensemble des exemples de Sp qui satisfont la i-eme branche de T• Pi : proportion des elements de Sp qui satisfont la i-eme branche de T

Gainf (p,T ) = f (Sp)−2∑

j=1

Pj × f (Spj )

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Le gain d’un attribut a une position

Gainf (p,T ) = f (Sp)−2∑

j=1

Pj × f (Spj )

Proprietes (cas attributs binaires)

• Terme f (Sp) ne depend pas de T !• Consequence : Maximiser le gain revient a minimiser

∑2j=1 Pj × f (Spj ) !

• Gain maximal lorsque le test sur un attribut permet de classercorrectement toutes les donnees

• (Gain minimal si aucune information apportee par ce test au regard de laclassification)

• Selction de l’attribut qui maximise le gain : stratgegie gloutonne

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Sur l’exemple des matchs

Choix du premier attribut (position racine)Critere de Gini (DOM, BAL, MCC, MPG)

• Gain(ε,DOM) = Gini(S)− ( 58 Gini(S1) + 3

8 Gini(S2)) =

Gini(S)− 2× 5×2×38×5×5 − 2× 3×1×2

8×3×3 = Gini(S)− 715

• Gain(ε,BAL = Gini(S)− 38

• Gain(ε,MCC = Gini(S)− 715

• Gain(ε,MPG = Gini(S)− 12

Gain Maximum pour BAL (idem pour Entropie) : c’est l’attribut choisi a laracine pour une premiere 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 supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Arbre final obtenu

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Erreur apparente nulle, mais...

Faible pouvoir predictif (notion de sur-apprentissage – ou apprentissage parcoeur)Necessite d’obtenir un arbre plus petit : elagage

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Phase d’elagage de l’arbre de decision

Deux approches

• Eviter une trop grande croissance de l’arbre en arretant sa constructionau bon moment (early stopping via ensemble de validation).

• Proceder en deux phases : construire l’arbre completement, puis couperles branches qui depassent !

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Elagage de CARTVariations d’erreurs a minimiser

• T0 un arbre de decision a elaguer, T l’ensemble de tous les arbres dedecision obtenus a partir de T0 en remplacant certains noeuds internespar des feuilles.

• Pour chaque noeud interne p de T0 :

α =∆RS

emp

|Tp| − 1

ou ∆RSemp est le nombre d’erreurs supplementaires que commet l’arbre

sur S lorsqu’on elague a la position p, et |Tp| − 1 mesure le nombre defeuilles supprimees.

Processus iteratif• Ti+1 obtenu a partir de Ti , auquel on coupe la branche qui permet un α

minimal.• Soit T0, . . . ,Ti , . . . ,Tt la suite obtenue, ou Tt est reduit a une feuille.• Selection de l’arbre Ti dont le nombre d’erreurs calculees sur ensemble

de validation Sval est minimal.

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Elagage de CART sur l’exemple

BAL ?

DOM ? MPG ?

MCC ?PerduGagné Perdu

PerduGagné

oui

oui oui

oui

non

non

non

non

(4V, 4F ; 8)

(3V, 1F ; 4) (1V, 3F ; 4)

(3V, 0F ; 3) (0V, 1F ; 1)

(1V, 0F ; 1) (0V, 1F ; 1)

(0V, 2F ; 2)(1V, 1F ; 2)

T0

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Elagage de CART sur l’exemple

BAL ?

DOM ? Perdu

PerduGagné

oui

oui non

non

(4V, 4F ; 8)

(3V, 1F ; 4) (1V, 3F ; 4)

(3V, 0F ; 3) (0V, 1F ; 1)

T1

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Elagage de CART sur l’exemple

BAL ?

Gagné Perdu

oui non

(4V, 4F ; 8)

(3V, 1F ; 4) (1V, 3F ; 4)

Gagné(4V, 4F ; 8)

T2 T3

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Elagage de CART sur l’exemple (cont’d)

Ensemble de validationMatch dom. Balance pos. Mauvais climat Match prec. gagne Victoire

V V V F VF V V F VF F F V FV F V F V

Calculs d’erreurs• T0 : 0 en apprentissage, 1

2 en test

• T1 : 14 en apprentissage, 1

2 en test : memes erreurs que T0

• T2 : 12 en apprentissage, 1

4 en test

• T3 : 12 en apprentissage, 1

4 en test

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

ComplementsAutres categories d’attributs

• Traitement en cas d’attributs n-aires et continus• Traitement en cas de multi-classes• Donnees 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 selectionne grace a la notion de gain

v1 v2 v3 v4 v5 v6 v7 v8

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

ComplementsAutres categories d’attributs

• Traitement en cas d’attributs n-aires et continus• Traitement en cas de multi-classes• Donnees 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 selectionne grace a la notion de gain

v1 v2 v3 v4 v5 v6 v7 v8

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Complements : attributs n-aires

Generalisation des formules de gain

Gainf (p,T ) = f (Sp)−N∑

j=1

Pj × f (Spj )

• Privilege des attributs de grande arite• Cas ou attribut = cle identifiant chaque element de S

Approche de C4.5 : Ratio de gainSoit a d’arite N, prenant les valeurs v1, . . . , vN :

GainRatio =Gain

−∑N

i=1ki|S| log ki

|S|

ou ki = nombre d’exemples de S pour lesquels a = vi .

Introduction Classification supervisee par arbre de decision Algorithme d’apprentissage d’arbres de decision

Complements : instabilite

Variance importanteSur donnees reelles :

• choix d’un attribut plutot qu’un autre : limite serree !• influence majeure si proche de la racine

Solutions : agreger sur le hasard

• Bagging (Boostrap Aggregating)• Random Forests