• Aucun résultat trouvé

Classification Interactive : objectifs et méthodes

II. 2.2.2.2 Le système KBG

II.2.3 Les Réseaux de Neurones

Les Réseaux de Neurones (RN) sont un modèle de traitement de l’information qui imite le fonctionnement du cerveau. Ils sont composés d’un ensemble de neurones formels connecté entre eux. Ce sont les chercheurs Mc Culooth et Pitts qui ont défini le premier neurone formel en 1943, donnant ainsi naissance à un nouveau domaine de recherche : le connexionisme. Les RN ont un domaine d’application très large : identification et contrôle, apprentissage, optimisation, reconnaissance des formes, etc. Dans le cadre de ce mémoire, notre objectif n’est pas de faire une analyse détaillée d’un domaine aussi vaste que les problèmes de classification par RN, mais plus simplement de passer en revue les méthodes les plus connues et ou les plus utilisées. Les tâches de classification (au sens classifier) sont essentiellement traitées par des réseaux à base de prototypes (Amy 1996). A partir d’exemples (les objets à classifier) ces modèles mémorisent des prototypes qui représentent une classe. Les réseaux à prototype les plus connus sont sans doute les cartes de Kohonen (Kohonen 1989).

II.2.3.1 Les cartes de Kohonen

Le modèle de Kohonen est un réseau à deux couches : la couche d’entrée et la couche de sortie. Les exemples à classifier sont présentés sur la couche d’entrée. Chaque neurone de la couche d’entrée représente un attribut descriptif des exemples. Le nombre d’attribut est fixé une fois pour toutes. Les objets sont donc réguliers. Chaque neurone prend une valeur et une seule. Les attributs sont monovalués. Les neurones de la couche de sortie représentent les classes.

Exemple II. 4 Carte de Kohonen à une dimension

Considérons un problème de classification en trois classes c1, c2 et c3 sur des objets décrits par 5 attributs : a1, a2, a3, a4 et a5. L’état des neurones Ai de la couche d’entrée est défini par la valeur des attributs ai. Les neurones Cj de la couche de sortie représentent les classes. Les connexions entre les neurones Ai et Cj sont pondérées par les poids wij.

Couche d’entrée Couche de sortie

A2 A1 A3 A4 A5 C2 C1 C3 Connections wij Neurones Attributs a1 a2 a3 a4 a5 Exemples c1 c2 c3 Classes

En phase d’apprentissage, le réseau apprend en modifiant les poids des connections entre la couche d’entrée et la couche de sortie. A chaque neurone Cj, correspond un vecteur poids : (w1j, ... , wIj). Ce vecteur poids s’interprète comme un élément de l’espace des exemples. A la fin de l’apprentissage il représentera le prototype d’une classe d’exemple. En phase d’exploitation, tout exemple présenté en entrée du réseau activera le prototype auquel il ressemble le plus. Les connections entre les neurones de la couche de sortie interviennent uniquement en phase d’exploitation. Elles produisent un effet inhibiteur ou excitateur selon la distance au neurone considéré.

1. Affecter des valeurs aléatoires proches de zéro aux poids du réseau. 2. Initialiser le nombre d’époques : t=0

3. Initialiser le nombre maximal d’époques : T 4. Initialiser le coefficient de convergence (0)

5. Initialiser le rayon de voisinage d’un neurone Cj : VCj(0)

6. Tant que t < T (t : numéros de l’époque en cours, T nombre d’époques maximal ) faire 6.1. Pour chaque exemple E faire

6.1.1. Présenter E à l’entrée du réseau

6.1.2. Calculer la distance dj entre E et chaque neurone Cj de la couche de sortie 6.1.3. Sélectionner le neurone Cj* de la couche de sortie le plus proche de E

6.1.4. Modifier le vecteur poids du neurone Cj*, ainsi que ceux des neurones de la couche de sortie se trouvant dans son voisinage.

6.1.5. wij(t+1) = wij(t) + (t)(ei – wij(t)) j  VCj*(t), i[1, I]

6.1.6. wij(t+1) = wij(t) j  VCj*(t), i[1, I]

Fait

6.2. Incrémenter le nombre d’époque t = t+1 6.3. Diminuer le rayon de voisinage

Fait

Déf. II. 9 Algorithme des cartes de Kohonen

Dans un premier temps l’algorithme définit des prototypes au hasard. Chaque nouvel exemple est ensuite associé au prototype le plus proche au sens d’une distance d, fixée par l’utilisateur. Le prototype sélectionné ainsi que tous les prototypes compris dans son rayon de voisinage se « déplacent » en ligne droite d’une distance fixée par le rayon de convergence (t), afin d’être plus représentatifs de leur classe. Approximativement l’algorithme a tendance à produire des prototypes équidistants des objets de leur classe. Le rayon de convergence est une fonction décroissante qui tend à stabiliser le réseau. La valeur initiale est importante. Elle joue sur le temps d’apprentissage. Si (t) est faible les prototypes se rapprochent lentement de la solution. Si (t) est trop importante, les prototypes oscillent autour de la solution. Une époque correspond au passage de tous les exemples. Il faut généralement plusieurs époques pour stabiliser le réseau. Le nombre d’époque est un critère d’arrêt courant. La méthode est sensible à l’ordre de présentation des exemples. Pour utiliser les cartes de Kohonen, l’utilisateur doit donc répondre aux suivantes questions :

1 Quelle distance utiliser ?

2 Quelle est la valeur du coefficient de convergence ?

3 Quelle est le nombre de neurones de la couche de sortie ?

4 Dans quel ordre faut-il présenter les exemples ?

5 Comment choisir le neurone vainqueur en cas d’égalité ?

Il existe de nombreuses variantes de cet algorithme. Les contributions ont pour objectif de corriger une faiblesse de la méthode ou bien d’en proposer un complément. De Sieno (DeSieno 1988), tente d’améliorer la convergence de l’algorithme. Fritzke (Fritzke 1994) propose un algorithme qui détermine la taille de la carte. Hammadi-Mesmoudi (Hammadi-Mesmoudi 1995) élabore une méthode qui répond aux questions 1 et 5.

II.2.3.2 Conclusion

Les objets traités sont homogènes, réguliers et monovalués. Les cartes de Kohonen et les méthodes dérivées ne prennent pas en compte de connaissances du domaine a priori, sous une forme explicite. A notre connaissance, il n’existe pas de méthode dérivée qui intègre les règles de classification ou des contraintes de proximité entre objets. L’algorithme utilisé est une variante des méthodes de réallocation utilisées en Classification Automatique ( cf. II.1.1.1.2 ) très proches des méthodes de type centroïdes ou K-means. A la différence que la classification est incrémentale. Le critère d’évaluation de la qualité d’une partition n’est pas clair. L’algorithme est efficace, mais il détermine un optimum local dépendant du choix des prototypes initiaux. Cette méthode nécessite de régler des paramètres spécifiques difficiles à interpréter pour un utilisateur non-spécialiste. Les classes sont représentées par des prototypes. Il est difficile d’en déterminer l’intention