3
J.Korczak, ULP 13
Neural Gas : Algorithme
1. Initialisation des N neurones dont les vecteurs de référence sont
choisis aléatoirement parmi les données; A ={c1, c2,…, cN}, t=0
2. Choix d’un exemple ?aléatoirement
3. Ordonner les neurones en fonction de leur distance par rapport à
?????i0, i1,…, iN-1), ki(?,A).
4. Modifier les vecteurs de référence de neurones selon :
?wi=?(t)*h??
*ki(?,A)) * ( ?-wi) avec h?(k) = exp (-k/?(t))
et ?(t) et ?(t) qui diminuent dans le temps
5. Incrémenter le compteur de temps t=t+1
6. Si t<tmax reprendre à l’étape 2.
Exemples
J.Korczak, ULP 14
Competitive Hebbian Learning [Martinetz 1993]
•Cette méthode est généralement utilisée avec d’autres,
par ex. Neural Gasplus Competitive Hebbian Learning
•Elle ne modifie pas les vecteurs de référence des
neurones mais génère les connexions entre les
neurones.
•A chaque présentation d’un exemple, une connexion
entre les deux neurones les plus proches de celui-ci est
éventuellement ajoutée.
J.Korczak, ULP 15
Growing Neural Gas [Fritzke, 1994]
•Dans cette variante, le nombre de neurones est augmenté
durant l’apprentissage.
•Les neurones sont connectés.
J.Korczak, ULP 16
Growing Neural Gas : Algorithme
1. Initialisation de 2 neurones dont les vecteurs de référence sont
choisis aléatoirement parmi les données; A ={c1, c2}, t=0. Initialisation
de l’ensemble des connexions C.
2. Choix d’un exemple ?aléatoirement.
3. Déterminer les deux neurones s1et s2les plus proches de ?.
4. Rajouter une connexions entre s1et s2. Mettre son âge à 0.
C = C U{(s1,s2)}.age(s1,s2)
= 0
5. Augmenter l’erreur cumulée du neurone : ?Es1 = II ??? wsi
II2.
6. Modifier les vecteurs de référence de neurones du neurone vainqueur
et de ses voisins topologiques directs :
?wsi = ?b*(?-wsi
) , ?wi= ?n*(?-wn)
7. Incrémenter l’âge des connections de si
8. Supprimer les connexions d’âge supérieur à amax et supprimer les
neurones qui n’ont plus de connexions.
9. Si le nombre d’exemples présentés est un multiple de l, ajouter un
neurone entre celui dont l’erreur cumulée est la plus grande et son
voisin d’erreur cumulée la plus importante. Diminuer l’erreur cumulée.
10.Si le critère d’arrêt n’est pas satisfait, reprendre à l’étape 2.
J.Korczak, ULP 17
Gaz neuronal croissant : exemple
Gaz de 100 neurones max.
J.Korczak, ULP 18
Couverture de la distribution des données
Carte de Kohonen Gaz Neuronal Croissant