This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
realisation_som [2025/03/02 23:27] 47.128.18.170 old revision restored (2025/01/15 23:34) |
realisation_som [2025/04/02 11:12] (current) 47.128.47.20 old revision restored (2025/01/23 17:33) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== SOM ==== | + | ===== SOM ===== |
+ | |||
+ | Articles / tuto utilisés : | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | |||
+ | ==== Principe ==== | ||
+ | |||
+ | * Créer une grille de noeuds | ||
+ | - Initialiser les noeuds avec des poids aléatoires (les coordonées des noeuds dans ce cas) | ||
+ | - Sélectionner une position dans l' | ||
+ | - Chercher le noeud le plus près de cette position (neurone gagnant) | ||
+ | - Mettre son poids à jour (le rapprocher de la donnée d' | ||
+ | - Mettre les poids de ses voisins à jour (un peu moins que le gagnant) | ||
+ | - Réduire petit à petit l' | ||
+ | - Réduire petit à petit la portée du voisinage | ||
+ | - Répeter 2 à 7 pour un nombre d' | ||
+ | |||
+ | Selon les ressources choisies sur internet, les algorithmes n'ont pas la même manière de mettre à jour les neurones voisins du gagnant. | ||
+ | ==== Equations utilisées ==== | ||
+ | |||
+ | * Recherche du noeud le plus près : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * Mise à jour des poids du neurone gagnant : | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Avec Θ(t) la fonction de voisinage et L(t) le taux d' | ||
+ | |||
+ | Θ(t) = exp( -dist² / 2σ²(t)) \\ | ||
+ | et \\ | ||
+ | L(t) = L0 * exp(-t / λ) \\ | ||
+ | |||
+ | ==== Expérience ==== | ||
+ | |||
+ | J'ai testé l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Les noeuds (25 ici) sont placés aléatoirement dans cet espace comme décrit à l' | ||
+ | |||
+ | |||
+ | ==== Résultat ==== | ||
+ | |||
+ | Il y a probablement un petit souci quelque part, les noeuds se collent et vont de plus en plus loin ( [170, 170] dans l' | ||
+ | |||
+ | |||
+ | Comment résoudre le problème : | ||
+ | * Vérifier les calculs fait | ||
+ | * Eventuellement chercher d' |