• Aucun résultat trouvé

Le classifieur « Evolve »

4.3 Création de nouvelles règles

L’objectif de l’algorithme de création de règles est de détecter l’apparition de nouveaux motifs dans les données. Il est au minimum nécessaire de créer un prototype par classe pour garantir des performances de reconnaissance correctes. Certaines classes complexes, ou avec beaucoup de variance intra-classe, peuvent cependant nécessiter la création de plusieurs prototypes pour cette même classe, afin d’obtenir de bonnes performances de reconnaissance. Les systèmes d’inférence floue utilisent donc des algorithmes de regroupe-ment (clustering) incréregroupe-mental pour détecter le nombre de motifs dans le flux de données et créer les prototypes associés.

Le principe des algorithmes de regroupement est de rassembler les objets similaires dans des groupes, en minimisant la variance intra-groupe et en maximisant la variance inter-groupe, comme présenté en section 1.4.3. Dans le cadre de la création de règles dans les systèmes d’inférence floue évolutifs, ce regroupement doit être effectué en-ligne. Il existe de nombreux algorithmes de regroupement pour flux de données [Nguyen et al., 2015], avec différentes caractéristiques.

Dans Evolve, la création de nouveaux prototypes, et donc de nouvelles règles, est dé-clenchée par la méthode de regroupement incrémental eClustering, qui est basée sur une estimation récursive de la densité. Cependant, il existe aussi d’autres types de méthodes de regroupement incrémental [Silva et al., 2013] pouvant aussi être utilisées :

— les méthodes basées sur la densité ; — les méthodes basées sur la distance ; — les algorithmes basés sur des graphes ; — les réseaux auto-organisés.

4.3.1 Regroupement basé sur la densité

Il existe différentes méthodes de regroupement incrémental basées sur une estimation de la densité, comme eClustering par exemple.

Dans Evolve, de nouvelles règles, avec les prototypes et les conclusions associés, sont créées lorsque cela est détecté comme nécessaire par l’algorithme de regroupement incré-mental eClustering [Angelov and Filev, 2004].

eClustering eClustering est basé sur une estimation récursive de la densité.

Quand une nouvelle donnée x(t) ∈ Rn arrive à l’instant t, son potentiel P (x(t)) est calculé de la manière suivante :

P (x(t)) = t − 1

(t − 1) · α(t) + γ(t) − 2 · ζ(t) + t − 1 (4.14) Où n est le nombre de caractéristiques des données et :

α(t) =

n

X

j=1

Chapitre 4. Le classifieur « Evolve » 73 γ(t) = γ(t − 1) + α(t − 1), γ(1) = 0 (4.16) ζ(t) = n X j=1 xj(t) · ηj(t) (4.17) ηj(t) = ηj(t − 1) + xj(t − 1), ηj(1) = 0 (4.18) Lorsque le potentiel d’une donnée est supérieur au seuil de création screation, un nouveau prototype est créé à cet emplacement.

Dans eClustering, le seuil de création de nouveaux prototypes est égal au plus grand potentiel parmi les prototypes C(i) existants (1 ≤ i ≤ r, avec r le nombre de règles) :

screation = max

i=1..rP (C(r)) (4.19) Lorsqu’une donnée ne déclenche pas de création de prototype, les potentiels de tous les prototypes existants C(i) (de centre µi) sont mis à jour récursivement à l’instant t :

P (C(i)) = (t − 1) · P (C (i)) t − 2 + P (C(i)) + P (C(i)) ·Pn j=1i− x · (t − 1)k2 j (4.20)

4.3.2 Regroupement basé sur la distance

Evolving Clustering Method (ECM) ECM [Kasabov and Song, 2002] est un algo-rithme de clustering en-ligne basé sur un seuil de distance. Il permet de partitionner dy-namiquement un flux de données, en estimant automatiquement le nombre de groupes, et en mettant à jour leur centre et leur rayon. L’algorithme est basé sur un seuil de distance, qui est passé en paramètre.

Lors de l’arrivée d’une nouvelle donnée, les distances à tous les centres des groupes sont calculées. Si une distance à un centre est inférieure au rayon du groupe correspondant, autrement dit si une donnée arrive dans un groupe existant, alors l’algorithme ne fait rien. Si aucune distance n’est inférieure au rayon correspondant, le groupe le plus proche est modifié si le seuil de distance n’est pas dépassé. Si ce seuil est dépassé, alors un nouveau groupe est créé.

La distance utilisée par ECM lors de son utilisation avec EFuNN (Evolving Fuzzy Neural Network) est la distance Euclidienne. Il est cependant tout à fait possible d’utiliser cet algorithme avec une autre mesure de distance, comme la distance de Mahalanobis par exemple.

Le seuil de distance a une grande influence sur le nombre de groupes créés par l’algo-rithme. Un seuil élevé va produire de nombreuses catégories très précises, alors qu’un seuil bas va engendrer moins de catégories mais qui seront plus générales. La calibration de ce seuil peut être réalisée sur une base d’apprentissage, mais son estimation a priori dans le cas d’un algorithme de regroupement incrémental est complexe.

4.3.3 Réseaux auto-organisés

La majorité des réseaux auto-organisés (voir section 3.4.3) peuvent également être utilisés comme méthode de regroupement incrémental. Nous présentons ici des méthodes de quantification vectorielle et les réseaux ART.

