1 / 54

Ensembles d’arbres extrêmement aléatoires Application à la classification d’images

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. Plan de la présentation. Arbres extrêmement aléatoires

Download Presentation

Ensembles d’arbres extrêmement aléatoires Application à la classification d’images

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ensembles d’arbres extrêmement aléatoiresApplication à la classification d’images Pierre Geurts Département d’Electricité, d’Electronique et d’Informatique, Université de Liège, Belgique 19 février 2004

  2. Plan de la présentation • Arbres extrêmement aléatoires • Arbres de décision et méthodes d’ensemble • Arbres extrêmement aléatoires • Analyse biais-variance • En pratique • Arbre totalement aléatoire • Application à la classification d’images

  3. r5 r4 r3 r2 r1 Arbres de décision/régression X2 X1 t1 r5 r2 r3 X1  t3 X2  t2 t2 r4 r1 X2  t4 t3 t1 X1

  4. 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)

  5. 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

  6. 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é

  7. 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

  8. Randomisation • Idée: agréger les prédictions de plusieurs modèles instables good good bad good

  9. 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

  10. Randomisation • Deux observations: • 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.

  11. 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 »)

  12. 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

  13. 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é)

  14. Problèmes de classification

  15. 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 Bagging RF ET (K=1) 1 arbre ET (K opt.)

  16. Problèmes de classification • Influence de K sur l’erreur 8 Two-norm 7 6 Erreur (%) Letter 5 4 3 2 1 20 40 60 80 100 K Arbre totalement aléatoire Arbre classique

  17. Problèmes de régression

  18. 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 Bagging RF ET (K=1) 1 arbre ET (K opt.)

  19. 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

  20. 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

  21. 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

  22. 14 12 10 MSE 8 6 Biais 4 Variance 2 0 0 20 40 60 80 100 K Compromis biais/variance • Sur un problème de régression (Friedman1) • Lorsque K augmente (la randomisation diminue), le biais diminue et la variance augmente.

  23. 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

  24. 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 fn’a pas d’importance tant que freste du bon côté de la frontière de décision En classification, le biais (sur f) a moinsd’importance que la variance (sur f) > ì c si f ( x ) 0 , 5 1 = C ( x ) í £ c si f ( x ) 0 , 5 î 2

  25. Erreur sur C 0,2 MSE sur f 0,1 Biais sur f Variance sur f 0 0 10 20 30 40 50 K 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.

  26. 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,61 0,62 0,58 0,41 0,37 1 arbre Bagging K opt. K déf. 1 arbre Bagging K opt. K déf.

  27. Temps de calcul Classification Régression 62,2 57,0 • 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 49,1 11,3 7,4 4,1 1 1 1 arbre Bagging K=1 K déf. 1 arbre Bagging K=1 K déf.

  28. Complexité du modèle Classification Régression 596 • 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é. 330 130 107 74 64 1 1 1 arbre Bagging K=1 K déf. 1 arbre Bagging K=1 K déf.

  29. 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

  30. 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

  31. Comparaison avec le k-NN Classification Régression • Erreur • Temps de calcul 1,42 1,25 1,1 1 1 0,87 ET(K=1) ET(K=1) 1-NN K-NN 1-NN K-NN Classification Régression 14,7 13,7 9,2 4,1 1 1 ET(K=1) test ET(K=1) test 1-NN test E-T(K=1) Constr.+test 1-NN test ET(K=1) Constr.+test

  32. 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

  33. Application à la classification d’images Raphaël Marée, Pierre Geurts, Justus Piater, Louis Wehenkel Université de Liège, Belgique

  34. 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

  35. Aperçu de bases de données • MNIST: • ORL: • COIL-100: • OUTEX:

  36. 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 ?

  37. 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)

  38. Algorithmes proposés • Extra-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

  39. 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

  40. 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

  41. … … … Extraction de sous-fenêtres • Test … Fleur Métal Fleur Fleur Fleur

  42. 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.

  43. Base de données

  44. 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)

  45. Précision

  46. Comparaison avec d’autres méthodes

  47. Temps de calcul • Apprentissage sur COIL-100 (1800x3072)

  48. Temps de calcul • Test sur COIL-100 (5400 images)

  49. 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

  50. Robustesse: rotation • Rotation planaire des images (COIL-100) • Ok, jusque 20° avec des sous-fenêtres

More Related