[PleaseinsertPrerenderUnicode{Û}intopreamble]tude de crit
Transcription
[PleaseinsertPrerenderUnicode{Û}intopreamble]tude de crit
Master 2 Recherche en Informatique École Normale Supérieure de Cachan Étude de critères de séparation pour les arbres de décision stage réalisé au sein de l’équipe-projet Texmex de l’INRIA Bretagne-Atlantique sous la direction d’Annie Morin 2 février 2009 – 30 juin 2009 Olivier Schwander ÉNS Cachan INRIA Bretagne-Atlantique Introduction Les arbres de décision sont l’une des plus anciennes techniques utilisées en apprentissage automatique. À ce jour plusieurs techniques de construction de ces arbres coexistent sans qu’aucune n’offre des performances significativement meilleures que les autres. Il existe des études expérimentales qui montrent que les différentes techniques de construction offrent des performances équivalentes, mais peu de travaux s’intéressent aux différences entre les arbres obtenus. L’objectif du stage est d’étudier une étape précise de la construction, la façon de choisir la variable qui permettra de séparer un nœud en plusieurs branches, et de comprendre dans quelle mesure les différentes techniques font des choix similaires ou différents. 1 Table des matières 1 Arbres de décisions 1.1 Présentation . . . . . . 1.2 Décision . . . . . . . . 1.3 Construction . . . . . 1.4 Algorithmes classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 7 2 Points de départ 2.1 Informaticiens et statisticiens . . . 2.2 Études expérimentales . . . . . . . 2.3 Critère du χ2 et indice de Gini . . 2.4 Critère du χ2 et gain d’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 9 9 d’information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 12 26 29 . . . . . . . . 3 Comparaison entre χ2 et et 3.1 Cadre des simulations . . 3.2 Désaccords entre critères . 3.3 Cas discret . . . . . . . . 3.4 Modélisation . . . . . . . . . . . . . . . . . . . gain . . . . . . . . . . . . . . . . Bibliographie 35 2 Chapitre 1 Arbres de décisions 1.1 Présentation Les arbres de décisions sont l’une des plus anciennes méthodes utilisées en apprentissage par ordinateur et en statistique inférentielle : d’après [Rakotomalala, 2005], la première utilisation remonterait à [Morgan et Sonquist, 1963]. Cette méthode a eu un tel succès grâce à plusieurs avantages : – les processus de construction et de décision sont assez simple, – il est possible pour un expert de comprendre l’arbre produit, – c’est une méthode non-paramétrique, – elle est rapide pour des bases qui tiennent en mémoire. Les arbres de décisions sont encore largement utilisés de nos jours, notamment au sein de méthodes récentes, comme les forêts aléatoires [Breiman, 2001]. 1.2 Décision Un arbre de décision est un arbre dont les nœuds contiennent des tests. Chaque test porte sur les variables (en général une seule à la fois) qui décrivent les données. En fonction du résultat du test, la donnée inconnue est orientée dans l’un des sous-arbres. Chaque feuille de l’arbre est étiquetée par l’une des classes. Quand la donnée inconnue atteint l’une des feuilles, elle se voit attribuer la classe associée à cette feuille. Exemple TODO exemple de décision sur un petit arbre 1.3 1.3.1 Construction Étapes de l’algorithme Les arbres sont construits en utilisant un algorithme récursif. Initialement, l’arbre est formé d’un seul nœud, contenant toutes les données d’apprentissage. À chaque étape, l’ensemble contenu dans le nœud est séparé en plusieurs branches, selon une condition de séparation ou laissé intact pour former un nœud terminal. Il y a donc deux parties importantes dans cet algorithme ([Rakotomala, 2008]) : – le critère d’arrêt, pour décider si un nœud est terminal ou pas, – le critère de séparation, pour créer le test qui va réaliser la séparation. 3 CHAPITRE 1. ARBRES DE DÉCISIONS Le critère d’arrêt a pour but de limiter la taille de l’arbre, à la fois pour des problèmes de mémoire et pour assurer la généralisation en évitant une spécialisation trop grande de l’arbre. On peut se baser sur un critère de précision (quand une certaine proportion d’une certaine classe est atteinte dans un nœud) ou d’effectif (on n’essaye plus de séparer au dessous d’un certain nombre d’instances dans le nœud). Le rôle du critère de séparation est de séparer un ensemble de données en plusieurs sousensembles, de façon intéressante pour la classification. Le principe est de sélectionner la variable la plus discriminante pour la grandeur à prédire et d’effectuer un test sur celle-ci pour construire les sous-ensembles. Exemple : On dispose d’informations sur des animaux, et on veut savoir si ce sont des oiseaux. Les données correspondantes sont données dans le tableau 1.1. Numéro 1 2 3 4 5 6 Rouge oui oui non oui non oui Ailes oui oui oui non non non Oiseau oui oui oui non non non Tab. 1.1 – Exemple de données On voit immédiatement que le fait de posséder des ailes est plus parlant pour identifier un oiseau que sa couleur. On peut donc faire une première séparation sur cette variable, ce qui donne l’abre de la figure 1.1. Ailes ? oui 3 oiseaux 1 autres non 0 oiseaux 2 autres Fig. 1.1 – Exemple d’arbre Bien sûr, le but est d’effectuer ce choix de façon automatique, en attribuant à chaque variable un score décrivant sa pertinence vis-à-vis de la variable à prédire. 4 CHAPITRE 1. ARBRES DE DÉCISIONS 1.3.2 Critères de choix de la variable de séparation Présentation Dans la suite, on notera Y la variable à prédire et Xi les variables décrivant les données. Le problème est de trouver une variable sur laquelle réaliser la séparation. La méthode de sélection est assez simple : pour chaque variable possible, le partitionnement va être réalisé et évalué par un indicateur de qualité [Rakotomalala, 2005]. C’est de cet indicateur de qualité que nous allons discuter par la suite. Pour chaque variable de séparation possible, nous définissons un tableau de contingence croisant la variable à prédire et la variable candidate. En reprenant l’exemple du tableau 1.1, on obtient le tableau 1.2. Oiseau ? Oui Non Rouge ? Oui 2 1 Non 1 2 Tab. 1.2 – Exemple de tableau de contingence Pour le tableau de contingence d’une variable X à L modalités et pour L classes possibles, on utilisera la notation du tableau 1.3. x1 xl xL y1 yk .. . · · · nkl · · · .. . nj nk n yK Tab. 1.3 – Tableau de contingence quelconque Liaison statistique Une mesure de liaison statistique cherche à quantifier dans quelle mesure la connaissance de Xi nous renseigne sur celle de Y . On va utiliser le test d’indépendance du χ2 pour déterminer si les valeurs observées concordent avec l’hypothèse d’indépendance, obtenue quand la variable observée n’apprend rien sur la variable à prédire. Voici donc la formule utilisée : 2 χ = nk nl 2 n nk nl n K X L X nkl − k=1 l=1 Remarquons que la valeur du χ2 varie donc entre 0 (indépendance) et +∞ (très fort lien) et que cette formule tend à avantager les variables avec beaucoup de normalités. On utilisera donc en général la normalisation suivante, dite t de Tschuprow (évoquée dans [Rakotomalala, 2005]) : 5 CHAPITRE 1. ARBRES DE DÉCISIONS χ2 t= p n (K − 1)(L − 1) La meilleure variable pour réaliser la séparation est celle qui a obtenu le score le plus élevé, c’est à dire celle pour laquelle le lien avec la variable à prédire est le plus élevé. Information Une autre notion naturelle pour évaluer l’utilité d’une variable pour en prédire une autre est l’information [Rakotomala, 2008] : on va chercher quelle variable nous apporte le plus d’information sur la variable à prédire. Commençons par définir l’entropie de Shannon associée à la variable Y : E(Y ) = K X nk k=1 n log nk n Une première mesure de qualité de la séparation peut être l’entropie conditionnelle : E(Y |X) = L X K X nl nkl l=1 k=1 n nl log nkl nl Cette grandeur est nulle si les deux variables sont indépendantes et augmente avec l’information apportée par X sur Y . On peut aussi utiliser le gain d’entropie : G(Y |X) = E(Y ) − E(Y |X) ou sa version normalisée qui tient compte de la distribution marginale de X : GR(Y |X) = G(Y |X) E(X) Indice de concentration La troisième famille de conditions de séparation est l’indice de concentration, ou indice de Gini ([Rakotomala, 2008]. Celui-ci mesure le degré d’impureté au sein d’un ensemble de données. Définissons l’indice de Gini de la variable Y : I(Y ) = 1 − K X nk 2 k=1 n De façon analogue à l’entropie ([Mingers, 1989]), on peut définir l’indice de Gini conditionnel et l’amélioration de la concentration : ! L K X X nl nkl 2 I(Y |X) = 1− n nl l=1 k=1 et D(Y |X) = I(Y ) − I(Y |X) 6 CHAPITRE 1. ARBRES DE DÉCISIONS 1.4 Algorithmes classiques Algorithmes classiques Cette partie a pour but de lister quelques uns des algorithmes de construction d’arbres de décision parmi les plus connus. Il ne s’agit pas de donner une description exhaustive de ceux-ci, mais seulement d’exposer brièvement les solutions retenues. ID3 et C4.5 Introduits respectivement dans [Quinlan, 1986] et [Quinlan, 1993], l’algorithme ID3 et son amélioration C4.5 utilisent l’entropie pour réaliser la séparation des nœuds. Chaque modalité possible pour la variable de séparation choisie conduit à une nouvelle branche différente. Cet algorithme est bien adapté aux petits effectifs et est peu sensible au paramétrage. Cependant, la phase d’élagage est moins efficace sur de grosses bases. CART La méthode de [Breiman, 1984], CART (pour Classification and Regression Tree), utilise l’indice de Gini comme condition de séparation. Les différentes modalités sont regroupées en deux groupes de façon à obtenir des arbres binaires [Rakotomala, 2008]. Cette méthode offre de bonnes performances en général, sans paramètres à régler. Par contre, la binarisation n’est pas toujours appropriée et conduit à des arbres plus profonds. CHAID L’algorithme CHAID (CHi-squared Automatic Interaction Detector) de [Kass, 1980] se sert du critère du χ2 . Il utilise une solution intermédiaire pour la création des branches : en regroupant les modalités conduisant à des branches proches, il obtient un arbre à mi-chemin entre un arbre binaire et un arbre qui aurait exactement une branche par modalité. C’est une méthode intéressante sur de grosses bases de données mais pour laquelle il est difficile de trouver les bons paramètres pour le regroupement des branches. 7 Chapitre 2 Points de départ 2.1 Informaticiens et statisticiens La question du choix entre les χ2 et l’information n’est pas tant un problème de qualité qu’une question de parcours des gens qui élaborent l’algorithme de construction : les statisticiens ont plus tendance à préférer le χ2 tandis que les informaticiens se tourneront plutôt vers l’information. Il est cependant généralement admis que ces deux approches sont équivalentes (voir par exemple [Chauchat et Rakotomalala, 1999]). Le premier argument quant au lien entre ces deux approches provient de [Benzécri, 1982] (et n’a rien de spécifique aux arbres de décision). Ces deux approches servent toutes deux à comparer deux lois de probabilité : pIJ et la loi produit pI pJ . Étudions la distance entre ces deux distributions à l’aide du χ2 . X X pij − pi pj pi pj i∈I j∈J XX pij 2 = pi pj −1 pi pj ||pIJ − pI pJ ||2 = i∈I j∈J car P P pi pj = 1 = pij . Comparons l’expression obtenue avec celle de l’information mutuelle : pij pi pj i∈I j∈J XX pij = p i p j φ1 pi pj H(pij |pi pj ) = XX pij log i∈I j∈J en posant φ1 (x) = x log x. Si on pose φ2 (x) = x2 − 1 dans l’expression obtenue pour le χ2 , on remarque que les deux formules ne varient que par la fonction φ utilisée. De plus, les fonctions φ1 et φ2 sont osculatrices (même dérivées premières et secondes) au voisinage du point x = 1. 2.2 Études expérimentales Un autre argument pour l’équivalence entre le χ2 et l’information provient de l’étude expérimentale de [Mingers, 1989]. Après une présentation exhaustive et détaillée des différentes conditions de 8 CHAPITRE 2. POINTS DE DÉPART séparation existantes, il étudie l’influence de ces critères sur le taux d’erreur et la taille des arbres générés. Voici un bref résumé de ses conclusions : – le critère n’influe pas significativement sur le taux d’erreur, – la taille des arbres produits varie fortement, – après élagage, on retrouve des arbres de taille comparable. Le résultat le plus surprenant est que si la variable de séparation est choisie aléatoirement — ce qui conduit à des arbres très grands — le taux d’erreur reste sensiblement le même qu’avec d’autres méthodes. En fait, cette affirmation est contredite par [Buntine et Niblett, 1992] : le partitionnement aléatoire conduit à de très mauvaises performances. Buntime explique que Mingers a utilisé le même ensemble de données pour élaguer les arbres et pour évaluer les performances, ce qui conduit à un taux d’erreur sous-évalué. 2.3 Critère du χ2 et indice de Gini La comparaison entre le critère du χ2 et l’indice de Gini a été traitée dans [Grabmeier et Lambe, 2007]. Le résultat principal est que le χ2 et Gini conduisent à des arbres identiques, pour des problèmes de classification binaire : quel que soit le critère utilisé, les variables seront classées dans le même ordre lor de la construction de l’arbre. Ce résultat ne s’applique qu’au cas de la classification binaire, un contre-exemple est donnée pour le cas où les données sont séparées en trois classes. [Grabmeier et Lambe, 2007] s’intéresse également rapidement à la comparaison enter le χ2 et le gain d’information, mais sans obtenir de résultat probant. TODO Détailler plus ? 2.4 Critère du χ2 et gain d’information Le seul article présentant des résultats a priori intéressants sur le sujet de la comparaison entre le χ2 et le gain d’information est [Raileanu et Stoffel, 2004]. Cet article, complété par la thèse de Raileanu ([Raileanu, 2002]) affirme que, pour toutes les bases entre 50 et 200 échantillons, il n’y a jamais plus de 2% de cas où les deux critères classent les variables dans un ordre différent (pour un problème de classification binaire, où chaque donnée est décrite par deux variables binaires). Ces deux articles restent cependant peu satisfaisant : – l’étude commence par une gigantesque disjonction de cas pour déterminer quels sont les cas où les critères sont en désaccord, dans le but d’éviter d’avoir à calculer explicitement les valeurs des critères, mais sans expliquer pour cette disjonction est plus simple ou plus intéressant qu’un calcul direct (voir la figure ) ; – l’article dit clairement «toutes les bases entre 50 et 200 échantillons», alors qu’un calcul élémentaire de combinatoire montre qu’il n’est pas réaliste de faire une étude exhaustive. Il y a donc eu un échantillonnage à un moment donné, mais aucune information n’est sur ce sujet ; – des bases de seulement 50 à 200 échantillons sont vraiment très petites. Certaines bases utilisées avec des arbres de décision contiennent plusieurs milliers ou dizaines de milliers d’individus. 9 CHAPITRE 2. POINTS DE DÉPART 0 1 1a 1bi 1b 1bii 1c 1ci 1d 1cii 1e 1di 3a 2 3 3b 3c 4 4a 4b 5 4c 4d 4e 5a 6 5b 5c 6a 1dii Fig. 2.1 – La disjonction de cas de [Raileanu, 2002] 10 6b 6c Chapitre 3 Comparaison entre χ2 et et gain d’information 3.1 3.1.1 Cadre des simulations Présentation Nous n’utiliserons pas de données réelles de façon à pouvoir manipuler tous les paramètres en fonction des besoins de nos expériences. Nous nous limiterons au cas le plus simple (et aussi le seul étudié dans la littérature pour l’instant) : un problème de classification binaire, sur des données décrites par deux variables, elles-mêmes binaires. Comme notre objectif est de déterminer si les deux critères classent les deux variables dans le même ordre, il est possible d’«oublier» complètement la partie «arbre» et de se concentrer seulement sur les valeurs des critères de décisions. Dans un premier temps, nous considérerons que tous les paramètres prennent leurs valeurs dans R au lieu d’évoluer dans un ensemble discret, dont la taille est déterminé par le nombre réel d’échantillons. Tout se passe comme si on disposait d’un nombre infini d’échantillons. Nous verrons dans la partie 3.3 que cette approximation est valide pour des bases d’une taille de quelques milliers d’individus, ce qui correspond à beaucoup de bases réelles. La distribution des données simulées sera décrite par les tableaux de contingence détaillés dans la partie 3.1.2. Dans un premier temps, nous étudierons la répartition des cas de désaccord à l’intérieur de l’espace des paramètres (partie 3.2.1), puis nous nous intéresserons à la surface de la zone de désaccord (partie 3.2.2). La dernière série d’expérience examine le cas où le nombre d’échantillons est fini (partie 3.3). En plus de ces expériences, nous allons étudier formellement la forme de la surface de désaccord (3.2.3) puis modéliser l’échantillonage d’une population pour évaluer la probabilité d’un désaccord entre critère. 3.1.2 Données On s’intéresse à des données réparties en deux classes (notée Y ). Chaque instance est décrite par deux variables binaires X1 et X2 . La distribution de ces données est décrite par les deux tableaux de contingence suivant, utilisant des fréquence relative (puisque nous n’avons pas de notion de nombre d’individus) : 11 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION – Pour X1 Y 0 1 X1 0 1 x1 b − x1 b a1 − x1 1 − a1 − b + x1 1 − b a1 1 − a1 1 – Pour X2 Y 3.1.3 0 1 X2 0 1 x2 b − x2 b a2 − x2 1 − a2 − b + x2 1 − b a2 1 − a2 1 Critère de séparation Le choix de séparer le jeu de données suivant X1 ou X2 sera déterminée en utilisant les deux critères suivants (exprimés ici dans le cas de deux variables binaires) : – le χ2 1 + ab χ2 (X) = (x − ab) ab(1 − a)(1 − b) – et le gain d’information x b−x a−x IG(X) = x log2 + (b − x) log2 + (a − x) log2 ab b(1 − a) (1 − b)a x−a−b+1 +(x − a − b + 1) log2 (1 − a)(1 − b) Le critère du χ2 (respectivement du gain d’information) choisit la variable X1 si χ2 (X1 ) > (respectivement si IG(X1 ) > IG(X2 )). Pour déterminer si les deux critères choisissent la même variable, il suffit donc d’étudier le signe du produit : χ2 (X2 ) (χ2 (X1 ) − χ2 (X2 ))(IG(X1 ) − IG(X2 )) Les deux critères seront en désaccord si cette quantité est négative. 3.2 3.2.1 Désaccords entre critères Zone de désaccord On va étudier la zone de désaccord en fonction des paramètres x1 et x2 , avec des marges données (a1 , a2 et b fixés). Le tracé correspond à la fonction : f : (x1 , x2 ) → (χ2 (X1 ) − χ2 (X2 ))(IG(X1 ) − IG(X2 )) Cette fonction est évaluée sur une grille régulière de 1000×1000 points pris dans [0, min(a1 , b)]× [0, min(a2 , b)] et la zone d’équation f (x1 , x2 ) ≤ 0 est affichée (en blanc) sur le tracé de la surface. L’aire de la zone de désaccord (l’ensemble des couples (x1 , x2 ) tels que f (x1 , x2 ) < 0) est évaluée en comptant le nombre de points où la fonction f prend des valeurs négatives. Elle est tracée en blanc sur les graphes suivants et sa valeur est indiquée en pourcentage. 12 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Cas a1 = a2 Première série d’expériences pour a1 = a2 = 0.1 et b compris entre 0.1 et 0.5 (par pas de 0.01) : figures 3.2 et 3.5. Observations : Tous les points de désaccord sont regroupé dans une zone délimitée en bas par une droite et en haut par une courbe (les équations de ces courbes sont étudiées en 3.2.3). Lorsque b augmente, la zone de désaccord se rapproche de la diagonale x2 = a1 − x1 . Lors de ce déplacement, l’aire de la zone commence par augmenter pour atteindre un maximum vers b = 0.35 puis diminue quand b devient très proche de 0.5. Les deux courbes qui limitent la zone de désaccord se rejoignent au point d’indépendance (x1 = x2 = ai b, illustré sur la figure 3.6). Remarque Les courbes précédentes sont assez régulière (la forme de la zone de désaccord est toujours la même, seule sa position et sa surface change). On peut donc les résumer seulement par la surface de la zone de désaccord sans perdre trop d’information. Fig. 3.1 – Indépendance pour a1 = a2 Cas a1 6= a2 Première série d’expériences pour a1 = 0.15 et a2 = 0.45 et b toujours compris entre 0.1 et 0.5 (par pas de 0.01) : figures 3.7 et 3.10. 13 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.2 – Zone de désaccord pour a1 = a2 = 0.1 (partie 1) 14 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.3 – Zone de désaccord pour a1 = a2 = 0.1 (partie 2) 15 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.4 – Zone de désaccord pour a1 = a2 = 0.1 (partie 3) 16 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.5 – Zone de désaccord pour a1 = a2 = 0.1 (partie 4) 17 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Observations : Ici les points de désaccord sont répartis en deux zones, une qui correspond à celle du cas précedent, et une autre orientée perpendiculairement à la première. Ces deux zones se croisent encore au point d’indépendance (xi = ai b, illustré sur la figure ??). Les valeurs sont deux fois plus élevées que dans le cas a1 = a2 : on se rend compte immédiatement que l’on dépasse largement la limite des 2% annoncés par [Raileanu et Stoffel, 2004], jusqu’à atteindre 5%. Fig. 3.6 – Indépendance pour a1 6= a2 3.2.2 Aire de la zone de désaccord Les expériences précédentes se sont faites pour a1 , a2 et b fixés. Pour faciliter l’exploration de cet espace de paramètres, on va s’intéresser uniquement à l’aire de la zone de désaccord, de façon à s’abstraire des variations de x1 et de x2 . La remarque faite plus haut sur la régularité des courbes justifie ce choix : connaı̂tre seulement la valeur de l’aire nous donne une idée assez bonne de la courbe de départ. On trace donc la surface : g : (a1 , a2 ) → aire{(x1 , x2 )|f (x1 , x2 ) < 0} Cette fonction est évaluée sur une grille régulière de 100 × 100 points de [0.1, 0.5] × [0.1, 0.5] avec b compris entre 0.1 et 0.5, par pas de 0.01. L’aire est estimée en comptant de le nombre de points où la courbe prend des valeurs négatives sur la surface [0.1, min(a1 , b)] × [0.1, min(a2 , b)] (toujours échantillonnée sur une grille régulière de 1000 × 1000 points) et est donnée en pourcentage de cette surface. 18 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.7 – Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 1) 19 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.8 – Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 2) 20 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.9 – Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 3) 21 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.10 – Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 4) 22 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Puisque [Raileanu et Stoffel, 2004] affirme qu’il n’y a jamais plus de 2% de cas de divergence, on ne devrait observer aucune valeur supérieure à 2% dans les graphiques qui suivent. Pour mieux voir ce qui se passe, la courbe d’équation aire(a1 , a2 ) est tracée en blanc. TODO enlever les Narea et les Ndiff Observations : Les points où l’aire dépasse 2% ne sont pas du tout isolés, en fait seule la zone proche de la diagonale a1 = a2 possède des valeurs inférieures à 2%. Quand on se rapproche de b = 0.5, toutes les aires tendent vers des valeurs faibles (inférieurs à 2%), ce qui rejoint l’observation faite en 3.2.1. 3.2.3 Étude formelle On s’intéresse à la frontière de la zone de désaccord, c’est à dire, aux points (x1 , x2 ) tels que : (χ2 (X1 ) − χ2 (X1 ))(IG(X1 ) − IG(X2 )) = 0 Il faut donc résoudre les deux équations suivantes : χ2 (X1 ) − χ2 (X1 ) = 0 (3.1) IG(X1 ) − IG(X2 ) = 0 (3.2) et Équation 3.1 C’est une équation facile, et Maple nous donne directement les solutions suivantes : Cas a1 = a2 = a x2 = 2 ab − x1 ⇔ x1 − ab = − (x2 − ab) et x2 = x1 La première équation correspond à la droite qui apparaı̂t sur les figures. Les deux variables s’éloignent de l’indépendance de la même manière, mais en sens opposé. La deuxième, à la zone où les deux variables sont strictement équivalentes : croisées avec Y, elles donnent les mêmes tableaux de contingence. Cas a1 6= a2 x2 = −a2 2 b2 a1 − a1 ba2 + a2 ba1 2 + a1 2 b2 a2 2 + q a2 (−1 + a2 ) a1 (a1 − 1) (b2 a1 a2 + a1 b + a2 b + 1) (−x1 + a1 b)2 a1 (−a2 b − 1 + a1 + a1 ba2 ) x2 = 23 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.11 – Aire de la zone de désaccord en fonction de a1 et a2 (partie 1) 24 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.12 – Aire de la zone de désaccord en fonction de a1 et a2 (partie 2) 25 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION −a2 2 b2 a1 2 − a1 ba2 + a2 ba1 + a1 2 b2 a2 2 − q a2 (−1 + a2 ) a1 (a1 − 1) (b2 a1 a2 + a1 b + a2 b + 1) (−x1 + a1 b)2 a1 (−a2 b − 1 + a1 + a1 ba2 ) Ici, les deux solutions sont des frontières des deux zones d’inversion qu’on remarque sur les figures Équation 3.2 Ce cas est beaucoup plus compliqué à résoudre de façon exacte, Maple n’obtient rien d’exploitable. Une possibilité est d’utiliser un développement limité et de chercher une approximation de la solution. On va faire le développement limité au point d’indépendance : xind = ab (figure 3.6). À l’ordre 3, on obtient les solutions suivantes. x2 = x1 On retrouve la droite x2 = x1 : une annulation, mais sans zone d’inversion. L’autre solution est inexploitable car trop compliquée et manquant de précision (c’est une droite). Dès l’ordre 4, on obtient une formule extrêmement longue, totalement inexploitable et dont l’énoncé ici prendrait plusieurs pages. 3.3 Cas discret TODO rajouter des titres sur les axes 3.3.1 Présentation Toutes les expériences précédentes supposent qu’on dispose d’une quantité infinie d’échantillons et que donc les grandeurs étudiées varient continuement. Pour étudier la validité de cette hy26 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION pothèse, nous avons tracés la courbe de l’aire de la zone de désaccord (exprimée en pourcentage de la surface totale) en fonction du nombre d’échantillons de la base (pour a1 , a2 et b fixés). TODO dessin courbes de désaccord avec grille pour montrer qu’on peut ne pas tomber dans la zone blanche Remarque Les valeurs représentées sur les courbes correspondent à l’aire des zones tracées en blanc sur les courbes des parties 3.2.1 et 3.2.2. Il y a eu trois séries d’expériences, pour des plages de nombre d’échantillons différentes : – l’étude la plus large : des bases de 1000 à 10000 échantillons (par pas de 100). On part de bases assez petites à des bases très grosses ; – une étude plus fine pour de petites bases : entre 100 et 1000 échantillons (par pas de 10) ; – enfin, une étude sur les mêmes tailles de bases sur Raileanu : entre 50 et 200 échantillons. Ce qui correspond à des bases vraiment très petites. Paramètres Puisqu’on manipule désormais des nombres d’échantillons plutôt que des fréquences relatives, les paramètres devraient être des nombres d’échantillons. Cependant, comme nous allons faire varier le nombre d’échantillons total, il est nécessaire de continuer à utiliser des fréquences relatives qui seront ensuite multipliées par le nombre d’échantillon. Pour chacune des séries d’expériences, les valeurs utilisées sont les suivantes : – b varie entre 0.1 et 0.4 par pas de 0.1, – a1 varie entre 0.1 et 0.4 par pas de 0.05, – a2 varie entre 0.1 et 0.4 par pas de 0.05. 3.3.2 Observations Entre 1000 et 10000 échantillons La figure 3.14 est un exemple assez représentatif des courbes qu’on obtient : la plupart ont une allure en 1 − e−x (figure 3.15). La courbe converge assez rapidement vers une asymptote qui correspond à la valeur obtenue avec l’approximation continue. Dans les pires cas, l’asymptote est pratiquement atteinte à partir de 4000 échantillons mais en général, celle-ci est atteinte dès 2000 échantillons. En fait, de rares courbes nous indiquent que l’allure en 1 − e−x est trompeuse et n’est dû qu’au pas choisi pour l’échantillonnage (100 échantillons ici) : on voit nettement des oscillations sur la figure 3.16. La série d’expérience, concentrée sur la fenêtre [100, 1000] avec un pas de 10 échantillons va nous permettre de confirmer cette observation. Comme on l’avait vu lors des expériences 3.2.1, l’ordonnée de l’asymptote n’est absolument pas bornée par 2%. Entre 100 et 1000 échantillons On voit maintenant que les courbes de cette série d’expériences (par exemple 3.17) ont une allure en e−x sin(x) (figure ??). De plus la période est très inférieure aux 100 échantillons choisis précédemment, ce qui explique ce que ce phénomène soit passé pratiquement inaperçu dans les expériences précédentes. Non seulement, l’asymptote ne passe pas aux 2%, mais les oscillations observées contredisent l’idée qu’il n’y jamais plus de 2% de désaccord. 27 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.13 – Aire de la zone de désaccord en fonction de a1 et a2 (partie 3) Fig. 3.14 – Entre 1000 et 10000 échantillons, pour b = 0.4, a1 = 0.15, a2 = 0.3 28 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.15 – Allure des courbes entre 1000 et 10000 échantillons Entre 50 et 200 échantillons C’est la série d’expériences la plus intéressantes pour réaliser une comparaison avec les résultats de [Raileanu et Stoffel, 2004] et [Raileanu, 2002] (pas plus de 2% de désaccord sur toutes les bases entre 50 et 200 échantillons). Ici, nous n’avons bien sûr pas exploré de façon exhaustive toutes les bases possibles, mais nous avons réalisé un échantillonnage assez représentatif de la situation. La figure [?] nous montre un exemple de cas où la fameuse valeur des 2% n’intervient pas du tout : des oscillations centrées autour de 4% et qui semblent confinées sur une bande entre 3 et 4%. Toutes les courbes ne sont pas centrées sur la même valeur mais nous ne voyons toujours pas de justification à cette borne des 2% évoquée par Raileanu. 3.3.3 Conclusion Encore une fois, nous n’avons trouvé aucun argument qui permette d’étayer la thèse de Raileanu. Par contre, le phénomène des oscillations est une découverte inédite. Même si les études expérimentales de [Mingers, 1989] et [Buntine et Niblett, 1992] ont montrées que le choix du critère était en pratique peu important, il est possible que ce choix est une influence dans les système d’apprentissage où l’on réduit la quantité de données utilisées pour la construction de l’arbre, de façon à accélérer la phase d’apprentissage ([Chauchat et Rakotomalala, 1999]. En pratique, on passe de quelques milliers d’individus à quelques centaines (3.20), soit une transition entre le régime stationnaire vu sur la courbe 3.14 et le régime transitoire avec les oscillations vues sur la courbe de la courbe 3.17. 3.4 3.4.1 Modélisation Présentation L’échantillonnage est une étape qui intervient systématiquement en apprentissage : que ce soit au moment de passer de la distribution réelle à la distribution observée, utilisable pour l’apprentissage, au moment de passer des données observées aux données utilisées pour apprendre le modèle (puisque qu’on en retire une partie pour la phase de validation) ou au moment de passer de la base d’apprentissage complète à une base de petite taille (pour réduire la durée de l’apprentissage, en espérant que la qualité du modèle ainsi construit sera la même que celle obtenue avec le modèle complet). 29 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.16 – Entre 1000 et 10000 échantillons, pour b = 0.1, a1 = 0.15, a2 = 0.3 Fig. 3.17 – Entre 10 et 1000 échantillons, pour b = 0.4, a1 = 0.35, a2 = 0.25 30 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.18 – Allure des courbes entre 100 et 1000 échantillons L’étude suivante peut s’appliquer à tous ces cas : on dispose d’une distribution de départ pour laquelle on fait l’hypothèse que les deux variables sont équivalente et on aimerait déterminer la probabilité que les deux critères ne choisissent pas la même variable. 3.4.2 Observations On suppose que la distribution complète est décrite par les tables de contingence suivantes : – Pour X1 X1 0 1 0 X1 B − X1 B Y 1 A1 − X1 N − A1 − B + X1 N − B A1 N − A1 N – et pour X2 X2 Y 0 1 0 1 X2 B − X2 B A2 − X2 N − A2 − B + X2 N − B A2 N − A2 N Parmi ces N éléments, on fait un tirage aléatoire de n observations, on obtient alors la distribution décrite en 3.1.2. 3.4.3 Loi hypergéométrique La probabilité d’avoir b échantillons avec Y = 0 suit une loi hypergéométrique de paramètres B (en effet, on tire sans remise n échantillons, parmi N au total, et une fraction N d’entre eux est telle que Y = 0). Celle d’avoir a1 (respectivement a2 ) échantillons avec X1 = 0 (respectivement X2 = 0) suit une loi HG de paramètres (n, A1/N , N ) (respectivement (n, A2/N , N )). Enfin celle d’avoir x1 (respectivement x2 ) échantillons avec X1 = 0 et Y = 0 (respectivement X2 = 0 et Y = 0) suit une loi HG de paramètres (n, X1/N , N ) (respectivement (n, X2/N , N )). (n, B/N , N ) 31 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION On suppose que les deux variables X1 et X2 sont équivalentes (donc que X1 = X2 et que A1 = A2). On se demande quelle est alors la probabilité d’avoir une inversion lors du calcul du χ2 et du gain d’informations sur les observations. 3.4.4 Calcul En se limitant au cas le plus simple, on va supposer dans un premier temps que les marges des distributions échantillonnées sont égales pour les deux variables et donc que a1 = a2 . Une condition suffisante pour que les deux critères choisissent la même variable est donc que x1 = x2 . Dans ce cas, la probabilité de ne pas obtenir d’inversion est la probabilité que les deux lois hyper-géométriques décrivant x1 et x2 prennent la même valeur. C’est un calcul que nous n’avons pas réalisé pour le moment et qui est probablement délicat puisque nous n’avons pas trouvé de référence à ce sujet. 32 CHAPITRE 3. COMPARAISON ENTRE χ2 ET ET GAIN D’INFORMATION Fig. 3.19 – Entre 50 et 200, pour b = 0.4, a1 = 0.1, a2 = 0.4 Données réelles Données observées 10 000 éch. Données d’apprentissage ~10 000 éch. Fig. 3.20 – Processus d’échantillonnage des données 33 Données échantillonnées ~100 éch. Conclusion Surprises – Deux zones de désaccord si a1 6= a2 – L’article de Raileanu n’est pas très intéressant même s’il est beaucoup cité – Oscillations dans le cas discret Perspectives – Cas discret et échantillonnage – Probabilité d’être en désaccord sachant que les deux variables sont équivalentes TODO rédiger Remerciements : 34 Bibliographie [Benzécri, 1982] Benzécri, J.-P. (1982). L’analyse des données. [Breiman, 1984] Breiman, L. (1984). Hall/CRC. Classification and Regression Trees. Chapman & [Breiman, 2001] Breiman, L. (2001). Random forests. In Machine Learning, pages 5–32. [Buntine et Niblett, 1992] Buntine, W. et Niblett, T. (1992). A further comparison of splitting rules for decision-tree induction. Machine Learning, 8(1):75–85. [Chauchat et Rakotomalala, 1999] Chauchat, J. et Rakotomalala, R. (1999). Eléments statistiques pour déterminer la taille des échantillons dans la construction des graphes d’induction. In SFC99 Nancy. [Grabmeier et Lambe, 2007] Grabmeier, J. et Lambe, L. (2007). Decision trees for binary classification variables grow equally with the Gini impurity measure and Pearson’s chi-square test. International Journal of Business Intelligence and Data Mining, 2(2):213–226. [Kass, 1980] Kass, G. V. (1980). An exploratory technique for investigating large quantities of categorical data. Journal of Applied Statistics, 29(2):119–127. [Mingers, 1989] Mingers, J. (1989). An empirical comparison of selection measures for decision-tree induction. Machine Learning, 3(4):319–342. [Morgan et Sonquist, 1963] Morgan, J. et Sonquist, J. (1963). Problems in the analysis of survey data, and a proposal. Journal of the American Statistical Association. [Quinlan, 1986] Quinlan, J. R. (1986). Induction of decision trees. Mach. Learn., 1(1):81–106. [Quinlan, 1993] Quinlan, J. R. (1993). C4.5 : programs for machine learning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. [Raileanu, 2002] Raileanu, L. (2002). Formalization and comparison of split criteria for decision trees. Neuchâtel. [Raileanu et Stoffel, 2004] Raileanu, L. et Stoffel, K. (2004). Theoretical comparison between the gini index and information gain criteria. Annals of Mathematics and Artificial Intelligence, 41(1):77–93. [Rakotomala, 2008] Rakotomala, R. (2008). Arbres de décisions - introduction. Université Lyon 2 — Cours de Data Mining. [Rakotomalala, 2005] Rakotomalala, R. (2005). Arbres de décision. MODULAD. 35 Table des figures 1.1 Exemple d’arbre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 La disjonction de cas de [Raileanu, 2002] . . . . . . . . . . . . . . . . . . . . . . . 10 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 Indépendance pour a1 = a2 . . . . . . . . . . . . . . . . . . . . . . Zone de désaccord pour a1 = a2 = 0.1 (partie 1) . . . . . . . . . . . Zone de désaccord pour a1 = a2 = 0.1 (partie 2) . . . . . . . . . . . Zone de désaccord pour a1 = a2 = 0.1 (partie 3) . . . . . . . . . . . Zone de désaccord pour a1 = a2 = 0.1 (partie 4) . . . . . . . . . . . Indépendance pour a1 6= a2 . . . . . . . . . . . . . . . . . . . . . . Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 1) . . . . . . Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 2) . . . . . . Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 3) . . . . . . Zone de désaccord pour a1 = 0.15 et a2 = 0.35 (partie 4) . . . . . . Aire de la zone de désaccord en fonction de a1 et a2 (partie 1) . . . Aire de la zone de désaccord en fonction de a1 et a2 (partie 2) . . . Aire de la zone de désaccord en fonction de a1 et a2 (partie 3) . . . Entre 1000 et 10000 échantillons, pour b = 0.4, a1 = 0.15, a2 = 0.3 Allure des courbes entre 1000 et 10000 échantillons . . . . . . . . . Entre 1000 et 10000 échantillons, pour b = 0.1, a1 = 0.15, a2 = 0.3 Entre 10 et 1000 échantillons, pour b = 0.4, a1 = 0.35, a2 = 0.25 . Allure des courbes entre 100 et 1000 échantillons . . . . . . . . . . Entre 50 et 200, pour b = 0.4, a1 = 0.1, a2 = 0.4 . . . . . . . . . . Processus d’échantillonnage des données . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 13 14 15 16 17 18 19 20 21 22 24 25 28 28 29 30 30 31 33 33