41
Introduction Classification supervis ´ ee par arbre de d´ ecision Algorithme d’apprentissage d’arbres de d ´ ecision Arbres de d ´ ecision ecile Capponi, R ´ emi Eyraud, ´ equipe QARMA du LIS [email protected] Universit ´ e Aix-Marseille L3 MIASH – Introduction ` a l’Apprentissage Automatique

Arbres de décision - LIS lab

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Arbres de décision - LIS lab

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

Arbres de decision

Cecile Capponi, Remi Eyraud, equipe QARMA du [email protected]

Universite Aix-Marseille

L3 MIASH – Introduction a l’Apprentissage Automatique

Page 2: Arbres de décision - LIS lab

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

Page 3: Arbres de décision - LIS lab

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

Les arbres de decision

Cadre : la classification supervisee

• A partir d’un echantillon de donnees etiquetees, nous cherchons unalgorithme capable de construire un modele numerique performant pourpredire l’etiquette de nouvelles donnees• Les donnees sont decrites par des attributs de tous types• Modele performant : calculable, et ne faisant pas (trop d’) erreurs dans

ses predictions

Exemple : ce champignon est-il veneneux (P) ou comestible (E)Trouver la meilleure

h : X → {e, p}

A partir de

S = {(xi , yi )}, xi ∈ X , yi ∈ {e, p}

Page 4: Arbres de décision - LIS lab

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

Les champignons : comestibles ou veneneux ?

p x s n t ... k s ue x s y t ... n n ge b s ? t ... n n m... ... ... ... ... ... ... ... ...p x y w t ... k s ue x y y t ... k n g

Page 5: Arbres de décision - LIS lab

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.

Page 6: Arbres de décision - LIS lab

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.

Page 7: Arbres de décision - LIS lab

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

Page 8: Arbres de décision - LIS lab

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

Page 9: Arbres de décision - LIS lab

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

Page 10: Arbres de décision - LIS lab

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

Page 11: Arbres de décision - LIS lab

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

Page 12: Arbres de décision - LIS lab

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

Page 13: Arbres de décision - LIS lab

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

Page 14: Arbres de décision - LIS lab

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

Page 15: Arbres de décision - LIS lab

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)

Page 16: Arbres de décision - LIS lab

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 possible

compatible 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.

Page 17: Arbres de décision - LIS lab

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

Page 18: Arbres de décision - LIS lab

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

Page 19: Arbres de décision - LIS lab

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

Page 20: Arbres de décision - LIS lab

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)

Page 21: Arbres de décision - LIS lab

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

Page 22: Arbres de décision - LIS lab

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

Coefficient de Gini(Inegalite des revenus – source: wikipedia)

Page 23: Arbres de décision - LIS lab

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)

Page 24: Arbres de décision - LIS lab

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)

Page 25: Arbres de décision - LIS lab

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

Page 26: Arbres de décision - LIS lab

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

Page 27: Arbres de décision - LIS lab

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 )

Page 28: Arbres de décision - LIS lab

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 la

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

Page 29: Arbres de décision - LIS lab

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

Page 30: Arbres de décision - LIS lab

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

Arbre final obtenu

Page 31: Arbres de décision - LIS lab

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

Page 32: Arbres de décision - LIS lab

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 couper

les branches qui depassent !

Page 33: Arbres de décision - LIS lab

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 de

decision 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.

Page 34: Arbres de décision - LIS lab

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

Page 35: Arbres de décision - LIS lab

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

Page 36: Arbres de décision - LIS lab

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

Page 37: Arbres de décision - LIS lab

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 : 1

4 en apprentissage, 12 en test : memes erreurs que T0

• T2 : 12 en apprentissage, 1

4 en test• T3 : 1

2 en apprentissage, 14 en test

Page 38: Arbres de décision - LIS lab

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

Page 39: Arbres de décision - LIS lab

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

Page 40: Arbres de décision - LIS lab

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 .

Page 41: Arbres de décision - LIS lab

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