170
Les réseaux de neurones compétitifs Chapitre 4
Comme pour beaucoup d’autres classificateurs, chaque neurone de sortie
représente une classe. Le prototype de cette classe correspond simplement
aux poids rattachés à ce neurone.
5. La disposition des prototypes parmi l’ensemble des points d’entrée peut être
observée comme précédemment grâce à la fonction scatter :
scatter([data(:,1);p(:,1)],[data(:,2);p(:,2)],
50,co)
où le paramètre « 50 » spécifie la grosseur des points et où «
co
» est un
vecteur qui indique la couleur des points affichés : rouge pour les vecteurs
prototypes, bleu pour les autres. Vous remarquerez une similitude entre les
nuages des individus et la position des prototypes. Ce n’est pas un hasard :
puisqu’un prototype représente certains individus dans une population,
idéalement ce prototype devrait donc se placer quelque part au milieu du
nuage de points qu’il désigne.
La variable de sortie
c
indique la classe d’appartenance respective des
individus, selon leur ordre d’apparition dans la matrice de données
data
.
Par exemple,
c(1)
indique la classe d’appartenance du premier individu, ie
data(1,:)
. Vérifiez quels individus appartiennent à quelle classe, puis
calculez le centre de gravité des trois classes. Par exemple, pour la classe 1 :
index=find(c==1);
centroid=mean(data(index,:))
⇒
Comparez le centre de gravité des classes avec leur prototype qui apparaît
dans la variable de sortie
p
. Par exemple, le prototype de la classe 1
correspond à
p(1,:);
, etc. Le cas échéant, comparez ce résultat aux
prototypes appris par d’autres types de classificateur (e.g. ART1).
LA RÉDUCTION DE DIMENSION
Considérons maintenant une population de six personnes, dans laquelle cha-
que individu est caractérisé par trois mesures, certaines quantitatives et d’autres
qualitatives :