Classification directe et croisée sur les données continues

publicité
Classification directe et croisée sur les données continues
F.-X. Jollois*, M. Nadif**
* CRIP5
Université René Descartes Paris 5
45 rue des Saints Pères
75016 Paris, France
** LITA
Université de Metz
Île du Saulcy
75000 Metz, France
RÉSUMÉ. Alors que les méthodes usuelles de classification cherchent une partition soit sur l’ensemble des
instances, soit sur l’ensemble des attributs, il existe des méthodes de classification croisée et directe qui permettant
d’obtenir des blocs homogènes. Les méthodes de classification croisée atteignent cet objectif à partir d’une partition
des instances et une partition des attribut, recherchées simultanément. Les méthodes de classification directe
s'appliquent directement sur les données et permettent d'obtenir des blocs de données homogènes de toute taille,
ainsi que des hiérarchies des classes en lignes et en colonnes. Combinant les avantages des deux méthodes, nous
présentons ici une méthodologie permettant de travailler sur de grandes bases de données.
MOTS-CLÉS : Classification directe, Classification croisée..
1
Introduction
Lorsque le but d'une classification est d'obtenir une structure en blocs homogènes, nombre
d'utilisateurs appliquent des algorithmes de classification simple sur l’ensemble des instances et sur
l’ensemble des attributs séparément, les blocs résultent du croisement des deux partitions obtenues. Une
telle démarche ne permet pas d'expliquer la relation spécifique pouvant exister entre un groupe d'instances
et un groupe d'attributs. Ainsi, lorsque les données sont comparables, il est préférable d'appliquer des
algorithmes de classification croisée tel que l’algorithme Croeuc [GOV 83] qui cherche simultanément
une partition en lignes et une partition en colonnes. Les centres des blocs ainsi obtenus constituent une
matrice de taille réduite offrant un résumé des données. Une autre façon de résumer l’information consiste
à utiliser un algorithme de classification directe, comme Two-way splitting [HAR 75], qui cherche à
obtenir des blocs de données homogènes et de toute taille.
Malgré sa rapidité et son efficacité à traiter des tables de grande taille, l'algorithme Croeuc présente
un défaut majeur ; il nécessite la connaissance des nombres de classes en lignes et en colonnes. Par contre,
l'algorithme Two-way splitting s'affranchit de cette hypothèse et offre en plus une hiérarchie sur les
instances et les attributs. Mais sa complexité rend son utilisation impossible sur des tables de données de
grande taille. Nous présentons donc ici une combinaison de ces deux algorithmes afin de pallier les
inconvénients de chacun.
2
L’algorithme Croeuc
Dans la suite, la matrice des données est définie par x = { xij ; i ∈ I et j ∈ J}, où I est l'ensemble des
n instances (lignes, objets, observations), et J est l'ensemble des d attributs (colonnes, attributs). On
cherche à optimiser un critère W(z, w, g), où z = (z1,…,zs) est une partition de I en s classes, w = (w1,…,wm)
est une partition de J en m classes et g = ( gkl ) est une matrice s x m, qui peut être vue comme un résumé
de la matrice de données x. Une définition plus précise de ce résumé et du critère W dépendra de la nature
des données. La recherche des partitions optimales z et w est effectuée en utilisant un algorithme itératif.
Lorsque les données sont continues, en prenant la somme des distances euclidiennes au carré comme une
mesure de la déviation entre la matrice x, et la structure décrite par z, w et g, l’algorithme Croeuc consiste
à trouver une paire de partition (z, w) et le paramètre g correspondant, tel que le critère suivant soit
minimisé :
s
m
(
)
2
W (z, w, g ) = ∑∑ ∑ ∑ xij − g kl ,
k =1 l =1 i∈z k j∈wl
où g kl est le centre du bloc xkl . Il est facile de voir que pour z et w fixés, la valeur optimale de g kl
est donnée par la moyenne de tous les xij du bloc (k,ℓ). Les différentes étapes de Croeuc sont :
1. Les paramètres initiaux (z(0), w(0), g(0)) peuvent être choisis au hasard.
2. Calculer (z(q+1), w(q+1), g(q+1)) à partir de (z(q), w(q), g(q)) :
a. Calculer (z(q+1), w(q), g(q+0.5)) à partir de (z(q), w(q), g(q)).
b. Calculer (z(q+1), w(q+1), g(q+1)) à partir de (z(q+1), w(q), g(q+0.5)).
3. Répéter l'étape 2 jusqu'à la convergence
Dans les étapes 2(a) et 2(b), pour trouver z(q+1) et w(q+1) optimaux, nous cherchons à minimiser
∑ x
alternativement le critère en ligne W (z,g / w )=∑∑∑#w (u − g ) , avec u =
#w
s
m
l
i
l
k =1 i∈z k l =1
∑ x
colonne W (w ,g / z )=∑∑∑# z (v − g ) avec v =
#z
m
s
k
l =1 j∈wl k =1
j
k
l
k
2
j
k
i∈z k i
k
l 2
k
l
i
j∈wl i
j
, et le critère en
l
j
. Ici, # représente la cardinalité. L'étape 2(a)
est effectuée par l'application de l'algorithme k-means, utilisant la matrice n x m ( uil ). Alternativement,
l'étape 2(b) est obtenue par l'application de l'algorithme k-means utilisant cette fois-ci la matrice s x d
( vkj ). Ainsi, à la convergence, nous obtenons des blocs homogènes en réorganisant les lignes et les
colonnes selon les partitions z et w. De cette manière, chaque bloc (k,ℓ), défini par les éléments xij pour i
∈ zk et j ∈ wl , est caractérisé par gkl .
L'intérêt de cet algorithme a été mis en évidence par comparaison avec k-means appliqué
séparément sur les instances et les attributs [NAD 04]. Par sa simplicité et sa rapidité, cet algorithme peut
s'appliquer sur des données comparables de grande taille. Malheureusement, il requiert la connaissance du
nombre de classes en lignes et en colonnes.
3
L’algorithme Two-way splitting
Lorsque les données sont directement comparables d'un attribut à un autre, Hartigan [HAR 75]
propose un algorithme divisif, Two-way splitting, qui choisit à chaque étape entre une division de
l’ensemble des instances et une division de l’ensemble des attributs. Ce choix est basé sur la réduction au
maximum de l'hétérogénéité du groupe d'instances ou de variables divisé. Afin de respecter les contraintes
hiérarchiques imposées pour cet algorithme, les divisions effectuées à une étape ne sont jamais remises en
cause aux étapes suivantes. Cet algorithme ne nécessite pas de savoir à l'avance le nombre de blocs que
l'on veut obtenir. Il peut être décrit succinctement de la manière suivante :
1. Fixer un seuil minimum de variance T, et démarrer avec les instances dans une seule classe et les
attributs dans une seule classe.
2. Calculer les variances moyennes de chaque classe en lignes et de chaque classe en colonnes. Les
lignes et les colonnes ayant une variance inférieure à T ne sont pas prises en compte. Ainsi, une
classe en lignes ne contenant que des instances avec une variance inférieure à T ne sera plus
découpée. De même en colonnes.
3. Choisir la classe en lignes ou en colonnes qui a la plus grande variance.
4. Découper cette classe en deux en utilisant une variante de k-means, en ne retenant que les blocs où
la variance est supérieure à T.
5. Recommencer à partir de l'étape 2, jusqu'à ce que toutes les variances de chaque bloc soient
inférieures au seuil fixé par l'utilisateur.
Cet algorithme permet de mettre en évidence des structures plus fines que celles de Croeuc. Notons
que nous disposons de plus d'une hiérarchie en lignes et une hiérarchie en colonnes.
0.25
0.20
0.15
0.10
0.05
0
0.1
0.3
0.5
0.7
0.9
Figure 1 : Matrice initiale binaire (gris : 1, blanc : 0), variances moyennes pour chaque seuil et matrice
réordonnée selon les résultats de Two-way splitting avec le seuil 0.2.
Pour illustrer cet algorithme, nous l'avons appliqué sur des données binaires de taille nxd = 20x10.
Pour le choix du seui, nous avons testé les différentes valeurs de 0.1 à 1.0 avec un pas de 0.1. Les
moyennes des variances de chaque bloc sont reportées, pour chaque seuil, dans la figure 1. A partir de 0.3,
Two-way splitting ne sépare plus les données, et garde un seul bloc. C'est pourquoi nous avons choisi de
retenir un seuil de 0.2. Nous présentons la matrice réordonnée selon les blocs et les hiérarchies en lignes et
en colonnes fournies par Two-way splitting.
Malheureusement, cet algorithme nécessite le calcul à chaque étape d'un grand nombre de variances,
ce qui rend son utilisation sur des données de grande taille inadaptée. De plus, le choix du seuil n'est pas
automatique, et nécessite soit une connaissance préalable de celui-ci, soit un test de plusieurs valeurs
candidates.
4
Combinaison des algorithmes et illustration
Comme l'algorithme Two-way splitting est bien adapté lorsque les données sont comparables, il est
possible de le combiner avec un algorithme de type Croeuc. En effet, ce dernier propose une matrice
d'information réduite, contenant les moyennes de chaque bloc. Nous obtenons donc un tableau sur lequel
Two-way splitting peut parfaitement s'appliquer. De plus, grâce à cette combinaison, nous pouvons nous
affranchir du problème du nombre de classes pour Croeuc, en choisissant s et m assez grands. Ensuite,
nous pouvons appliquer Two-way splitting sur les centres obtenus et avoir ainsi une structure claire de la
matrice d'information (et donc des données de base).
Pour illustrer notre démarche, nous l'appliquons sur des données simulées de taille nxd = 5000x500,
suivant 4 classes en lignes et 3 classes en colonnes. Comme le critère optimisé par Croeuc est associé à un
modèle de mélange Gaussien croisé [GOV 03] ; les données de chaque bloc (k,ℓ) suivent une loi normale
de centre µkl (les centres sont présentés dans figure 2) et de variance σ 2 supposée égale dans tous les
blocs. Les proportions sont choisies égales (en lignes et en colonnes). Pour résumer la matrice de données,
nous avons choisi d’appliquer Croeuc en prenant s = 10 et m = 5. Il est bien sûr possible de choisir d'autres
nombres de classes, en fonction de la granularité désirée.
-1
Structure simulée
-1
-1
1
1
-1
1
1
1
1
1
-1
1
Matrice
simulée
5000 x 500
1
CROEUC
(s = 10,m = 5)
+
Two-way Splitting
(seuil = 1)
-1
1
-1
1
1
Figure 2 : Schéma de simulation (avec les moyennes des 4x3 gaussiennes, à gauche) et structure obtenue à
l'aide de Two-way splitting appliqué sur les centres donnés par Croeuc (à droite).
Appliqué avec un seuil de 1, Two-way splitting fournit un découpage en bloc approprié, et identique
à ceux fournis par les seuils inférieurs (0.1, 0.2, 0.3, …, 0.9). Nous avons donc décidé de garder ce seuil
de 1. Dans la figure 2, on voit très bien que la structure proposée par Two-way splitting est la même que
celle simulée.
5
Conclusion et Perspectives
Après avoir présenté un algorithme de classification croisée, Croeuc, nous avons présenté un
algorithme de classification directe, Two-way splitting. Profitant des avantages des deux méthodes, nous
avons proposé une méthodologie d'identification de blocs homogènes en appliquant Two-way splitting sur
la matrice résumée obtenue à l’aide de Croeuc. Les premiers résultats obtenus sont très encourageants et
nous persuadent de l'intérêt évident d'une telle démarche. Notons que celle-ci est applicable uniquement
dans le cas où les données sont comparables telles que les données de type biopuces. Actuellement, nous
testons cette méthode sur des données réelles.
6
Bibliographie
[GOV 83] GOVAERT G., Classification Croisé, Thèse d'Etat, Université de Paris 6, France, 1983.
[GOV 03] GOVAERT G., NADIF M., Clustering with Block Mixture Models, Pattern Recognition, 36,
463-473, 2003.
[HAR 75] HARTIGAN J., Direct Splitting, Chap. 14, 251-277. Dans Clustering Algorithms, John Wiley
& Sons, New York, 1975.
[NAD04] NADIF M., JOLLOIS F.-X., GOVAERT G., Block clustering for large continuous data sets,
AISTA 2004, Luxembourg, 15-18 novembre, 2004.
Téléchargement