Академический Документы
Профессиональный Документы
Культура Документы
Techniques d’apprentissage
Thème 02
Arbre de décision
Partie I
1
Plan
Introduction : un arbre de décision est un classificateur
Définitions et exemples d’un arbre de décision
Utilisation d’un arbre de décision
Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
Mesure d’impureté : entropie, gini, erreur de classification
Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
Avantage et désavantages des arbres de décision
Demain
Sous-apprentissage et sur-apprentissage
Erreur d’apprentissage et erreur de généralisation
MDL : une mesure de complexité
Élagage
2
Arbre de décision est un classificateur
3
Définition de la classification
Étant donné une collection d’objets pour l’apprentissage et la
validation, trouver et valider un modèle
trouver (avec une partie des données) et valider (avec une autre partie)
◦ prédisant la classe d’un objet de classe inconnue à partir de la valeur de ses
attributs (voir prochaine diapositive)
◦ décrivant les caractéristiques de chaque classe (pas tous les classificateurs)
(voir prochaine diapositive)
Chaque objet possède un ensemble d’attributs dont l’un est sa classe
Modèle est un nom pour signifier une fonction dont le domaine est le
produit cartésien des attributs et l’image la classe
◦ on confond souvent modèle avec l’algorithme utilisé pour apprendre cette
fonction ou encore avec l’algorithme qui implémente cette fonction (ce 2e
cas est une confusion beaucoup moins grave)
Tous les attributs continus sont discrétisés, c’est la principale
caractéristique distinguant la classification de la régression
4
Utilité d’un modèle de classification
Décrire
◦ Un modèle descriptif de classification permet de trouver les
caractéristiques distinctives des éléments d’une classe
Un éléphant est un mammifère (A1) ayant un appendice nasal allongé (A2) et …
Prédire
◦ Un modèle prédictif de classification permet d’identifier la classe d’un objet
en fonction de la valeur de ses attributs
Si c’est un mammifère ayant un appendice nasal allongé … alors c’est un éléphant
Tous les modèles ne sont pas descriptifs,
◦ un réseau de neurones peut servir à la prédiction mais non à la description
il est difficile d’inférer une explication symbolique à partir des poids des liens
entre les neurones
les neurones des couches cachées n’ont souvent aucune signification symbolique
5
Processus de classification (sans validation)
Tid Attrib1 Attrib2 Attrib3 Class Learning
1 Yes Large 125K No
algorithm
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
Induction
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No Learn
8 No Small 85K Yes Model
9 No Medium 75K No
10 No Small 90K Yes
Model
10
ensemble
d’apprentissage Apply
Tid Attrib1 Attrib2 Attrib3 Class Model
11 No Small 55K ?
12 Yes Medium 80K ? Prédiction
13 Yes Large 110K ?
par
14 No Small 95K ?
déduction
15 No Large 67K ?
10
ensemble
d’application
6
Processus de classification (avec validation)
Ensemble
d’apprentissage
1
3
2
Ensemble de
validation
Ensemble
1 : apprentissage d’application
2 : validation
3 : utilisation du classificateur
7
Évaluation d’un modèle de classification
L’évaluation d’un modèle de classification est basée sur le nombre de
prédictions correctes et le nombre de prédictions erronées.
Se fait souvent avec la matrice de confusion dont nous avons parlé
# prédictions _ correctes
Exactitude Accuracy
# prédictions
f11 f 00
f11 f10 f 01 f 00
# prédictions _ incorrectes
tauxD ' erreur ErrorRate
# prédictions
f10 f 01
f11 f10 f 01 f 00
8
Les techniques de classification
◦ Les méthodes basées sur les arbres de décision
◦ Les méthodes basées sur les règles
◦ Réseau de neurones
◦ Réseau bayésien
◦ Séparateur à vaste marge (SVM)
9
PLAN
Introduction : un arbre de décision est un classificateur
Définitions et exemples d’un arbre de décision
Utilisation d’un arbre de décision
Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
Mesure d’impureté : entropie, gini, erreur de classification
Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
Avantage et désavantages des arbres de décision
10
Définition d’un arbre de décision
• Un arbre de décision est un outil pour déterminer l’appartenance d’un
objet à une classe en fonction de ses caractéristiques/attributs.
Les attributs apparaissant dans l’arbre sont les attributs pertinents pour le
problème considéré
Nœud
11
Feuilles
Exemple d’arbre de décision
Noeud : Attribut diviseur
Données
d’apprentissage
L’objectif est de déterminé si une personne
fera un défaut de paiement. * Owner = Home Owner
12
Autre exemple d’arbre de décision
MarSt Single,
Tid Home Marital Taxable Married Divorced
Owner Status Income Cheat
Données
d’apprentissage
13
La classification à l’aide d’un arbre de décision
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No Learn
8 No Small 85K Yes Model
9 No Medium 75K No
10 No Small 90K Yes
Model
10
Apply
Tid Attrib1 Attrib2 Attrib3 Class
Model Arbre de
11 No Small 55K ? décision
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10
15
La phase utilisation du modèle : 1
la donnée à tester
Home Marital Taxable
comparer les attributs en Owner Status Income Cheat
commençant à la racine
No Married 80K ?
10
Owner*
Yes No
NO MarSt
Single, Divorced Married
TaxInc NO
< 80K > 80K
NO YES
No Married 80K ?
Owner 10
Yes No
NO MarSt
Single, Divorced Married
TaxInc NO
< 80K > 80K
NO YES
17
Le premier attribut diviseur est « être propriétaire d’une maison »
La phase utilisation du modèle : 3
donnée test
Home Marital Taxable
Owner Status Income Cheat
No Married 80K ?
Owner 10
Yes No
NO MarSt
Single, Divorced Married
TaxInc NO
< 80K > 80K
NO YES
No Married 80K ?
10
Owner
Yes No
19
La phase utilisation du modèle : 5
Donnée test
Home Marital Taxable
Owner Status Income Cheat
No Married 80K ?
Owner 10
Yes No
NO MarSt
Single, Divorced Married
Prendre la branche corres-
pondant à la valeur de l’attribut
TaxInc NO état matrimonial pour la
< 80K > 80K donnée, c.-à-d. marié
NO YES
20
La phase utilisation du modèle : 6
Donnée test
Home Marital Taxable
Owner Status Income Cheat
No Married 80K No
Owner 10
Yes No
NO MarSt.
Single, Divorced Married
TaxInc NO
< 80K > 80K Assign Cheat to “No”
NO YES
21
PLAN
Aujourd’hui
Introduction : un arbre de décision est un classificateur
Définitions et exemples d’un arbre de décision
Utilisation d’un arbre de décision
Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
Mesure d’impureté : entropie, gini, erreur de classification
Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
Avantage et désavantages des arbres de décision
22
La phase apprentissage du modèle
Apply
Arbre de
Model
Tid Attrib1 Attrib2 Attrib3 Class
décision
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10
23
Algorithme d’apprentissage d’un arbre de décision
Algorithme de Hunt (1966)
CART (Classification And Regression Trees) (1984)
ID3 (1986), C4.5 (1993)
SLIQ, SPRINT
24
PLAN
Aujourd’hui
Introduction : un arbre de décision est un classificateur
Définitions et exemples d’un arbre de décision
Utilisation d’un arbre de décision
Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
Mesure d’impureté : entropie, gini, erreur de classification
Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
Avantage et désavantages des arbres de décision
25
Algorithme de Hunt
Soit Dt l’ensemble des données qui Tid Home
Owner
Marital
Status
Taxable
Income Cheat
a été associé au nœud t
1 Yes Single 125K No
◦ Si Dt contient que des nœuds 2 No Married 100K No
appartenant à la classe yt, alors le
nœud t est une feuille étiquetée 3 No Single 70K No
alors 10
10 No Single 90K Yes
26
Algorithme de Hunt … id Home Marital Taxable
owner Status Income Chea
Owner
Yes .No 1 Yes Single 125K No
2 No Married 100K No
Don’t Don’t
3 No Single 70K No
Cheat Cheat
4 Yes Married 120K No
5 No Divorced 95K Yes
Owner
6 No Married 60K No
Yes No
7 Yes Divorced 220K No
Don’t Marital 8 No Single 85K Yes
Cheat Status Owner
Single, 9 No Married 75K No
Married Yes No
Divorced 10 No
10
Single 90K Yes
Don’t Don’t Don’t Marital
Cheat Cheat Cheat Status
Single,
Married
Divorced
Taxable Don’t
Income Cheat
< 80K >= 80K
Don’t Cheat
Cheat
27
Une caractéristique de tout algorithme
d’induction d’un arbre de décision
Stratégie gloutonne
◦ Choisir un attribut et sa valeur qui maximise un certain critère.
sans retour en arrière et sans regarder plus loin en avant
◦ Ce sera toujours une stratégie gloutonne
Bien qu’il y aura une sous-phase test pouvant mener à un retour au début du
processus de forage
28
Attributs d’un algorithme d’apprentissage
Attributs considérés dans les prochains transparents
1. La division des données
1. Les types de division des valeurs d'un attribut
2. Trouver l’attribut (et sa valeur) donnant la division optimale
2. La condition d’arrêt pour la division
29
Diviser les données
En fonction du type d’attribut
◦ Nominale
◦ Ordinale
◦ Continue
30
Division à partir d’un attribut nominal
Division n-aire
◦ créer autant de nœuds fils qu’il y a de valeurs.
CarType
Family Luxury
Sports
Division binaire
◦ diviser les valeurs en deux groupes et
attribuer à chacun un nouveau nœud.
◦ Comment séparer optimalement les valeurs ?
CarType CarType
{Sports, ou {Family,
{Family} Luxury} {Sports}
Luxury}
31
Division à partir d’un attribut ordinal
Division n-aire Size
◦ Idem à nominal Small Large
Medium
Division binaire
Size Size
{Small, ou {Medium,
Large} {Medium} Large} {Small}
32
Division à partir d’un attribut continue
Différentes stratégies
◦ Discrétisation pour transformer l’attribut continu en un attribut ordinal
Donne lieu à une division binaire ou n-aire
Statique – la discrétisation se fait a priori
Dynamique – les valeurs sont réparties dans des intervalles égaux, de fréquences
égales (ex. : percentile), ou induit par regroupement (clustering).
◦ Décision binaire : (A < v) or (A v)
il s’agit de trouver la valeur de v optimale
l’essai de toutes les valeurs de v peut-être coûteux
33
Division binaire et n-aire d’un attribut continu
34
PLAN
Aujourd’hui
Introduction : un arbre de décision est un classificateur
Définitions et exemples d’un arbre de décision
Utilisation d’un arbre de décision
Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
Mesure d’impureté : entropie, gini, erreur de classification
Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
Avantage et désavantages des arbres de décision
35
Trouver la division optimale
Stratégie globale
Stratégie gloutonne :
◦ La division donnant les nœuds les plus homogènes est
choisie
Plus les nœuds sont homogènes, plus ces nœuds contiennent de
l’information
◦ Comment mesurer la pureté ou l’impureté d’un nœud
et des divisions (nœuds fils) ?
36
Le gain d’information
Avant division : C0 N00 M0
C1 N01
A? B?
Yes No Yes No
M1 M2 M3 M4
M12 M34
M : Fonction mesurant l’impureté Le critère de décision est le gain
à déterminer Gain = M0 – M12 vs M0 – M34
37
Le gain d’information
L’attribut cible a deux classes de 10 éléments chacun
M ( parent ) M (division)
k nj
M ( parent ) M (v j )
j 1 n
M(•) : mesure d’impureté nj : # de donnée ayant la valeur vj
vj : jième valeur de l’attribut n : # de donnée dans le nœud parent
38
PLAN
Aujourd’hui
Introduction : un arbre de décision est un classificateur
Définitions et exemples d’un arbre de décision
Utilisation d’un arbre de décision
Apprentissage d’un arbre de décision
◦ Algorithme de Hunt
◦ La division des données
Mesure d’impureté : entropie, gini, erreur de classification
Comparaison des mesures d’impureté
◦ La condition d’arrêt pour la division
Avantage et désavantages des arbres de décision
39
Mesure du niveau d’impureté : GINI
Index Gini pour le nœud t:
Gini (t ) 1 [ p ( j | t )]2
j
(NOTE : p( j | t) est la fréquence relative de la valeur j dans le nœud t.
C1 0 C1 1 C1 2 C1 3
C2 6 C2 5 C2 4 C2 3
Gini=0.000 Gini=0.278 Gini=0.444 Gini=0.500
40
La division basée sur l’index Gini
L’index Gini d’une division
◦ Soit p : le nœud parent
k : # de nœuds fils
ni = # de données dans le nœud fils i,
n = # de données dans le nœud p.
k
ni
Ginidivision Gini (i )
i 1 n
Gini ( p ) Ginidivision
On choisit l’attribut donnant le gain le plus important
c.-à-d. Le Ginidivision le plus petit
Utilisé par CART, SLIQ, SPRINT.
41
Attribut binaire : Calcul de l’index Gini
Gini(N1)
= 1 – (5/6)2 – (2/6)2 GiniDivision
= 0.194 = 7/12 * 0.194 +
5/12 * 0.528
Gini(N2) = 0.333
= 1 – (1/6)2 – (4/6)2
= 0.528
Attribut nominal : Calcul de l’index Gini
Il manque la division :
{Luxury} vs {Sports, Family}
43
Attribut continu : Calcul de l’index Gini
Décision binaire
N 9 No Married 75K No
Méthode triviale 10
10 No Single 90K Yes
◦ Pour chaque v,
calculer le GiniDiv
◦ Choisir v qui a le plus petit GiniDiv
◦ Méthode inefficace
Attribut continu : Calcul de l’index Gini …
Décision binaire
Pour optimiser l’algo de choix de v
◦ Ordonner les données selon les valeurs de l’attribut de division
◦ Construire les matrices de division autour des changements de valeurs de
classe (en bleu)
◦ Calculer les GiniDiv pour ces matrices
◦ Choisir comme valeur de division la donnée donnant le petit GiniDiv
Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420
46
La division basée sur l’entropie
Entropie pour un nœud t:
Entropie(t) p( j | t)log p( j | t)
j
47
Ex. d’entropie pour 3 nœuds
Entropie(t ) p ( j | t ) log 2 p ( j | t )
j
C1 2
C2 4 P(C1) = 2/6 P(C2) = 4/6
Entropie = – (2/6) log2 (2/6) – (4/6) log2 (4/6) = 0.92
48
Entropie d’une division selon un attribut
L’entropie d’une division
◦ Soit p : le nœud parent
k : # de nœuds fils
ni : # de données dans le ième nœud fils,
n : # de données dans le nœud p.
k
ni
Entropiedivision Entropie(i )
i 1 n
Entropie( p) Entropiedivision
◦ On choisit le gain le plus important
c.-à-d. l’entropiedivision le plus petit