L’ensemble des données correspond ici à un ensemble fini, une matrice formée de N
observations décrites par un identificateur et de P variables. L’algorithme regroupe les
observations en classes, en respectant la typologie de l’espace des observations (cf. la
définition d’une notion de voisinage entre les classes, où les observations voisines dans
l’espace des variables appartiennent à la même classe ou à des classes voisines).
Le poids associé aux liaisons latérales entre neurones est fonction de la distance entre
le neurone source et le neurone cible. La valeur du poids est donnée par une fonction
"chapeau mexicain'' (Difference Of Gaussians, ou DOG). Les connexions provenant des
entrées, quant à elles, arrivent perpendiculairement au plan formé par les liaisons latérales.
Le réseau de Kohonen construit automatiquement les groupes d’enregistrements selon
les régularités internes que l’algorithme observe au sein des données, c’est à dire la similarité
que présente les enregistrements sur les champs. Le processus est interactif et itératif : les
décisions que l’utilisateur guident un certain nombre d’étapes telles que la préparation d’un
ensemble de données sur lequel sera appliquée l’extraction, la recherche, le raffinement des
modèles obtenus.
On distingue deux types de fonctionnement. Dans un premier temps, l'ensemble des
formes devant être apprises est présenté au réseau et les vecteurs de poids sont mis à jour de
manière à approximer les vecteurs d'entrée. Les paramètres de la carte sont adaptés au fur et à
mesure pour qu'elle se stabilise de plus en plus. La deuxième étape est la phase d'utilisation
proprement dite. Dans ce cas, on présente un motif particulier et c'est le neurone dont le
vecteur de poids minimise la distance avec le vecteur d'entrée qui réagit.
Le mécanisme d'apprentissage est le suivant :
Les poids Wij sont générés aléatoirement. Il faut calculer la distance entre le vecteur présenté
I=[I1,I2,....,IM] et le vecteur de poids de chaque neurone Wi= [Wi1,Wi2,...,WiM] :
On choisit le neurone dont le diest le plus petit.
Les poids de ce neurone sont actualisés comme suit
où n (t) est le coefficient d'apprentissage (ou le gain) compris dans [0,1]. Il décroît avec le
temps. Les voisins de ce neurone sont mis à jour suivant la même règle mais aussi en fonction
du DOG. Le DOG, ou le rayon des voisinages, se rétrécie avec le temps.
On présente à nouveau les motifs jusqu'à stabilisation des poids.
Durant la phase d'utilisation, on présente un motif particulier et c'est le neurone ayant
la distance la plus faible qui réagit. La sortie est activée en conséquence.
Après un temps de convergence, le réseau évolue de manière à représenter au mieux la
topologie de l'espace de départ. Il faut en fait noter que la notion de conservation de la
topologie est en fait abusive puisqu'en général la taille du vecteur d'entrée est bien supérieure
à la dimension de la carte (souvent 2) et il est donc impossible de conserver parfaitement la
topologie