Les Arbres de Décision Pr A. MAJDA MASTER SIR FSTF 2014 - 2015 1 Arbre de décision Exemple 1 : Aide au diagnostic 2 Arbres de décision Ce sont des structures de données utilisée pour la classification Méthode récursive basée sur diviser-pour-régner pour créer des sous-groupes purs appartenant à une même classe Objectif : Construction du plus petit arbre de décision possible Nœud = Test sur un attribut (douleur, fièvre, toux) Une branche pour chaque valeur (abdomen, gorge,…) d’un attribut Les feuilles désignent la classe de l’objet à classer (appendicite, mal de gorge,…). Il existe au moins deux classes Problèmes: Choix de l’attribut 3 Arbre de décision Exemple 1 : Un ensemble de tests : Origine de la douleur ? Est-ce qu’il y a de la fièvre ? Est-ce que le patient tousse? …. Si aucune erreur n’est commise dans ces réponses, l’identification est réalisée. Le principe de cette règle de décision est d’organiser l’ensemble des tests possibles comme un arbre Une feuille de l’arbre désigne une des C classes , mais une classe peut correspondre à plusieurs feuilles Problème : comment réaliser l’apprentissage de telles structures de décision à partir d’exemples ? 4 Exemple 2 : Vais-je sortir le chien ou non ? Les attributs suivants : Quel temps fait –il? A nominal (pluvieux, ensoleillé, couvert) Quelle est la température extérieure? A numérique Est-ce que le jardin est ouvert ? A binaire Selon mon expérience (Expert) si le temps est pluvieux je reste chez moi quelque soit les valeurs des autres attributs l’expérience m’a prouvé que si le jardin est fermé la promenade devient désagréable. 5 Dans cet exemple l’expertise joue un rôle très important : l’arbre est construit à partir de connaissances de l’expérience. Pour réaliser la construction automatique d’un AD, il faut s’appuyer seulement sur un ensemble d’apprentissage et non pas sur une expertise. Problème : comment sous cette hypothèse apprendre un AD performant en généralisation? (Choix de l’attribut pour un nœud donné) 6 Cas d’Attributs binaires 7 La mesure de l’entropie w variable qui peut prendre une des C valeurs (classes) a variable qui peut prendre une des D valeurs ( attributs) L’entropie de w conditionné par a est : Qui peut être estimée à : Si on note 8 Algorithme ID3 Exemple 3 Problème qui se pose à un enfant qui revient de l’école : peut-il aller jouer chez son voisin ou pas ? Selon l’expérience sur huit jours huit exemples d’apprentissage 9 Etapes à suivre Pour construire la racine de l’arbre Trouver l’attribut dont la distribution possède l’entropie mutuelle la plus faible avec celle de la décision (classe). Calcul pour l’attribut DF (devoirs finis): Soit 10 Etapes à suivre Calcul analogue On choisit donc pour racine l’attribut le test Est-ce qu’il fait beau? 11 Arbre de décision de l’exemple 3 On répète le même processus récursivement à gauche et à droite de l’arbre 12 D’autres mesures pour choisir l’attribut L’algorithme CART « Classification And Regression Trees », il a été publié par Leo Breiman en 1984. 2. L’algorithme ID3 de Ross Quinlan 86 ( exemple précédent) 3. L’algorithmeC4.5 publié par Ross Quinlan. Il est basé sur l'algorithme ID3 auquel il apporte plusieurs améliorations 1. 13 Cas d’attribut nominal ou continue Attribut nominal : tester une couleur (rouge , jaune, noir,…) Transformer l’attribut en binaire Le test Se réduit à tester est ce que la couleur est rouge (vrai ou faux) Et on répète pour les autres couleurs jaune, noir,… Attribut nominal : tester une température (0>T>20°) Transformer l’attribut en binaire Le test Se réduit à tester est ce que la T<10 (vrai ou faux) Et on répète pour les autres intervalle (T<20) (vrai ou faux) 14 Application à la classification d’images 15 Classification automatique d’images À partir d’une base de données d’images pré-classifiées, construire un modèle qui classera aussi bien que possible de nouvelles images Exemples d’applications: reconnaissance de caractères manuscrits reconnaissance de visages reconnaissance d’objets reconnaissance de textures 16 Aperçu de bases de données MNIST: ORL: COIL-100: OUTEX: 17 Algorithme générique Solution traditionnelle en deux étapes: Extraction de caractéristiques Application de techniques d’apprentissage ou d’appariement (matching) sur ces caractéristiques Inconvénient: la première étape de prétraitement est laborieuse et dépendante du problème Avancées en apprentissage proposent des méthodes capables de traiter des problèmes complexes de dimension très importante Que peut-on faire pour ce problème particulier en apprenant directement sur les valeurs brutes des pixels ? 18 Exemple de base de données OUTEX: base de données de 864 images en couleurs (54 textures différentes) de 128x128 pixels Une image = 49152 (128x128x3) valeurs entières comprises dans [0,255] et une classe (nom de texture) LS = 432 images (8 images par texture) TS = 432 images (8 images restantes par texture) 19 Algorithmes proposés Extra-trees (extremely randomized trees ) Très efficaces pour traiter un grand nombre de variables Extra-trees + sous-fenêtres Extraction et classification de sous-fenêtres dans les images Permet de tenir compte de caractéristiques plus locales dans les images et augmente artificiellement l’ensemble d’apprentissage 20 Extraction de sous-fenêtres … … Apprentissage: Etant donné une taille de fenêtre W1xW2 et un nombre de fenêtres Nw: Extraire Nw sous-fenêtres aléatoirement à partir des images de l’ensemble d’apprentissage et assigner à chaque sous-fenêtre la classe de l’image originale Construire un modèle pour classer ces Nw images en utilisant les W1xW2 pixels qui les décrivent 21 Extraction de sous-fenêtres Test d’une image: Etant donné la taille de sous-fenêtres W1xW2: Extraire tous les sous-fenêtres possibles de taille W1xW2 dans l’image à tester Appliquer le modèle sur chaque sous-fenêtre Attribuer à l’image la classe majoritaire parmi les classes attribuées aux sous-fenêtres 22 Extraction de sous-fenêtres Test … … Fleur … … Métal Fleur Fleur 23 … Fleur Extraction de sous-fenêtres Les sous-fenêtres permettent de tenir compte de caractéristiques plus locales dans les images et augmente artificiellement l’échantillon (Nw>>) La taille des sous-fenêtres dépend du problème d’autant plus petite que les classes d’images dépendent de caractéristiques locales Exemple: classification de caractères manuscripts ! grandes fenêtres, classification de texture ! fenêtres plus petites En pratique, détermination de la taille optimale par validation croisée pour rester générique. 24 Base de données 25 DBs #images #attributs #classes MNIST 70000 784 (28x28x1) 10 ORL 400 10304 (92x112x1) 40 COIL-100 7200 3072 (32x32x3) 100 OUTEX 864 49152 54 (128x128x3) Protocoles d’expérimentation (Pierre Geurts 2004) MNIST LS = 60000 premières images TS = 10000 dernières images ORL 100 groupes de données: LS = 200 images (5 images par personne) TS = 200 images (5 images restantes par personne) COIL-100 LS = 1800 images (k*20°, k=0..17) TS = 5400 images (36 images restantes par objet) OUTEX LS = 432 images (8 images par texture) TS = 432 images (8 images restantes par texture) 26 Précision 27 BDs Extra-trees Sous-fenêtres Littérature MNIST 3.26% 2.63% (w1=w2=24) 12%…0.7% ORL 4.56% ± 1.43 2.13% ± 1.18 (w1=w2=32) 7.5%…0% COIL-100 2.04% 0.39% (w1=w2=16) 12.5%…0.1% OUTEX 64.35% 2.78% (w1=w2=4) 9.5%…0.2% Comparaison avec d’autres méthodes 28 Method MNIST ORL COIL-100 OUTEX One classical DT 11.5% 29.25% 20.80% 89.35% Bagging DT 4.42% 9.5% 2.24% 73.15% Boosting DT 2.29% 3.75% 0.54% 69.44% Random Forests 3.0% 1.25% 1.17% 66.90% Extra-trees 3.17% 1.25% 1.96% 65.05% Extra-trees + SW 2.54% 0.5% 0.35% 2.78% SVMs 1.95% 1.25% 0.44% 71.99% Nearest Neighbours 5.5% 2.25% 1.94% 80.79% State-of-the-art 0.7% - 0.1% 0.2% Temps de calcul Apprentissage sur COIL-100 (1800x3072) time (s) Extra-trees SVMs 9 62 Classical DT 188 Random Forests 1291 Extra-trees + SW time (s) 2745 Bagging 6805 Boosting 19561 0 29 5000 10000 15000 20000 25000 Temps de calcul Test sur COIL-100 (5400 images) time (s) Classical DT Bagging 0,01 0,6 Boosting 1 Random Forests 5 Extra-trees time (s) 6 54 Extra-trees + SW SVMs 199 1345 Nearest Neighbours 0 30 500 1000 1500 Robustesse L’inconvénient d’une approche générique est peut-être le manque de robustesse à différentes transformations des images Exemples de transformations: Rotation Changement d’échelle Occultation 31 Travail demandé Faire une recherche sur l’approche extra trees pour la classification des données quelconques (chercher des articles) Appliquer l’approche extra trees+sw pour la classification des caractères latins. Préparer des exposés 32