Arbres de decisionIntelligence Artificielle et Systemes Formels
Master 1 I2L
Sebastien [email protected]
http://www-lisic.univ-littoral.fr/~verel
Universite du Littoral Cote d’OpaleLaboratoire LISICEquipe OSMOSE
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Objectifs de la seance 08
Savoir definir les notions d’apprentissage automatique
Savoir definir un arbre de decision
Connaitre le principe de l’algorithme d’apprentissage ID3
Savoir definir apprentissage supervise et non-supervise
Connaitre la notion de sur-apprentissage
Connaitre les methodes d’estimation de l’erreur (validationcroisee, etc.)
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Plan
1 Apprentissage automatique
2 Arbre de decision
3 Apprentissages top-down greedy
4 Techniques de validation
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Intelligence Artificielle
5 domaines de l’IA
Deduction logique
Resolution de problemes
Apprentissage automatique (artificiel)
Representation des connaissances
Systemes multiagents
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Apprentissage automatique (Machine Learning)
Definition informelle
Etude et conception de systemes (methodes executees par unemachine) qui sont capables d’apprendre a partir de donnees.
Exemple
un systeme qui distinguent les courriels spam et non-spam.
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Apprentissage automatique (Machine Learning)
E : l’ensemble de toutes les taches possibles.S : un systeme (une machine)
Definition un peu plus formelle [T.M. Mitchell, 1997]
T ⊂ E : ensemble de taches appele training setP : S × E → IR : mesure de performance d’un syst. sur des taches.
Un systeme S apprend lors d’une experience Exp sila performance de S sur les taches T , mesuree par P, s’ameliore.
P(Savant Exp,T ) ≤ P(Sapres Exp,T )
Exemple
Taches T : Classifier des emails recus durant une journeePerformance P : Taux de rejet correct des spams par SExperience Exp : 1 semaine exposition aux courriels d’un
utilisateur
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Capacite de generalisation
Definition (informelle)
Capacite d’un systeme a fonctionner correctement sur de nouvellestaches inconnues apres avoir appris sur un ensembled’apprentissage.
T : ensemble d’apprentissage (training set)V : ensemble de test/validation (test set) avec V ∩ T = ∅
Deux systemes S1 et S2.
Supposons le resultat suivant :P(S2,T ) ≤ P(S1,T )P(S1,V ) ≤ P(S2,V )
Interpretations :S1 a mieux appris que S2 sur l’ensemble d’apprentissage TS1 generalise moins bien que S2 sur un ensemble independant V
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Machine learning vs. Data mining
Finalites differentes a priori
Machine learning :but de prediction a partir de proprietes connues et apprises
sur un ensemble d’apprentissage
Data mining :but de decouverte de proprietes pas encore connues dans
les donnees.
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Types d’apprentissage
Apprentissage supervise :Apprentissage sur un ensemble d’exemples etiquetes :
(entree, sortie desiree)
Apprentissage non supervise :Apprentissage sur un ensemble d’exemples non etiquetes
(cf. clustering)
Apprentissage semi-supervise :Apprentissage sur un ensemble d’exemples etiquetes / non
etiquetes
Apprentissage par renforcement :Apprentissage ou les actions sur l’environnement se
mesurent par une recompense
...
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Liste d’algorithmes d’apprentissage automatique
Liste non exhaustive
Arbre de decision
Regles d’association
Reseau de neurones artificiels
Support vector machine
Clustering (classification)
Inference baysienne
Reseaux baysiens
Temporal difference (TD)
etc.
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Choisir la bonne methode...source : scikit learn http://scikit-learn.org/dev/index.html
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Logiciels et bibliotheques
Weka : http://weka.wikispaces.com/
R : http://www.r-project.org
scikit learn (python) :http://scikit-learn.org/dev/index.html
...
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Bibliographie
Denis Robilliard, Universite du Littoral Cote d’Opale,http:
//www-lisic.univ-littoral.fr/~robillia/index.html
Fabien Teytaud, Universite du Littoral Cote d’Opale,http://www-lisic.univ-littoral.fr/~teytaud/
enseignements.html
Christine Decaestecker (ULB) et Marco Saerens, (UCL),”Les arbres de decision”
Rico Rakotomalala, Laboratoire ERIC,http://tutoriels-data-mining.blogspot.com/2008/
03/validation-croise-bootstrap-leave-one.html
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Representation
Les techniques d’apprentissage se distinguent par lesrepresentations :
Regles d’association
Reseaux de neurone
Arbres de decision
...
Une representation est une structure de donnee (lecture/ecriture).L’etat de la structure permet la memorisation.
Lors de la phase d’apprentissage,l’etat propre a la structure est modifiee : ”le modele apprend”pour augmenter la performance sur l’ensemble d’apprentissage ettout en gardant des capacites de generalisation
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Un exemple
Outlook Temperature Humidity Wind PlayballSunny Hot High Weak NoSunny Hot High Strong NoOvercast Hot High Weak YesRain Mild High Weak YesRain Cool Normal Weak YesRain Cool Normal Strong NoOvercast Cool Normal Strong YesSunny Mild High Weak NoSunny Cool Normal Weak YesRain Mild Normal Weak YesSunny Mild Normal Strong YesOvercast Mild High Strong YesOvercast Hot Normal Weak YesRain 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 etiquetes
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Un arbre pour prendre une decisionClassification a l’aide d’un arbre
Outlook
Himidity Wind
Wind
sunnyovercast Rain
NO
TemperatureStrongWeak
NO
NONOYES
High Normal
StrongWeakNONOYES YES Wind
StrongWeakNONOYES
NONO
cool hotmidl
Remarque : un arbre code en fait un ensemble de regles (conjonctions,disjonctions)
Si Outlook = ”overcast” et Humidity =... alors playball = Yes
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Un arbre pour prendre une decisionClassification a l’aide d’un arbre
Outlook
Himidity Wind
Wind
sunnyovercast Rain
NO
TemperatureStrongWeak
NO
NONOYES
High Normal
StrongWeakNONOYES YES Wind
StrongWeakNONOYES
NONO
cool hotmidl
Remarque : un arbre code en fait un ensemble de regles (conjonctions,disjonctions)
Si Outlook = ”overcast” et Humidity =... alors playball = Yes
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Exemple
Exercice
Completer le tableau en utilisant l’arbre de decision
Calculer le taux d’erreur de cet arbre de decision
Outlook
Himidity Wind
Wind
sunnyovercast Rain
NO
TemperatureStrongWeak
NO
NONOYES
High Normal
StrongWeakNONOYES YES Wind
StrongWeakNONOYES
NONO
cool hotmidl
Outlook Temperature Humidity Wind PlayballSunny Hot High WeakSunny Hot High StrongOvercast Hot High WeakRain Mild High WeakRain Cool Normal WeakRain Cool Normal StrongOvercast Cool Normal StrongSunny Mild High WeakSunny Cool Normal WeakRain Mild Normal WeakSunny Mild Normal StrongOvercast Mild High StrongOvercast Hot Normal WeakRain Mild High Strong
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Algorithme d’apprentissage
Apprentissage par arbre de decision
Construction un arbre :
Noeuds internes : selectionner d’un attribut comme etiquette,les arcs sont etiquetes par les valeurs de l’attribut
Feuilles : couper l’arbre avec une valeur de l’attribut cible
On veut en general :
Un taux d’erreur faible
Une bonne generalisation
Un arbre de petite taille comprehensible pour un non expert
etc.
Nombreux algos : ID3, C4.5, CART, CHAID, algo. evo., etc.
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Une classe d’algorithmes d’apprentissage
Algorithme top-down
Procedure : construireArbre(X )if tous les exemple de X appartiennent a la meme classe then
Creer une feuille portant le nom de cette classeelse
Choisir un attribut pour creer un noeudLe test associe a ce noeud separe X en Xd et Xg
construireArbre(Xg )construireArbre(Xd)
end if
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Une classe d’algorithmes d’apprentissage
Algorithmes top-down greedy
Pour chaque noeud interne,
le ”meilleur” attribut est selectionne selon l’ensembled’apprentissage
l’ensemble d’apprentissage est partitionne selon les valeurspossibles de l’attribut du noeud
Le processus est repete en chaque noeud et s’arrete lorsque :
tous les exemples ont la meme valeur d’attribut cible
un nouveau partitionnement n’augmente pas la qualite de laprediction
Top-down : construction a partir de la racine
Greedy : meilleur choix local, pas de remise en causeLes optima locaux guettent ! Optimalite locale vs. globale
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Critique
Avantages
Simple a comprendre et ainterpreter
Le modele est ”white-box”(res. neurones est black-box)
Peu de preparation desdonnees : pas de normalisation,etc.
Donnees numeriques etcategorielles possibles
Robuste aux donneesaberrantes (outliers)
Inconvenients
Apprendre un arbre de decisionoptimal : NP-complet
Heuristique d’apprentissagegreedy : arbre sous optimal
Creation d’arbres tropcomplexes, sur-specialise
Biais vers certaines formes :attribut avec plus de valeurs,petit arbre, etc.
Detection difficile desinteractions entre attributs
Certains problemes sontdifficiles a apprendre sousforme d’arbre (xor, parite,multiplexer)
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
ID3 (Iterative Dichotomiser 3)Ross Quinlan, 1986
Algorithme top-down greedybase sur le gain d’information (information gain)
Principe
1 Calculer l’entropie de tous les attributs en utilisant l’ensembled’apprentissage S
2 Partitionner l’ensemble S en utilisant l’attribut pour lequell’entropie est minimum (gain d’information maximum)
3 Construire le noeud de l’arbre avec cet attribut
4 Recommencer recursivement sur chaque sous arbre avecchaque sous-ensemble
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Mesure d’entropie
Entropie H
Mesure de la quantite d’incertitude dans un ensemble (dispersion)
H(S) = −∑x∈X
p(x) log2 p(x)
S : ensemble des donnees
DS : ensemble des classes de S
p(s) : proportion de la classe s ∈ DS dans S
Lorsque H(S) = 0, S est parfaitement classe.
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Mesure d’entropie
Voir exemple de calcul au tableau
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Gain d’information
Information mutuelle (entropie croisee)
Mesure de l’information conjointe de 2 variables aleatoires(information d’une variable par rapport a l’autre)
I (S ,T ) = −∑
s∈DS ,t∈DT
p(s, t) log2p(s, t)
p(s)p(t)
Information gain ( - information mutuelle)
Mesure de la difference d’entropie entre avant et apres lepartitionnement selon un attribut
IG (S ,T ) = −I (S ,T ) = H(S)−∑t
p(St)H(St)
T = {S1, . . .} partitionnement de S = ∪tStp(St) = ]St/]S
H(S), H(St) : entropies de S et de St
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Mesure d’entropie
Voir exemple de calcul au tableau
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Pseudo code
ID3(exemples, cible, attributs) :si tous les exemples sont positifs (resp. negatifs) alors
retourner une feuille avec l’etiquette positif (resp. negatif)si attributs est vide alors
retourner une feuille avec l’etiquette la plus frequentesinon
A← attribut de plus grand gain d’informationconstruire un noeud avec l’etiquette Apour chaque valeurs vi de A
ajouter la branche vi au noeudsi exemples(A = vi ) est vide alors
ajouter a la branche la feuilleavec l’etiquette la plus frequente
sinonajouter a la branche le sous-arbreID3(exemples(A = vi ), cible, attributs −A)
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
C4.5Ross Quinlan, 1993
Amelioration de ID3
Utilisation du ratio de gain d’information au lieu de IG :IG (S ,T ) biaise vers attributs ayant un grand nombre de valeursratioIG (S ,T ) = IG (S ,T )/H(T )
Possibilite de valeur ”null” :Exemple ignore lors dans le calcul du noeud
Prise en compte des attributs a valeur continue :Discretisation par P(A < ai )pour toutes les valeurs possibles de A, calcul de IG
Elagage (pruning) pour reduire la taille de l’arbre :Technique bottom-up : branches finales elagueeslorsque taux d’erreur plus grand qu’en remplacant par une feuille
Wind
StrongWeakNONOYES
3/5 1/5
avec classemajoritaire
3/10
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Les erreurs
Relation entre erreurs
Erreur d’apprentissage : taux d’erreur sur l’ensemble desexemples d’apprentissage
Erreur ”vraie” : erreur sur l’ensemble de tous les exemplespossibles
taille ens. d'apprentissage
tx e
rreu
r erreur "vraie"erreur entrainement
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Sur-apprentissage
Exces d’apprentissage
Sur-specialisation du modele sur l’ensemble d’entrainement⇒ Perte de capacite de generalisation≈ Apprentissage ”par coeur”
complexité du modèle
tx e
rreu
r erreur "vraie"erreur entrainement
sur-apprentissage
Mesure de complexite d’un arbre de decision : nombre de feuilles
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Evaluation d’un modele d’apprentissage
Technique
Partitionner l’ensemble des exemples en :
un ensemble d’apprentissage (≈ 70%)
un ensemble independant de test (≈ 30%)
Le taux d’erreur est estime (sans biais) sur l’ensemble de test.
Inconvenient
Requiert un nombre important d’exemples
Dilemme :
Plus on met d’exemples dans le test, plus l’estimation estprecisePlus on met d’exemples dans l’apprentissage, meilleur est lemodele (a priori)
Apprentissage automatique Arbre de decision Apprentissages top-down greedy Techniques de validation
Methode de re-echantillonnage
Permet d’estimer l’erreur de generalisation.
K -folds cross-validation
Partitionner aleatoirement l’echantillon en K blocsPour chaque bloc k ,
Construire le modele sur les k − 1 autres blocsCalculer l’erreur en test ek sur le block k
Calculer l’erreur moyenne des erreurs ek
Autres techniques :
Leave-one-out (K = n)
Bootstrap, bagging, etc.