Quantification vectorielle La quantification vectorielle (Vector Quantization) est à l’origine une technique de traitement du signal permettant de compresser des données [Ko-honen, 1997]. L’idée est de réduire un espace vectoriel multidimensionnel vers un sous-espace en utilisant un dictionnaire. Le dictionnaire obtenu est un ensemble de prototypes qui forment une partition de l’espace. Par contre, le nombre de prototypes est fixé à priori. La quantification vectorielle est équivalente à l’algorithme des C-moyennes incré-mentales [Chakraborty and Nagwani, 2011].

Les cartes auto-organisatrices, qui sont une extension de la quantification vectorielle, prennent également en compte le voisinage entre le neurone le plus proche et les autres.

Réseaux ART (Adaptive Reasonance Theory) Les réseaux ART sont composés d’une couche de neurones de comparaison et d’une couche de neurones de reconnaissance, d’un seuil de vigilance et d’un module de remise à zéro [Carpenter et al., 1991a]. La couche de comparaison prend en entrée le vecteur des caractéristiques d’une donnée et le transfert au neurone lui correspondant le mieux dans la couche de reconnaissance, c’est-à-dire celui donc les valeurs sont les plus proches du vecteur en entrée. Chaque neurone émet un signal de corrélation négatif, en fonction de son adéquation avec le vecteur d’entrée, vers tous les autres neurones de la couche de reconnaissance. Une fois le vecteur d’entrée classifié, le module de remise à zéro compare la confiance de cette classification avec le seuil de vigilance. Si la confiance est suffisante, le vecteur d’entrée est attribué au neurone correspondant et celui-ci est ajusté en conséquence. Si la confiance est inférieure au seuil de vigilance, le module de remise à zéro désactive le neurone correspondant et prend le neurone actif le plus proche du vecteur d’entrée. Le processus continue ainsi jusqu’à trouver un neurone avec une confiance supérieure au seuil de vigilance. Si aucun neurone n’a une confiance supérieure à ce seuil, alors un nouveau neurone est créé à partir du vecteur d’entrée.

Le module de remise à zéro a le rôle d’un détecteur de nouveautés. Le seuil de vigi-lance a donc une grande importance sur les catégories obtenues, comme le seuil de distance pour l’algorithme de regroupement incrémental ECM. Ce seuil est le plus souvent estimé empiriquement, sur une base d’apprentissage, et reste ensuite fixé. Dans le cas d’un fonc-tionnement en-ligne, l’estimation d’un seuil fixe est relativement complexe comme nous le détaillons ci-dessous.

Le principal avantage des réseaux ART est le très bon compromis plasticité/stabilité qu’ils permettent d’obtenir. Ils sont capables de s’adapter et d’intégrer de la nouveauté (plasticité), sans pour autant oublier ou détériorer la connaissance existante (stabilité).

Chapitre 4. Le classifieur « Evolve » 75

4.3.4 Algorithmes basés sur des graphes

Il existe plusieurs algorithmes de regroupement basés sur des graphes comme Chame-leon [Karypis et al., 1999], MOSAIC [Choo et al., 2007] et RepStream [Lühr and Lazarescu, 2008]. Nous détaillons ce dernier ci-dessous.

RepStream RepStream [Lühr and Lazarescu, 2008] est un algorithme de regroupement incrémental basé sur l’utilisation de deux graphes. Le premier graphe contient les centroïdes qui ont été retenus par l’algorithme jusque-là, et forme donc la partition obtenue de l’espace d’entrée. Le deuxième graphe contient les dernières données présentées à l’algorithme, et contient les différentes distances entre ces données. Ce deuxième graphe sert de mémoire à court terme pour prendre la décision de mise à jour du premier graphe à l’arrivée d’une nouvelle donnée. Cette mémoire permet de réduire nettement la sensibilité aux données aberrantes (outliers) en attendant que la création d’un nouveau groupe se confirme, plutôt que de le créer dès la première donnée différente.

4.3.5 Discussion

Le principal inconvénient des méthodes de regroupement incrémental est qu’elles néces-sitent presque toutes un seuil pour la création de nouveaux groupes. Ce seuil est fortement dépendant du problème, et sa valeur optimale dépend de l’espace des caractéristiques, et des données d’utilisation. L’optimisation et la validation de ce seuil est difficilement réali-sable lorsque l’apprentissage est réalisé en-ligne, surtout avec l’utilisateur dans la boucle. Une mauvaise valeur de ce seuil entraine soit un sous-apprentissage, avec le regroupement de plusieurs groupes dans le même, soit un sur-apprentissage, avec la division de groupes un plusieurs. Dans les deux cas, un nombre de groupes non adapté engendre un diminution des performances du système d’inférence floue.

Un autre problème récurrent des algorithmes de regroupement incrémental est la sen-sibilité au bruit et aux données aberrantes (outliers). Des groupes sans fondement peuvent facilement être créés par des données bruitées qui sont suffisamment loin des centres exis-tants.

Dans le cas des algorithmes incrémentaux, le principal moyen de réduire la sensibilité au bruit est d’avoir un algorithme avec une certaine mémoire à court terme, comme par exemple le second graphe de RepStream. Cette mémoire permet de modéliser la distribution des dernières données, et de ne déclencher la création d’un nouveau groupe que lorsqu’il est confirmé par plusieurs données.