560 likes | 680 Views
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
E N D
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
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
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
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)
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
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é
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
Randomisation • Idée: agréger les prédictions de plusieurs modèles instables good good bad good
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
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.
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 »)
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
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é)
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.)
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
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.)
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
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
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
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.
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
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
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.
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.
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.
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.
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
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
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
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
Application à la classification d’images Raphaël Marée, Pierre Geurts, Justus Piater, Louis Wehenkel Université de Liège, Belgique
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
Aperçu de bases de données • MNIST: • ORL: • COIL-100: • OUTEX:
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 ?
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)
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
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
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
… … … … Extraction de sous-fenêtres • Test … Fleur Métal Fleur Fleur 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.
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)
Temps de calcul • Apprentissage sur COIL-100 (1800x3072)
Temps de calcul • Test sur COIL-100 (5400 images)
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
Robustesse: rotation • Rotation planaire des images (COIL-100) • Ok, jusque 20° avec des sous-fenêtres