WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Techniques d'extraction de connaissances appliquées aux données du Web

( Télécharger le fichier original )
par Malika CHARRAD
Ecole Nationale des Sciences de l'Informatique, Université de la Manouba, Tunis - Mastère en informatique, Option : Génies Documentiel et Logiciel 2005
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.2.3 Algorithme d'apprentissage de Kohonen

Le principe général de cet algorithme consiste à initialiser les poids des neurones de la couche de Kohonen en leur attribuant des valeurs aléatoires faibles, puis à chaque itération, présenter un vecteur de données au réseau, déterminer le neurone le plus proche à ce vecteur selon une mesure de distance2 et modifier les poids des neurones appartenant au voisinage du neurone élu. Ainsi, l'algorithme

2Ce processus est dénommé matching (appariement, en français)

d'apprentissage de la carte topologique comprend principalement deux étapes : la première consiste à sélectionner un neurone gagnant et la seconde consiste à mettre à jour le poids de ce neurone et des neurones de son voisinage.

Sélection du noeud gagnant (Compétition entre les neurones)

soient X(t) = fx1(t); x2(t); :::; xn(t)g un vecteur d'entrée sélectionné au temps t et Wk(t) = fwk1(t); wk2(t); :::; wkn(t)g le vecteur poids associé au noeud k au temps t. Une mesure de distance est choisie, par exemple la distance euclidienne. Le noeud gagnant k*est celui qui vérifie :

kX(t) Wk*(t)k = mink kX(t) Wk(t)k

Mise à jour des poids et sélection du voisinage

Une fois le noeud gagnant k* sélectionné, le vecteur de poids associé à ce noeud ainsi que les vecteurs de poids associés aux noeuds se trouvant dans un voisinage donné du noeud gagnant sont ajustés selon l'équation suivante :

Wk(t + 1) = Wk(t) + ®(t)h(k; k*) [X(t) Wk(t)]

Grâce à cette notion de voisinage, à la fin de l'algorithme (après un certain nombre d'itérations) la carte montre une certaine organisation: les neurones proches ont des poids similaires. Il existe donc une préservation topologique entre l'espace d'entrée et l'espace de sortie. L'auto-organisation de la carte est conséquence de l'application de la notion de voisinage.

Algorithme

- Initialiser le réseau avec des valeurs aléatoires des poids - Itérer

· Présenter une donnée d'entrée X

· Trouver l'unité gagnante k* dont le poids est le plus proche de la donnée d'entrée X

- Calculer la distance euclidienne entre les poids des unités k et la donnée d'entrée X

· Mettre à jour les poids de cette unité et ceux des unités voisines suivant la formule suivante :

W t W t t h k k X t W t

( 1) ( ) ( ) ( , *) [ ( ) ( )]

+ = + á -

k k k

FIG. 4.3 : Algorithme de Kohonen

avec ®(t) est le taux d'apprentissage et h(k,k*) est la fonction de voisinage.

4.2.4 Principaux paramètres de la carte topologique

Les principaux paramètres du modèle de Kohonen sont : la taille de la grille, le taux d'apprentissage, la fonction de voisinage qui détermine la décroissance

du voisinage dans l'espace et dans le temps, l'initialisation des poids, le rayon de propagation, le nombre d'itérations et le nombre de phases d'apprentissage.

Taille de la grille

La taille de la grille est parmi les paramètres qui conditionnent la pertinence des résultats. En effet, plus il y'a de noeuds, plus la carte est flexible et s'adapte facilement à la structure des données à modéliser mais plus le temps d'apprentissage augmente. Cependant, il n'existe pas de règle d'art pour définir la taille optimale de la carte.

Initialisation des poids

Trois types d'initialisation des neurones sont proposés:

1. Initialisation aléatoire : consiste à attribuer à chaque neurone des poids au hasard.

2. Initialisation à partir d'un échantillon: consiste à utiliser des éléments de l'ensemble d'apprentissage comme des vecteurs poids.

3. Initialisation linéaire : les vecteurs poids des neurones sont initialisés de sorte qu'ils se trouvent dans le même plan que celui formé par les deux vecteurs principaux propres obtenus à partir de l'analyse en composantes principales.

Fonction de voisinage

La fonction de voisinage dénote le voisinage topologique autour du neurone gagnant. C'est une fonction de la distance d(k, k*) entre les unités k et k* sur la carte. Les fonctions utilisées pour le voisinage doivent respecter la condition de non-croissance. Une étude d'Erwin et al. [Erw, 91] a montré qu'une fonction de voisinage convexe est nécessaire afin d'éviter que la carte ne passe, en cours d'apprentissage, par des états stables avant que les vecteurs prototypes n'atteignent leur positions finales. Une telle situation peut amener un blocage de l'organisation alors qu'elle n'est pas terminée. Depuis cette étude, un noyau gaussien est souvent utilisé. Dans ce cas, la fonction de voisinage s'exprime comme suit :

? ?

h k k

( , *) exp

= ?

??

?

2 ?

rkrk

- ? * ?

2 ó ( ) ??
t 2
?

où rk - rk* est la distance entre le neurone k et celui gagnant k* (rk et rk sont les localisations vectorielles sur la grille de visualisation) et 3/4(t) est une fonction décroissante du temps, définissant le rayon d'influence du voisinage

autour de l'unité gagnante. Ce rayon d'influence ne doit pas être trop restreint pour que la carte puisse s'ordonner globalement. Il est donc recommandé de prendre une valeur initiale hk;k (0) très grande, voire même plus grande que la taille de la carte et de la laisser décroître jusqu'à 1 au cours de l'apprentissage.

Taux d'apprentissage

C(t) est le taux d'apprentissage compris entre 0 et 1 (0<C(t)<1); C'est une fonction qui doit être positive, décroissante et monotone. Sa valeur est en général assez élevée pour les premières itérations et décroît progressivement vers zéro. Soit C0 sa valeur initiale. Selon [Koh, 95], C0 doit prendre des valeurs proches de 1 pour les 1000 premières étapes puis décroître progressivement. La forme de la fonction (linéaire, exponentielle ou inversement proportionnelle à t) n'a pas d'importance.

Nombre de phases d'apprentissage

Selon Kohonen [Koh, 95], le nombre de phases d'apprentissage ou d'échantillons à présenter doit être au moins égal à 500 fois le nombre de cellules constituant la carte pour obtenir une bonne précision statistique.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille