Arbres de décision

publicité
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
Téléchargement