Arbres de décision

Transcription

Arbres de décision
Arbres de décision
Intelligence Artificielle et Systèmes Formels
Master 1 I2L
Sébastien Verel
[email protected]
http://www-lisic.univ-littoral.fr/∼verel
Université du Littoral Côte d’Opale
Laboratoire LISIC
Equipe CAMOME
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Objectifs de la séance 10
Savoir définir un arbre de décision
Connaitre le principe de l’algorithme d’apprentissage ID3
Savoir définir apprentissage supervisé et non-supervisé
Connaitre la notion de sur-apprentissage
Connaitre les méthodes d’estimation de l’erreur (validation
croisée, etc.)
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Plan
1
Retour sur l’apprentissage automatique
2
Arbre de décision
3
Apprentissages top-down greedy
4
Techniques de validation
Techniques de validation
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Intelligence Artificielle
5 domaines de l’IA
Déduction logique
Résolution de problèmes
Apprentissage automatique (artificiel)
Représentation des connaissances
Systèmes multiagents
Techniques de validation
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Apprentissage automatique
Définition informelle (Machine Learning)
Etude et conception de systèmes (méthodes exécutées par une
machine) qui sont capables d’apprendre à partir de données.
Exemple : un système qui distinguent les courriels spam et non-spam.
Définition un peu plus formelle [T.M. Mitchell, 1997]
Soient un ensemble de taches T (training set)
et une mesure P de performance sur ces taches.
Un système apprend lors d’une expérience E si
la performance sur les taches T , mesurée par P, s’améliore avec E.
Exemple :
Taches T : Les emails reçus durant une journée
Performance P : Taux de rejet correct des spams
Expérience E : 1 semaine exposition aux courriels d’un utilisateur
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Généralisation
Définition (informelle)
Capacité d’un système à fonctionner correctement sur de nouvelles
taches inconnues après avoir appris sur un ensemble
d’apprentissage.
T : ensemble d’apprentissage (training set)
V : ensemble de test/validation (test set) avec V ∩ T = ∅
Deux systèmes S1 et S2 .
Supposons le résultat suivant :
P(S1 (T )) meilleur que P(S2 (T ))
P(S2 (V )) meilleur que P(S1 (V ))
Interprétations :
S1 a mieux appris que S2 sur l’ensemble d’apprentissage
S1 généralise moins bien que S2
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Machine learning vs. data Mining
Finalités différentes a priori
Machine learning :
but de prédiction à partir de propriétés connues et apprises
sur un ensemble d’apprentissage
Data mining :
but de découverte de propriétés pas encore connues dans
les données.
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Types d’apprentissage
Apprentissage supervisé :
Apprentissage sur un ensemble d’exemples étiquetés :
(entrée, sortie désirée)
Apprentissage non supervisé :
Apprentissage sur un ensemble d’exemples non étiquetés
(cf. clustering)
Apprentissage semi-supervisé :
Apprentissage sur un ensemble d’exemples étiquetés / non
étiquetés
Apprentissage par renforcement :
Apprentissage où les actions sur l’environnement se
mesurent par une récompense
...
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Liste d’algorithmes d’apprentissage automatique
Liste non exhaustive
Arbre de décision
Régles d’association
Réseau de neurones artificiels
Support vector machine
Clustering (classification)
Inférence baysienne
Réseaux baysiens
Temporal difference (TD)
etc.
Retour sur l’apprentissage automatique
Logiciels
Weka
R
...
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Bibliographie
Denis Robilliard, Université du Littoral Côte d’Opale,
http:
//www-lisic.univ-littoral.fr/∼robillia/index.html
Christine Decaestecker (ULB) et Marco Saerens, (UCL),
”Les arbres de décision”
Rico Rakotomalala, Laboratoire ERIC,
http://tutoriels-data-mining.blogspot.com/2008/
03/validation-croise-bootstrap-leave-one.html
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Représentation
Les techniques d’apprentissage se distinguent par les
représentations :
Règles d’association
Réseaux de neurone
Arbres de décision
...
Une représentation est une structure de donnée (lecture/écriture).
L’état de la structure permet la mémorisation.
Lors de la phase d’apprentissage,
l’état propre à la structure est modifiée : ”le modèle apprend”
pour augmenter la performance sur l’ensemble d’apprentissage et
tout en gardant des capacités de généralisation
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Un exemple
Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain
Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild
Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High
Wind
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong
Playball
No
No
Yes
Yes
Yes
No
Yes
No
Yes
Yes
Yes
Yes
Yes
No
4 attributs :
Outlook ∈ { Sunny , Overcast, Rain } ; Temperature ∈ { Hot, Mild, Cool
} ; Humidity ∈ { High , Normal } ; Wind ∈ { Strong , Weak }
1 cible : Playball ∈ { No, Yes }
14 exemples étiquetés
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Un arbre pour prendre une décision
Classification à l’aide d’un arbre
Outlook
overcast
Himidity
Wind
High
Normal
Wind
Temperature
Weak
Strong
YES
NO
Rain
sunny
cool
YES
NO
Weak
Strong
NO
YES
midl
Wind
Weak
YES
hot
NO
Strong
NO
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Un arbre pour prendre une décision
Classification à l’aide d’un arbre
Outlook
overcast
Himidity
Wind
High
Normal
Wind
Temperature
Weak
Strong
YES
NO
Rain
sunny
cool
YES
NO
Weak
Strong
NO
YES
midl
Wind
Weak
YES
hot
NO
Strong
NO
Remarque : un arbre code en fait un ensemble de règles (conjonctions,
disjonctions)
Si Outlook = ”overcast” et Humidity =... alors playball = Yes
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Exemple
Exercice
Compléter le tableau en utilisant l’arbre de décision
Calculer le taux d’erreur de cet arbre de décision
Outlook
overcast
High
Wind
Wind
Normal
Temperature
Weak
Strong
YES
NO
Rain
sunny
Himidity
cool
YES
NO
Weak
Strong
NO
YES
midl
Wind
Weak
YES
hot
NO
Strong
NO
Outlook
Sunny
Sunny
Overcast
Rain
Rain
Rain
Overcast
Sunny
Sunny
Rain
Sunny
Overcast
Overcast
Rain
Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild
Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High
Wind
Weak
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Weak
Weak
Strong
Strong
Weak
Strong
Playball
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Algorithme d’apprentissage
Apprentissage par arbre de décision
Construction un arbre :
Noeuds internes : sélectionner d’un attribut comme étiquette,
les arcs sont étiquetés par les valeurs de l’attribut
Feuilles : couper l’arbre avec une valeur de l’attribut cible
On veut en général :
Un taux d’erreur faible
Une bonne généralisation
Un arbre de petite taille compréhensible pour un non expert
etc.
Nombreux algos : ID3, C4.5, CART, CHAID, algo. évo., etc.
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Une classe d’algorithmes d’apprentissage
Algorithmes top-down greedy
Pour chaque noeud interne,
un attribut est sélectionné selon l’ensemble d’apprentissage
l’ensemble d’apprentissage est partitionné selon les valeurs
possibles de l’attribut du noeud
Le processus est répété en chaque noeud et s’arrête lorsque :
tous les exemples ont la même valeur d’attribut cible
un nouveau partionnement n’augmente pas la qualité de la
prédiction
Top-down : construction à partir de la racine
Greedy : meilleur choix local, pas de remise en cause
Les optima locaux guettent ! Optimalité locale vs. globale
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Critique
Avantages
Inconvénients
Simple à comprendre et à
interpréter
Apprendre un arbre de décision
optimal : NP-complet
Le modèle est ”white-box”
(rés. neurones est black-box)
Heuristique d’apprentissage
greedy : arbre sous optimal
Peu de préparation des
données : pas de normalisation,
etc.
Création d’arbres trop
complexes, sur-spécialisé
Données numériques et
catégorielles possibles
Biais vers certaines formes :
attribut avec plus de valeurs,
petit arbre, etc.
Robuste aux données
aberrantes (outliers)
Détection difficile des
interactions entre attributs
Certains problèmes sont
difficiles à apprendre sous
forme d’arbre (xor, parité,
multiplexer)
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
ID3 (Iterative Dichotomiser 3)
Ross Quinlan, 1986
Algorithme top-down greedy
basé 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écursivement sur chaque sous arbre avec
chaque sous-ensemble
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Mesure d’entropie
Entropie H
Mesure de la quantité d’incertitude dans un ensemble (dispersion)
X
H(S) = −
p(x) log2 p(x)
x∈X
S : ensemble des données
X : ensemble des classes de S
p(x) : proportion de la classe x ∈ X dans S
Lorsque H(S) = 0, S est parfaitement classé.
Retour sur l’apprentissage automatique
Arbre de décision
Mesure d’entropie
Voir exemple de calcul au tableau
Apprentissages top-down greedy
Techniques de validation
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Gain d’information
Information gain (information mutuelle)
Mesure de la différence d’entropie entre avant et après le
partitionnement selon un attribut
IG (S, T ) = H(S) −
X
p(St )H(St )
t
T = {S1 , . . . , } sous-ensembles du partitionnement de S,
S = ∪t St
p(St ) = ]St /]S
H(S), H(St ) : entropies de S et de St
Retour sur l’apprentissage automatique
Arbre de décision
Mesure d’entropie
Voir exemple de calcul au tableau
Apprentissages top-down greedy
Techniques de validation
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Pseudo code
ID3(exemples, cible, attributs) :
si tous les exemples sont positifs (resp. négatifs) alors
retourner une feuille avec l’étiquette positif (resp. négatif)
si attributs est vide alors
retourner une feuille avec l’étiquette la plus fréquente
sinon
A ← attribut de plus grand gain d’information
construire un noeud avec l’étiquette A
pour chaque valeurs vi de A
ajouter la branche vi au noeud
si exemples(A = vi ) est vide alors
ajouter à la branche la feuille
avec l’étiquette la plus fréquente
sinon
ajouter à la branche le sous-arbre
ID3(exemples(A = vi ), cible, attributs −A)
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
C4.5
Ross Quinlan, 1993
Amélioration de ID3
Utilisation du ratio de gain d’information au lieu de IG :
IG (S, T ) biaisé vers attributs ayant un grand nombre de valeurs
ratioIG (S, T ) = IG (S, T )/H(T )
Possibilité de valeur ”null” :
Exemple ignoré lors dans le calcul du noeud
Prise en compte des attributs à valeur continue :
Discrétisation par P(A < ai )
pour toutes les valeurs possibles de A, calcul de IG
Elagage (pruning) pour réduire la taille de l’arbre :
Technique bottom-up : branches finales élaguées
lorsque taux d’erreur plus grand qu’en remplaçant par une feuille
avec classe
majoritaire
3/10
Wind
Weak
Strong
YES
NO
3/5
1/5
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Les erreurs
Relation entre erreurs
Erreur d’apprentissage : taux d’erreur sur l’ensemble des
exemples d’apprentissage
tx erreur
Erreur ”vraie” : erreur sur l’ensemble de tous les exemples
possibles
erreur "vraie"
erreur entrainement
taille ens. d'apprentissage
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Sur-apprentissage
tx erreur
Exces d’apprentissage
Sur-spécialisation du modèle sur l’ensemble d’entrainement
⇒ Perte de capacité de généralisation
≈ Apprentissage ”par coeur”
erreur "vraie"
erreur entrainement
sur-apprentissage
complexité
du modèle
Mesure de complexité d’un arbre de décision : nombre de feuilles
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Techniques de validation
Evaluation d’un modèle d’apprentissage
Technique
Partitionner l’ensemble des exemples en :
un ensemble d’apprentissage (≈ 70%)
un ensemble indépendant de test (≈ 30%)
Le taux d’erreur est estimé (sans biais) sur l’ensemble de test.
Inconvénient
Requiert un nombre important d’exemples
Dilemme :
Plus on met d’exemples dans le test, plus l’estimation est
précise
Plus on met d’exemples dans l’apprentissage, meilleur est le
modèle (a priori)
Retour sur l’apprentissage automatique
Arbre de décision
Apprentissages top-down greedy
Méthode de ré-échantillonnage
Permet d’estimer l’erreur de généralisation.
K -folds cross-validation
Partitionner aléatoirement l’échantillon en K blocs
Pour chaque bloc k,
Construire le modéle sur les k − 1 autres blocs
Calculer 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.
Techniques de validation