[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