Ensembles d’arbres extrêmement aléatoires Application à la classification d’images Pierre Geurts Département d’Electricité, d’Electronique et d’Informatique, Université de Liège, Belgique 19 février 2004 P Geurts - séminaire LIP6
Plan de la présentation Arbres extrêmement aléatoires Arbres de décision et méthodes d’ensemble Analyse biais-variance En pratique Arbre totalement aléatoire Application à la classification d’images P Geurts - séminaire LIP6
Arbres de décision/régression X2 X1 t1 r5 r2 r3 X2 t2 X1 t3 t2 r4 r1 r1 r2 r3 X2 t4 t1 t3 X1 r4 r5 P Geurts - séminaire LIP6
Arbres de décision/régression Construction de l’arbre à partir de données De haut en bas À chaque étape: On choisit un nœud terminal On cherche le meilleur attribut et la meilleure question selon une mesure de score On éclate le nœud Variable numérique: question de type [A<ath?] Demande le tri de l’échantillon selon les valeurs de A Calcul du score pour au plus N valeurs de seuil candidates (si N objets au nœud) P Geurts - séminaire LIP6
Arbres de décision/régression Points forts de la méthode: Interprétable Flexible Relativement efficace Point faible: Une variance importante Interprétabilité remise en question Précision en deçà d’autres méthodes P Geurts - séminaire LIP6
Réduction de variance Différentes approches possibles: Stabiliser les paramètres de l’arbre Améliore l’interprétabilité mais pas la précision « Fuzzyfier » les tests: arbres flous, arbres probabilistes… Améliore la précision et préserve l’interprétabilité Agréger plusieurs arbres: méthodes d’ensemble Améliore la précision mais on perd l’interprétabilité P Geurts - séminaire LIP6
Méthodes d’ensemble Deux approches: Algorithmes de type boosting: construction séquentielle (itérative) des modèles Réduit essentiellement le biais mais aussi la variance Algorithme de randomisation: construction en parallèle des modèles Réduit essentiellement la variance, augmente le biais P Geurts - séminaire LIP6
Randomisation Idée: agréger les prédictions de plusieurs modèles instables good good bad good P Geurts - séminaire LIP6
Randomisation Pour obtenir les différents modèles, il faut perturber soit: les données: Bagging (Breiman, 1996): ré-échantillonnage avec remplacement Méthode subspace (Ho, 1998): bruite la liste des attributs l’algorithme d’apprentissage directement: Random trees (Dietterich, 2000): choix aléatoire d’un test parmi les 20 meilleurs Random forests (Breiman, 2001): bagging + choix du meilleur test parmi un sous-ensemble aléatoire de k attributs P Geurts - séminaire LIP6
Randomisation Deux observations: Buts de l’étude proposée ici: Les méthodes d’ensemble fournissent toutes un test différent de l’optimal mais recherchent quand même ce test optimal. Les paramètres des arbres sont très instables Buts de l’étude proposée ici: Évaluer une variante totalement aléatoire Vérifier si le degré de randomisation est dépendant du problème. P Geurts - séminaire LIP6
Randomisation proposée Lors du développement d’un nœud: On génère K tests aléatoirement et on prend le meilleur test parmi ceux-ci Pour générer un test aléatoire: On choisit un attribut aléatoirement S’il est numérique, on choisit un seuil de discrétisation au hasard (entre le min et le max de l’attribut dans l’échantillon) S’il est symbolique, on choisit un sous-ensemble aléatoire des valeurs possibles de l’attribut On développe l’arbre complètement (« extra-trees » pour « extremely randomized trees ») P Geurts - séminaire LIP6
Extra-trees K contrôle le degré de randomisation: Si K=1, la structure de l’arbre est déterminée totalement aléatoirement, sans référence à la sortie. Si K , la structure tend vers celle d’un arbre classique P Geurts - séminaire LIP6
Expérimentations Sur 12 problèmes de classification et 12 problèmes de régression Comparaison de plusieurs méthodes: Arbres classiques (élagués) Méthodes d’ensemble (100 arbres, non-élagués) Bagging Random Forests (k optimisé) Arbres totalement aléatoires (K=1) Extra-trees (K optimisé) P Geurts - séminaire LIP6
Problèmes de classification P Geurts - séminaire LIP6
Problèmes de classification Erreurs relatives moyennes Extra-trees meilleurs que bagging et légèrement meilleurs que random forests Arbres totalement aléatoires compétitifs par rapport aux autres méthodes 1,0 0,58 0,50 0,42 0,37 1 arbre Bagging RF ET (K=1) ET (K opt.) P Geurts - séminaire LIP6
Problèmes de classification Influence de K sur l’erreur 8 Two-norm 7 Erreur (%) 6 Letter 5 4 3 2 1 20 40 60 80 100 K Arbre totalement aléatoire Arbre classique P Geurts - séminaire LIP6
Problèmes de régression P Geurts - séminaire LIP6
Problèmes de régression Erreurs relatives moyennes Bagging, Random Forests et Extra-trees très proches. Arbres totalement aléatoires pas très bons sur certains problèmes 2,06 1,16 1,0 0,67 0,66 0,61 1 arbre Bagging RF ET (K=1) ET (K opt.) P Geurts - séminaire LIP6
Problèmes de régression Influence de K sur l’erreur 18 16 14 Erreur 12 Housing 10 Elevators 8 6 1 20 40 60 80 100 K Arbre totalement aléatoire Arbre classique P Geurts - séminaire LIP6
Conclusion des expérimentations On peut aller très loin en terme de randomisation avec les méthodes d’ensemble et quand même améliorer la précision par rapport à un seul arbre Différence importante entre problèmes de classification et problèmes de régression En classification, la randomisation peut aller très loin et améliore fortement la précision par rapport au bagging En régression, la randomisation permise est plus faible et le bagging va généralement suffisamment loin de ce point de vue Analyse basée sur les notions de biais et de variance P Geurts - séminaire LIP6
Notion de biais et de variance Biais=erreur systématique commise par une méthode (indépendamment de l’échantillon) Variance=erreur due à la variabilité du modèle (en fonction de l’échantillon) En régression: Err. quad. Moyenne (MSE)= erreur min.+biais+variance P Geurts - séminaire LIP6
Compromis biais/variance Sur un problème de régression (Friedman1) Lorsque K augmente (la randomisation diminue), le biais diminue et la variance augmente. 2 4 6 8 10 12 14 20 40 60 80 100 MSE Biais Variance K P Geurts - séminaire LIP6
Variables non pertinentes Si K=1, la méthode est incapable de détecter (localement ou globalement) des variables non pertinentes Par exemple, s’il y a 50% de variables inutiles, 50% des tests dans l’arbre seront inutiles la complexité effective de l’arbre diminue de moitié et le biais augmente fortement Exemple: Friedman1 sans/avec 5 attributs bruités MSE Biais Variance Sans bruit 5,72 5,21 0,51 Avec bruit 11,73 11,27 0,46 P Geurts - séminaire LIP6
Biais et variance en classification La plupart des méthodes de classification cherchent une fonction f (x) et prédisent la classe en x par: Une erreur systématique (biais) sur f n’a pas d’importance tant que f reste du bon côté de la frontière de décision En classification, le biais (sur f ) a moins d’importance que la variance (sur f ) ì c si f ( x ) > , 5 C ( x ) = 1 í î c si f ( x ) £ , 5 2 P Geurts - séminaire LIP6
Compromis biais/variance Sur un problème de classification (Waveform) Le minimum du taux d’erreur correspond à plus de randomisation (K plus petit) que le minimum de l’erreur quadratique. MSE sur f 0,1 0,2 10 20 30 40 50 K Biais sur f Variance sur f Erreur sur C P Geurts - séminaire LIP6
En pratique Quelle valeur de K par défaut ? En classification, K=5 En régression, K=min(30,nombre d’attributs) Ce qu’on perd en moyenne en précision: Classification Régression 1,0 1,0 0,67 0,58 0,61 0,62 0,37 0,41 1 arbre Bagging K opt. K déf. 1 arbre Bagging K opt. K déf. P Geurts - séminaire LIP6
Temps de calcul Classification Régression 62,2 57,0 49,1 11,3 4,1 7,4 1 1 1 arbre Bagging K=1 K déf. 1 arbre Bagging K=1 K déf. Avantage important en classification, marginal en régression. D’autant plus important qu’il y a de variables. Exemple sur Isolet (N=6238 m=617): 1 arbre: 37s Bagging: 37m Extra-trees (déf.): 4s P Geurts - séminaire LIP6
Complexité du modèle Classification Régression 596 330 130 107 74 64 1 1 1 arbre Bagging K=1 K déf. 1 arbre Bagging K=1 K déf. Les arbres aléatoires sont beaucoup plus complexes (surtout en classification). Heureusement, le test reste très rapide car la profondeur augmente seulement avec le logarithme de la complexité. P Geurts - séminaire LIP6
Variante totalement aléatoire Étonnamment, cette variante fonctionne assez bien sur plusieurs problèmes (particulièrement de classification) Totalement non paramétrique (pas d’hypothèse sur le problème, pas de mesure de score…) Extrêmement rapide et complexité indépendante de la dimension du problème la structure de l’arbre est totalement indépendante de la sortie On peut l’utiliser pour une autre sortie en changeant simplement les prédictions aux feuilles P Geurts - séminaire LIP6
Comparaison avec le k-NN Points communs: Les deux méthodes sont basées sur une métrique indépendante de la sortie: Deux points sont proches s’ils tombent souvent ensemble dans les mêmes feuilles des arbres de l’ensemble Elles sont sensibles à la présence de variables non pertinentes Modèles relativement lourds Mais grâce aux arbres: Distance invariante à certaines transformations des variables, insensible aux outliers, normalisation inutile … Traitement naturel de variables symboliques Prédiction très rapide, O(log(N)) si N est la taille du LS P Geurts - séminaire LIP6
Comparaison avec le k-NN Erreur Temps de calcul Classification Régression 1,42 1,25 1,1 1 1 0,87 ET(K=1) 1-NN K-NN ET(K=1) 1-NN K-NN Classification Régression 14,7 13,7 9,2 4,1 1 1 ET(K=1) test 1-NN test E-T(K=1) Constr.+test ET(K=1) test 1-NN test ET(K=1) Constr.+test P Geurts - séminaire LIP6
Conclusions et perspectives Extra-trees surtout intéressants en classification: Précision comparable aux autres méthodes d’ensemble Très rapide (surtout si beaucoup de variables) Relativement robuste Travaux futurs: Comparaison avec d’autres méthodes: boosting, SVM… Version incrémentale, adaptative Apprentissage non supervisé avec des ensembles d’arbres Interprétation d’un ensemble d’arbres P Geurts - séminaire LIP6
Application à la classification d’images Raphaël Marée, Pierre Geurts, Justus Piater, Louis Wehenkel Université de Liège, Belgique P Geurts - séminaire LIP6
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 P Geurts - séminaire LIP6
Aperçu de bases de données MNIST: ORL: COIL-100: OUTEX: P Geurts - séminaire LIP6
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 ? P Geurts - séminaire LIP6
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) P Geurts - séminaire LIP6
Algorithmes proposés Extra-trees Extra-trees + sous-fenêtres 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 P Geurts - séminaire LIP6
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 P Geurts - séminaire LIP6
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 P Geurts - séminaire LIP6
Extraction de sous-fenêtres Test … … … … … Fleur Métal Fleur Fleur Fleur P Geurts - séminaire LIP6
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. P Geurts - séminaire LIP6
Base de données DBs #images #attributs #classes MNIST 70000 784 (28x28x1) 10 ORL 400 10304 (92x112x1) 40 COIL-100 7200 3072 (32x32x3) 100 OUTEX 864 49152 (128x128x3) 54 P Geurts - séminaire LIP6
Protocoles d’expérimentation 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) P Geurts - séminaire LIP6
Précision 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% P Geurts - séminaire LIP6
Comparaison avec d’autres méthodes 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.96% 65.05% Extra-trees + SW 2.54% 0.5% 0.35% 2.78% SVMs 1.95% 0.44% 71.99% Nearest Neighbours 5.5% 2.25% 1.94% 80.79% State-of-the-art 0.7% - 0.1% 0.2% P Geurts - séminaire LIP6
Temps de calcul Apprentissage sur COIL-100 (1800x3072) P Geurts - séminaire LIP6
Temps de calcul Test sur COIL-100 (5400 images) P Geurts - séminaire LIP6
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 P Geurts - séminaire LIP6
Robustesse: rotation Rotation planaire des images (COIL-100) Ok, jusque 20° avec des sous-fenêtres P Geurts - séminaire LIP6
Robustesse: échelle Seule la variante avec des sous-fenêtres peut encore être appliquée Le modèle est construit sur des images 32x32 (sous-fenêtres de 16x16) Ok seulement pour de faibles variations P Geurts - séminaire LIP6
Robustesse: occultation La partie droite de l’image est occultée Ok jusqu’à environ 40% d’occultation avec les sous-fenêtres P Geurts - séminaire LIP6
Conclusions et perspectives Méthode générique comparable aux meilleurs méthodes spécifiques bien que légèrement inférieure en précision par rapport à l’état de l’art Est-ce qu’une amélioration légère de la précision justifie une approche spécifique ? La réponse dépend de l’application Perspectives: Combinaison des sous-fenêtres avec d’autres méthodes d’apprentissage (SVM, boosting…) Amélioration de la robustesse Étudier le compromis entre efficacité et précision pour faire une prédiction. P Geurts - séminaire LIP6
Réferences Extra-trees: (http://www.montefiore.ulg.ac.be/~geurts) Contribution to decision tree induction: bias/variance tradeoff and time series classification, P.Geurts, Thèse de doctorat, 2002. Traitement de grands volumes de données par ensemble d’arbre de décision, P.Geurts, Journées de Statistiques, Lyon, Juin 2003. Extremely randomized trees, P.Geurts, Rapport interne, Mai 2003. Classification d’images: (http://www.montefiore.ulg.ac.be/~maree) Une méthode générique pour la classification automatique d’images à partir des pixels, R.Marée, P.Geurts et L.Wehenkel, Journées de Statistiques, Lyon, Juin 2003. A generic approach for image classification based on decision tree ensembles and local subwindows, R. Marée, P. Geurts, J. Piater, L. Wehenkel, Sixth Asian Conference on Computer Vision, Jeju (Corée), janvier 2004 A comparison of generic machine learning algorithms for image classification, R.Marée, P. Geurts, G. Visimberga, J. Piater, L. Wehenkel, 23rd SGAI International Conference on Innovative Techniques and Applications of Artificial Intelligence, Cambridge (UK), Décembre 2003. P Geurts - séminaire LIP6