Upload
ignace-fremont
View
112
Download
0
Embed Size (px)
Citation preview
Apprentissage par arbre de décision
2
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.
3
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
4
Représentation sous forme d’arbre
fièvre
toux fatigue
Maux de gorge
grippe
Nez qui coule
Courbatures et maux de tête
angine
5
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
6
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
7
Arbre de décision
Je sors le chien
Je sors le chienJe reste chez moi
Je reste chez moi
Je reste chez moiTempérature ?
Quel temps fait-il ?
Voisin absent ?
pluvieuxEnsoleillécouvert
non
oui> 10 degré 10 degré
8
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)
9
Recherche exhaustive dans l’ensemble des arbres possibles
Impossible :– exponentiel en fonction de
• nombre d ’attributs : d• nombre moyen de valeurs par attributs : a
1
0
)(d
i
a iid
10
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
11
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
12
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}
13
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)
C
jjll
1
C
jjrr
1
nlr
14
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 à
aw DDvu vpup
vupvupawI
*, )()(
),(log),(),(
15
Entropie
Entropie d’une variable aléatoire w
Entropie de w conditionnée par a
Résultat classique :
wDu
upupwH ))(log()()(
aw DDvu
vupvupawH*,
))|(log(),()|(
)|()()|( awHwHawI
16
Mesure retenue pour le test
Estimation des probabilités
Attribut retenu (celui qui minimise l’entropie)
• Entropie minimale si « échantillon pur »
)()()|(ˆ vraiaJn
rVraiaJ
n
lawH
))|(ˆ(,..,1
*i
diawHArgMini
C
j
jj
r
r
r
rFauxaJ
1
log)(
C
j
jj
l
l
l
lVraiaJ
1
log)(avec : et
17
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)
18
Base d’exemples
Devoirs finis Maman de bonnehumeur
Temps = beau Goûterpris
Décision
1 Vrai Faux Vrai Faux OUI2 Faux Vrai Faux Vrai OUI3 Vrai Vrai Vrai Faux OUI4 Vrai Faux Vrai Vrai OUI5 Faux Vrai Vrai Vrai NON6 Faux Vrai Faux Faux NON7 Vrai Faux Faux Vrai NON8 Vrai Vrai Faux Faux NON
19
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
)(8
3)(
8
5)|( FauxDFJVraiDFJDFwH
5
2log
5
2
5
3log
5
3)( VraiDFJ
3
2log
3
2
3
1log
3
1)( FauxDFJ
Devoirs finis Maman de bonnehumeur
Temps = beau Goûterpris
Décision
1 Vrai Faux Vrai Faux OUI2 Faux Vrai Faux Vrai OUI3 Vrai Vrai Vrai Faux OUI4 Vrai Faux Vrai Vrai OUI5 Faux Vrai Vrai Vrai NON6 Faux Vrai Faux Faux NON7 Vrai Faux Faux Vrai NON8 Vrai Vrai Faux Faux NON
Recherche de la racine de l’arbre
20
Arbre de décision ...
Temps = beau ?
vrai
faux
21
Arbre de décision appris
Temps = beau ?
Goûter pris ?
Maman de bonne humeur ?
Vrai
Devoirs finis ?
Vrai FauxFaux
Faux
vrai
vraivrai
vrai
faux
faux
fauxfaux
22
Élagage de l’arbre
Pré-é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
23
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
24
Estimation du coût d’un arbre
Prise en considération de – erreur commise par l’arbre
– complexité de l’arbre )1),()((
),(),(),(
kvntkn
kvMCkvMCvTw ela
k
)(kn Nombre d’exemples de l’ensemble d’apprentissagemal classés par le nœud v de Tk dans l’arbre élagué à v
),( kvMCelaNombre d’exemples de l’ensemble d’apprentissagemal classés par le nœud v de Tk dans l’arbre non élagué
),( kvnt Nombre de feuilles de Tk
),( kvMC Nombre de feuilles du sous-arbre de Tk situé sous le nœud v
25
Algorithme d’élagageProcé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
26
Un exemple d’élagage
X2
X1
*O
O
OO
O O
OO
O
** *
* *
* **
a
b
d
c
27
L’arbre de décision Tmax
X1 > a ?
X2 > c ?
X2 > d ?
X2 > b ?
* *
* O
O
Faux Vrai
Faux Faux
Faux
Vrai Vrai
Vrai
v1
v2
v4
v3
28
L’arbre de décision Tmax
X1 > a ?
X2 > c ?
X2 > d ?
X2 > b ?
* *
* O
O
Faux Vrai
Faux Faux
Faux
Vrai Vrai
Vrai
v1
v2
v4
v3
20
9
)15(5
09),( 1max
vTw
10
1
)13(5
01),( 2max
vTw
5
1
)12(5
01),( 3max
vTw
5
1
)12(5
01),( 4max
vTw
29
L’arbre de décision T1
X1 > a ?
X2 > b ?*
* O
Faux Vrai
Faux Vrai
v1
v3
3
4
)13(3
19),( 11
vTw
3
2
)13(3
02),( 31
vTw
30
L’arbre de décision T2
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
31
Choix de l’arbre
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 ?
* O
Faux Vrai
X1 > a ?
X2 > b ?*
* O
Faux Vrai
Faux VraiX2 > b ?
* O
Faux Vrai
X1 > a ?
X2 > c ?
X2 > d ? *
* O
Faux Vrai
Faux
Faux
Vrai
Vrai
Tmax
T1
T2
32
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