Fouille visuelle et classification de données
par nuage d’insectes volants
Nicolas Monmarché Christiane Guinot Gilles Venturini
Laboratoire d’Informatique de l’Université de Tours,
École Polytechnique de l’Université de Tours - Département Informatique,
64, Avenue Jean Portalis, F-37200 Tours.
{monmarche,venturini}@univ-tours.fr
CE.R.I.E.S.
20 rue Victor Noir, F-92521 Neuilly-sur-Seine Cedex.
christiane.guinot@ceries-lab.com
RÉSUMÉ. Nous présentons dans cet article un nouvel algorithme biomimétique permettant de
créer des groupes au sein de données et de les visualiser dynamiquement. Cet algorithme
s’inspire des insectes volants se déplaçant en nuage en créant des mouvements complexes à
partir de règles locales simples. Chaque insecte représente une donnée. Le déplacement des
insectes vise à créer des groupes de données homogènes se déplaçant ensemble dans un espace
à deux dimensions. Les groupes créés et visualisés en temps réel informent l’expert du domaine
qui a fourni les données sur leur structuration en classe, par exemple, le nombre de classes
plausible, le regroupement de données similaires, et les données isolées représentant des cas
« à part ». Nous présentons des extensions de l’algorithme comme la diminution du temps de
calcul ou l’utilisation d’un affichage 3D. L’approche est étudiée sur des données artificielles et
réelles. Un algorithme heuristique permet d’évaluer la pertinence des partitionnements trouvés.
ABSTRACT. We present in this paper a new bio-inspired algorithm that dynamically creates and
visualizes groups of data. This algorithm uses the concepts of flying insects that move together
in complex manner with simple local rules. Each insect represents one data. The insect moves
aim at creating homogeneous groups of data that evolve together in a 2D environment. These
created groups are visualized in real time and help the domain expert to understand the un-
derlying class structure of the data set, like for instance a realistic number of classes, clusters
of similar data, isolated data. We present several extensions of this algorithm like reducing its
computational time and the use of a 3D display. This algorithm has been tested on artificial and
real-world data. A heuristic algorithm can be used to evaluate the relevance of the obtained
classification.
MOTS-CLÉS : classification non supervisée, fouille visuelle de données, visualisation de données,
nuage d’insectes, intelligence en essaim
KEYWORDS: unsupervised clustering, visual data mining, data visualization, flying insects, swarm
intelligence
RSTI-RIA-ECA – 16/2002. Optimisation pour ECA, pages 729 à 752
730 RSTI-RIA-ECA – 16/2002. Optimisation pour ECA
1. Introduction
De nombreux algorithmes de classification utilisent des principes inspirés de la
biologie. Par exemple, les algorithmes génétiques ont été appliqués à la classification
en utilisant différents codages [CUC 93, LAS 91, JON 91, FAL 94]. Un individu code
alors le regroupementdes donnéesenclasses, et cetindividu évolue selonles principes
de sélection, de recombinaison et de mutation modélisés à partir de la théorie du Dar-
winisme. De même, les algorithmes à base de population de fourmis artificielles ont
modélisé la manière dont ces insectes sont capables d’organiser des objets en groupes
selon leur similarité [LUM 94, KUN 97, MON 99]. Ils résolvent ainsi un problème de
partitionnement en utilisant des heuristiques particulières qui diffèrent notamment des
opérateurs de croisement et de mutation utilisés dans les approches évolutionnaires.
L’intérêt de ces algorithmes biomimétiques est qu’ils effectuent un regroupement de
manière distribuée et donc sans contrôle central. Ils ne nécessitent généralement pas
de classification initiale des données ni même d’un nombre de classes connu a priori,
comme c’est le cas par exemple pour l’algorithme des centres mobiles (k-means). Ils
peuvent généralement traiter aussi bien des données numériques que symboliques, et
posséder un fonctionnement incrémental. Il existe encore d’autres algorithmes inspi-
rés de systèmes biologiques mais qui n’ont pas encore été appliqués et testés sur des
problèmes de classification. On peut citer par exemple les réseaux immunitaires, les
automates cellulaires ou encore les nuages d’animaux volants ou nageants.
Cette étude se concentre sur ce dernier modèle qui s’inspire du comportement
observé chez certains animaux ayant un comportement social pour le déplacement.
Chaque individu réagit à des règles, souvent identiques à toute la population, qui ne
prennent en compte que le voisinage immédiat de l’individu qui ne peut pas perce-
voir l’ensemble du nuage. À partir du déplacement local de l’individu, des formes
complexes pour le nuage d’animaux vont pouvoir apparaître, formes qui dépassent le
cadre de la règle locale. Cette propriété d’émergence est recherchéedans de nombreux
problèmes d’informatique puisqu’elle va notamment permettre à la fois une paralléli-
sation décentralisée et massive de l’algorithme avec des comportements élémentaires
simples tout en obtenant globalement un résultat complexe. Dans le domaine de la
classification, la manière dont les principes des nuages d’animaux volants vont être
utilisés peut être décrite intuitivement de la façon suivante : chaque individu va re-
présenter une donnée. Les individus vont être placés dans un environnement 2D ou
3D et sont caractérisés par trois éléments : leurs coordonnées dans l’environnement,
leurs vecteurs vitesse et des règles comportementales pour gérer les déplacements.
Ces règles sont communes à tous les individus et utilisent le voisinage local d’un
insecte pour décider de changer le vecteur vitesse. Elles vont prendre en compte la
similarité des données portées par les insectes afin de former des nuages de données
homogènes. Autrement dit, la proximité des insectes, à la fois en termes de position
et de vitesse dans l’espace des déplacements 2D ou 3D, va correspondre à la simila-
rité des données dans leur espace de description multidimensionnel. Non seulement
ce type d’algorithmes va pouvoir classer efficacement, comme mentionné précédem-
ment, des données numériques ou symboliques sans connaissances initiales, mais en
Classification par des insectes 731
plus, permettre à l’expert du domaine d’obtenir une visualisation dynamique dans la-
quelle les distances entre données auront un sens du point de vue de la représentation
des données. Les méthodes que nous allons étudier peuvent donc aussi bien être consi-
dérées du pointde vuede la classification quede la visualisationde donnéesou fouille
visuelle de données (« visual data mining ») [CLE 93, KEI 96, WON 97].
La suite de cet article est organisée de la façon suivante : la section 2 présente
le modèle biologique sous-jacent aux algorithmes à base de nuages d’individus. La
section 3 introduit l’algorithme étudié avec la description détaillée de la règle locale
définissant à elle seule le comportement du système. La section 4 décrit les visualisa-
tions des groupes obtenussur des données artificielles et réelles. La section 5 présente
les extensions que nous avons réalisées en termes de diminution du temps de calcul
et d’augmentation de l’interactivité avec l’utilisateur. Elle présente également une ap-
plication réelle sur des données du CE.R.I.E.S. La section 6 présente des approches
ayant des points communs avec celle développée. Enfin, la section 7 présente les pers-
pectives qui découlent de ce travail.
2. Le modèle biologique
Dans la nature, on observe par exemple que des nuages d’oiseaux peuvent se for-
mer et évoluer de manière très spectaculaire et utile pour les individus ayant ce com-
portement : l’effet de masse peut repousser des prédateurs éventuels ou alors certaines
configurations précises permettent d’économiser de l’énergie (exemple du vol des ca-
nards). Des comportements similaires se retrouvent dans la nage collective de cer-
taines espèces de poissons pour la chasse en groupe par exemple (banc de thons) où
l’essaim prend la forme d’un entonnoir ou pour échapper à un ennemi avec des mou-
vements d’explosion, ou encore dans le vol en groupe chez des insectes (criquets).
Enfin, le déplacement des poussins en train de picorer présente une forme simple de
mouvement auto-organisé qui leur permet de rester à une certaine distance les uns des
autres grâce aux signaux que constituent leurs pépiements. Dans la littérature sur la
biologie, de nombreuxarticles relatent de ce type de comportement collectifs pour les
déplacements [AOK 84, BRE 51, BRE 59, DAV 75, DAV 80, CAM 01].
En informatique les modélisations directement issues de ces comportements sont
caractérisées par une « intelligence en essaim » (« swarm intelligence ») [BON 99]
qui fait qu’un groupe d’entités plutôt simples et obéissant à des règles locales de co-
ordination pour leurs déplacements sont capables d’engendrer des comportements et
des mouvements globaux beaucoup plus complexes [BRO 87, REY 87].
Pour la classification, l’idée est de considérer que des individus représentent les
données à regrouper et qu’ils se déplacent suivant une règle de comportement local
telle que, après un certainnombre de déplacements,des groupes d’insectes homogènes
se forment en se déplaçant ensemble (voir figure 1). C’est le contexte dans lequel se
place notre étude et nous proposons une nouvelle méthode utilisant les déplacements
collectifs d’un nuage.
732 RSTI-RIA-ECA – 16/2002. Optimisation pour ECA
(a) (b)
Figure 1. Illustration de l’environnement dans lequel va se déplacer le nuage d’in-
sectes et du passage progressif de la situation initiale (a) où les insectes sont placés
aléatoirement et orientés dans des directions désordonnées à une organisation finale
(b) en groupes se déplaçant de manière cohérente
3. Principes des déplacements
3.1. Algorithme principal
Nous considérons un ensemble de données que l’on souhaite regrou-
per en classes. Nous ne faisons pas d’hypothèses particulières quant à l’espace de
représentation de ces données qui peuvent être aussi bien numériques que symbo-
liques et être codées en attribut-valeur ou en logique d’ordre 1. La seule condition
que nous imposons est l’existence d’une fonction de similarité dont les valeurs sont
comprises dans l’intervalle , la borne supérieure correspondant à deux données
complètement identiques. Pour deux données et , on note cette fonction de simi-
larité .
(1) Lire les données d’entrée
(2) Placer initialement les insectes de façon aléatoire dans l’environne-
ment 2D
(3) Calculer la distance idéale entre chaque couple d’insectes
(4) tantque itération NbItération faire
(5) Calculer un déplacement pour chacun des insectes en fonction
d’une règle locale
(6) Déplacer tous les insectes simultanément
(7) fintantque
(8) Construire éventuellement des classes à partir des regroupements d’in-
sectes et Donner ces classes en sortie
Figure 2. Algorithme décrivant le principe général
Classification par des insectes 733
Nous considérons une population de insectes où l’insecte représente la donnée
. Les insectes se déplacent dans un espace de dimension 2 comme représenté sur la
figure 1. Un insecte est caractérisé par ses coordonnéesréelles
ainsi que par un vecteur vitesse d’amplitude ( ) et de direction
normalisée ( ). On note par la distance euclidienne 2D entre deux
insectes et . L’algorithme principal (figure 2) fonctionne de la façon suivante : les
insectes sont placés initialement à une positionchoisie aléatoirement et avec une direc-
tion initiale aléatoire. Les distances idéales sont alors calculées pour chaquecouple
d’insectes (voirla section 3.2.1).Ensuite,au gré de leur déplacement,les insectes vont
se croiser et vont décidersuivant unerègle de comportementlocal de se rapprocher ou
de s’éloigner les uns des autres, d’aller ou non dans les mêmes directions. Cette règle
locale tend intuitivement vers deux buts : (1) établir une distance 2D entre insectes qui
soit représentative de la similarité des données qu’ils représentent, (2) déplacer dans
la même direction des insectes représentant des données similaires. À partir de cette
règle locale vont émerger des groupes d’insectes se déplaçant ensemble (voir figure 1)
et permettant de définir des regroupements dans les données.
3.2. Règle de comportement local
Le comportement d’un insecte est déterminé par une règle individuelle, identique
pour tous les insectes et décrite par l’algorithme de la figure 3. Cette règle calcule
pour un insecte donné un nouveau vecteur vitesse en fonction de sa position et de sa
vitesse actuelle et des autres insectes situés dans son voisinage. Pour un insecte , il
faut déterminer un voisinage correspondant à l’ensemble des autres insectes se
trouvant à une distance euclidienne 2D inférieure ou égale à (ligne 2 de
l’algorithme de la figure 3). Cette notion est prépondérante puisqu’elle définit le seuil
en dessous duquel un insecte peut en percevoir un autre et être influencé par celui-ci
et réciproquement. Deux cas peuvent se produire : s’il n’y a aucun insecte dans le
voisinage de , alors va se déplacer dans la même direction que précédemment
(ligne 5 de l’algorithme de la figure 3) avec l’amplitude fixée à (ligne 25).
Si des insectes sont présents dans le voisinagede , alors l’influence de ces insectes sur
peut être séparée en deux parties : d’une part le changement de direction du vecteur
vitesse, et d’autre part le changement de l’amplitude de ce vecteur. Ces points sont
détaillés dans les sections suivantes.
3.2.1. Changement de direction
Nous considérons dans un premier temps le cas où un seul insecte est présent
dans le voisinage de (lignes 7 à 19 de l’algorithme de la figure 3), puis nous générali-
serons dans un deuxième temps au cas de plusieurs insectes. L’influence de sur en
terme de direction de déplacement dépendd’une part de la valeur de la distance
par rapport à une distance idéale entre les deux insectes, notée , et d’autre part
de l’angle entre le vecteur direction de et celui de (notés et ).
1 / 24 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !