Arbres de d´ ecision
Intelligence Artificielle et Syst`emes Formels Master 1 I2L
S´ebastien Verel verel@lisic.univ-littoral.fr
http://www-lisic.univ-littoral.fr/~verel
Universit´e du Littoral Cˆote d’Opale Laboratoire LISIC Equipe OSMOSE
Objectifs de la s´ eance 08
Savoir d´efinir les notions d’apprentissage automatique Savoir d´efinir un arbre de d´ecision
Connaitre le principe de l’algorithme d’apprentissage ID3 Savoir d´efinir apprentissage supervis´e et non-supervis´e Connaitre la notion de sur-apprentissage
Connaitre les m´ethodes d’estimation de l’erreur (validation crois´ee, etc.)
Plan
1 Apprentissage automatique
2 Arbre de d´ecision
3 Apprentissages top-down greedy
4 Techniques de validation
Intelligence Artificielle
5 domaines de l’IA D´eduction logique R´esolution de probl`emes
Apprentissage automatique(artificiel) Repr´esentation des connaissances Syst`emes multiagents
Apprentissage automatique (Machine Learning)
D´efinition informelle
Etude et conception de syst`emes (m´ethodes ex´ecut´ees par une machine) qui sont capables d’apprendre `a partir de donn´ees.
Exemple
un syst`eme qui distinguent les courriels spam et non-spam.
Apprentissage automatique (Machine Learning)
E : l’ensemble de toutes les tˆaches possibles.
S : un syst`eme (une machine)
D´efinition un peu plus formelle [T.M. Mitchell, 1997]
T ⊂E : ensemble de taches appel´e training set
P :S ×E →IR: mesure de performance d’un syst. sur des tˆaches.
Un syst`emeS apprend lors d’une exp´erience Exp si la performance de S sur les tachesT, mesur´ee par P, s’am´eliore.
P(Savant Exp,T)≤P(Sapr`es Exp,T)
Exemple
Taches T : Classifier des emails re¸cus durant une journ´ee Performance P : Taux de rejet correct des spams par S Exp´erience Exp : 1 semaine exposition aux courriels d’un utilisateur
Capacit´ e de g´ en´ eralisation
D´efinition (informelle)
Capacit´e d’un syst`eme `a fonctionner correctement sur de nouvelles taches inconnues apr`es avoir appris sur un ensemble
d’apprentissage.
T : ensemble d’apprentissage (training set)
V : ensemble de test/validation (test set) avecV∩T =∅ Deux syst`emesS1 etS2.
Supposons le r´esultat suivant : P(S2,T)≤P(S1,T) P(S1,V)≤P(S2,V) Interpr´etations :
S1a mieux appris queS2sur l’ensemble d’apprentissageT S1g´en´eralise moins bien queS2sur un ensemble ind´ependant V
Machine learning vs. Data mining
Finalit´es diff´erentesa priori Machine learning :
but depr´ediction`a partir de propri´et´es connues et apprises sur un ensemble d’apprentissage
Data mining :
but ded´ecouverte de propri´et´es pas encore connues dans les donn´ees.
Types d’apprentissage
Apprentissage supervis´e :
Apprentissage sur un ensemble d’exemples ´etiquet´es : (entr´ee, sortie d´esir´ee)
Apprentissage non supervis´e :
Apprentissage sur un ensemble d’exemples non ´etiquet´es (cf. clustering)
Apprentissage semi-supervis´e :
Apprentissage sur un ensemble d’exemples ´etiquet´es / non
´
etiquet´es
Apprentissage par renforcement :
Apprentissage o`u les actions sur l’environnement se mesurent par une r´ecompense
...
Liste d’algorithmes d’apprentissage automatique
Liste non exhaustive Arbre de d´ecision R´egles d’association
R´eseau de neurones artificiels Support vector machine Clustering (classification) Inf´erence baysienne R´eseaux baysiens
Temporal difference (TD) etc.
Choisir la bonne m´ ethode...
source : scikit learnhttp://scikit-learn.org/dev/index.html
Logiciels et biblioth` eques
Weka :http://weka.wikispaces.com/
R :http://www.r-project.org scikit learn (python) :
http://scikit-learn.org/dev/index.html ...
Bibliographie
Denis Robilliard, Universit´e du Littoral Cˆote d’Opale, http:
//www-lisic.univ-littoral.fr/~robillia/index.html Fabien Teytaud, Universit´e du Littoral Cˆote d’Opale,
http://www-lisic.univ-littoral.fr/~teytaud/
enseignements.html
Christine Decaestecker (ULB) et Marco Saerens, (UCL),
”Les arbres de d´ecision”
Rico Rakotomalala, Laboratoire ERIC,
http://tutoriels-data-mining.blogspot.com/2008/
03/validation-croise-bootstrap-leave-one.html
Repr´ esentation
Les techniques d’apprentissage se distinguent par les repr´esentations :
R`egles d’association R´eseaux de neurone Arbres de d´ecision ...
Une repr´esentation est une structure de donn´ee (lecture/´ecriture).
L’´etat de la structure permet la m´emorisation.
Lors de la phase d’apprentissage,
l’´etat propre `a la structure est modifi´ee : ”le mod`ele apprend”
pour augmenter la performance sur l’ensemble d’apprentissage et tout en gardant des capacit´es de g´en´eralisation
Un exemple
Outlook Temperature Humidity Wind Playball
Sunny Hot High Weak No
Sunny Hot High Strong No
Overcast Hot High Weak Yes
Rain Mild High Weak Yes
Rain Cool Normal Weak Yes
Rain Cool Normal Strong No
Overcast Cool Normal Strong Yes
Sunny Mild High Weak No
Sunny Cool Normal Weak Yes
Rain Mild Normal Weak Yes
Sunny Mild Normal Strong Yes
Overcast Mild High Strong Yes
Overcast Hot Normal Weak Yes
Rain Mild High Strong No
4 attributs :
Outlook∈ {Sunny , Overcast, Rain }; Temperature∈ {Hot, Mild, Cool }; Humidity ∈ {High , Normal}; Wind∈ {Strong , Weak}
1 cible : Playball∈ {No, Yes} 14 exemples ´etiquet´es
Apprentissage automatique Arbre de d´ecision Apprentissages top-down greedy Techniques de validation
Un arbre pour prendre une d´ ecision
Classification `a l’aide d’un arbre
Outlook
Himidity Wind
Wind
sunny
overcast Rain
NO Temperature Weak Strong
NO NO
YES NO
High Normal
Strong Weak
NO
YES NO YES Wind
Strong Weak
NO YES NO
NO NO cool midl hot
disjonctions)
Si Outlook = ”overcast” et Humidity =... alors playball = Yes
Un arbre pour prendre une d´ ecision
Classification `a l’aide d’un arbre
Outlook
Himidity Wind
Wind
sunny
overcast Rain
NO Temperature Weak Strong
NO NO
YES NO
High Normal
Strong Weak
NO
YES NO YES Wind
Strong Weak
NO YES NO
NO NO cool midl hot
Remarque : un arbre code en fait un ensemble de r`egles (conjonctions, disjonctions)
Si Outlook = ”overcast” et Humidity =... alors playball = Yes
Exemple
Exercice
Compl´eter le tableau en utilisant l’arbre de d´ecision Calculer le taux d’erreur de cet arbre de d´ecision
Outlook
Himidity Wind
Wind
sunny
overcast Rain
NO Temperature Weak Strong
NO NO YES NO
High Normal
Strong Weak
NO NO
YES YES Wind
Strong Weak
NO YES NO
NO NO cool midl hot
Outlook Temperature Humidity Wind Playball
Sunny Hot High Weak
Sunny Hot High Strong
Overcast Hot High Weak
Rain Mild High Weak
Rain Cool Normal Weak
Rain Cool Normal Strong
Overcast Cool Normal Strong
Sunny Mild High Weak
Sunny Cool Normal Weak
Rain Mild Normal Weak
Sunny Mild Normal Strong
Overcast Mild High Strong
Overcast Hot Normal Weak
Rain Mild High Strong
Algorithme d’apprentissage
Apprentissage par arbre de d´ecision Construction un arbre :
Noeuds internes :s´electionnerd’un attribut comme ´etiquette, les arcs sont ´etiquet´es par les valeurs de l’attribut
Feuilles : couper l’arbre avec une valeur de l’attribut cible
On veut en g´en´eral : Un taux d’erreur faible Une bonne g´en´eralisation
Un arbre de petite taille compr´ehensible pour un non expert etc.
Nombreux algos : ID3, C4.5, CART, CHAID, algo. ´evo., etc.
Une classe d’algorithmes d’apprentissage
Algorithme top-down
Proc´edure : construireArbre(X)
if tous les exemple de X appartiennent `a la mˆeme classethen Cr´eer une feuille portant le nom de cette classe
else
Choisir un attribut pour cr´eer un noeud
Le test associ´e `a ce noeud s´epareX enXd et Xg construireArbre(Xg)
construireArbre(Xd) end if
Une classe d’algorithmes d’apprentissage
Algorithmes top-down greedy Pour chaque noeud interne,
le ”meilleur” attribut est s´electionn´e selon l’ensemble d’apprentissage
l’ensemble d’apprentissage est partitionn´e selon les valeurs possibles de l’attribut du noeud
Le processus est r´ep´et´e en chaque noeud et s’arrˆete lorsque : tous les exemples ont la mˆeme valeur d’attribut cible un nouveau partitionnement n’augmente pas la qualit´e de la pr´ediction
Top-down : construction `a partir de la racine
Greedy : meilleur choix local, pas de remise en cause Les optima locaux guettent ! Optimalit´e localevs. globale
Critique
Avantages
Simple `a comprendre et `a interpr´eter
Le mod`ele est ”white-box”
(r´es. neurones est black-box) Peu de pr´eparation des
donn´ees : pas de normalisation, etc.
Donn´ees num´eriques et cat´egorielles possibles Robuste aux donn´ees aberrantes (outliers)
Inconv´enients
Apprendre un arbre de d´ecision optimal : NP-complet
Heuristique d’apprentissage greedy : arbre sous optimal Cr´eation d’arbres trop complexes, sur-sp´ecialis´e Biais vers certaines formes : attribut avec plus de valeurs, petit arbre, etc.
D´etection difficile des interactions entre attributs Certains probl`emes sont difficiles `a apprendre sous forme d’arbre (xor, parit´e, multiplexer)
ID3 (Iterative Dichotomiser 3)
Ross Quinlan, 1986
Algorithme top-down greedy
bas´e sur le gain d’information (information gain) Principe
1 Calculer l’entropie de tous les attributs en utilisant l’ensemble d’apprentissage S
2 Partitionner l’ensemble S en utilisant l’attribut pour lequel l’entropie est minimum (gain d’information maximum)
3 Construire le noeud de l’arbre avec cet attribut
4 Recommencer r´ecursivement sur chaque sous arbre avec chaque sous-ensemble
Mesure d’entropie
EntropieH
Mesure de la quantit´e d’incertitude dans un ensemble (dispersion) H(S) =−X
x∈X
p(x) log2p(x)
S : ensemble des donn´ees DS : ensemble des classes de S
p(s) : proportion de la classe s ∈DS dans S
LorsqueH(S) = 0, S est parfaitement class´e.
Mesure d’entropie
Voir exemple de calcul au tableau
Gain d’information
Information mutuelle (entropie crois´ee)
Mesure de l’information conjointe de 2 variables al´eatoires (information d’une variable par rapport `a l’autre)
I(S,T) =− X
s∈DS,t∈DT
p(s,t) log2 p(s,t) p(s)p(t)
Information gain ( - information mutuelle)
Mesure de la diff´erence d’entropie entre avant et apr`es le partitionnement selon un attribut
IG(S,T) =−I(S,T) =H(S)−X
t
p(St)H(St) T ={S1, . . .} partitionnement deS =∪tSt
p(St) =]St/]S
H(S),H(St) : entropies de S et de St
Mesure d’entropie
Voir exemple de calcul au tableau
Pseudo code
ID3(exemples, cible, attributs) :
sitous les exemples sont positifs (resp. n´egatifs) alors
retourner une feuille avec l’´etiquette positif (resp. n´egatif) siattributs est vide alors
retourner une feuille avec l’´etiquette la plus fr´equente sinon
A←attribut de plus grand gain d’information construireun noeud avec l’´etiquette A pour chaque valeursvi deA
ajouterla branchevi au noeud siexemples(A=vi) est videalors
ajouter`a la branche la feuille avec l’´etiquette la plus fr´equente sinon
ajouter`a la branche le sous-arbre
ID3(exemples(A=vi), cible, attributs −A)
C4.5
Ross Quinlan, 1993
Am´elioration de ID3
Utilisation du ratio de gain d’information au lieu de IG : IG(S,T) biais´e vers attributs ayant un grand nombre de valeurs
ratioIG(S,T) =IG(S,T)/H(T) Possibilit´e de valeur ”null” :
Exemple ignor´e lors dans le calcul du noeud Prise en compte des attributs `a valeur continue :
Discr´etisation parP(A<ai)
pour toutes les valeurs possibles deA, calcul deIG Elagage (pruning) pour r´eduire la taille de l’arbre :
Technique bottom-up : branches finales ´elagu´ees
lorsque taux d’erreur plus grand qu’en rempla¸cant par une feuille
Wind Strong Weak
NO YES NO 3/5 1/5 avec classe
majoritaire 3/10
Les erreurs
Relation entre erreurs
Erreur d’apprentissage : taux d’erreur sur l’ensemble des exemples d’apprentissage
Erreur ”vraie” : erreur sur l’ensemble de tous les exemples possibles
taille ens. d'apprentissage tx erreur erreur "vraie"
erreur entrainement
Sur-apprentissage
Exces d’apprentissage
Sur-sp´ecialisation du mod`ele sur l’ensemble d’entrainement
⇒Perte de capacit´e de g´en´eralisation
≈Apprentissage ”par coeur”
complexité du modèle tx erreur erreur "vraie"
erreur entrainement
sur-apprentissage
Mesure de complexit´e d’un arbre de d´ecision : nombre de feuilles
Evaluation d’un mod` ele d’apprentissage
Technique
Partitionner l’ensemble des exemples en : un ensemble d’apprentissage (≈70%) un ensemble ind´ependant de test (≈30%)
Le taux d’erreur est estim´e (sans biais) sur l’ensemble de test.
Inconv´enient
Requiert un nombre important d’exemples Dilemme :
Plus on met d’exemples dans le test, plus l’estimation est pr´ecise
Plus on met d’exemples dans l’apprentissage, meilleur est le mod`ele (a priori)
M´ ethode de r´ e-´ echantillonnage
Permet d’estimer l’erreur de g´en´eralisation.
K-folds cross-validation
Partitionner al´eatoirement l’´echantillon enK blocs Pour chaque bloc k,
Construire le mod´ele sur les k−1 autres blocs Calculer l’erreur en test ek sur le blockk Calculer l’erreur moyenne des erreursek
Autres techniques :
Leave-one-out (K =n) Bootstrap, bagging, etc.