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