Sunteți pe pagina 1din 16

Utlizarea tehnologiilor de tip Data Mining in Intelige nta Computationala

Invatarea nesupervizata

DATA MINING – GENERALITATI

Data mining (DM) reprezinta invatarea din date.


In acest context datele vorbesc prin ele insele, fara a face vreo ipoteza asupra lor.
Învăţarea automată (unul din sub-domeniile Inteligenţei Artificiale) are ca obiect dezvoltarea
de algoritmi şi metode ce permit unui sistem informatic să înveţe date, reguli, chiar algoritmi.
Învăţarea automată presupune în primul rând identificarea şi implementarea unei modalităţi
cât mai eficiente de a reprezenta informaţii, în sensul facilitării căutării, reorganizării şi
modificării lor. Alegerea modului de a reprezenta aceste date ţine atât de concepţia generală
asupra modului de rezolvare a problemei, cât şi de caracteristicile datelor cu care se lucrează.
Învăţarea nu se poate face pe baza unui set foarte mare de cunoştinţe, atât din cauza costurilor
mari presupuse de acumularea unor baze de informaţii mari cât şi din cauza complexităţii
memorării şi prelucrării unui volum mare de informaţii. În acelaşi timp însă, învăţarea trebuie
să ducă la formularea de suficiente “reguli” atât cât să permită rezolvarea unor probleme
dintr- un spaţiu mai larg decât cel pe baza căruia s-a făcut învăţarea. Adică învăţarea trebuie să
îmbunătăţească performanţa unui sistem nu doar în rezolvarea repetată a unui acelaşi set de
probleme, ci şi în rezolvarea unor probleme noi. Acest lucru presupune o generalizare a unei
metode de rezolvare pentru a acoperi un număr cât mai mare de instanţe (observatii) posibile,
dar şi păstrarea unei specializări suficiente pentru a fi identificate corect instanţele acceptate.
Aceasta se poate face fie inductiv, generalizând o problemă plecând de la un set de exemple,
fie deductiv, plecând de la o bază de cunoştinţe suficiente asupra universului problemei şi
extrăgând date şi reguli esenţiale. Pentru a putea face acest lucru, un algoritm de învăţare
trebuie să fie capabil să selecteze acele elemente semnificative pentru rezolvarea unei instanţe
viitoare a problemei.
O altă componentă esenţială al unui algoritm de învăţare este metoda de verificare, o metodă
capabilă să confirme dacă generalizările făcute sau regulile deduse se apropie mai mult de
soluţia ideală decât starea anterioară a sistemului.
Invatarea este de doua tipuri: invatarea nesupervizata (unsupervised learning) si invatare
supervizata (supervised learning).
In invatarea supe rvizata variabilele investigate se impart in doua grupe: variabile explicative
si (una sau mai multe) variabile dependente.
Scopul analizei datelor este de a specifica o relatie intre variabilele explicative si cele
dependente, precum in analiza regresiei.
Pentru a aplica direct tehnicile DM, valorile variabilei dependente trebuie sa fie cunoscute
pentru cea mai mare parte a setului de date.
In invatarea nesupervizata toate variabilele sunt tratate in acelasi mod, nu exista distinctia
intre variabilele explicative si variabilele dependente.
Scopul analizei datelor este gruparea in clustere sau reducerea dimensionalitatii datelor.
Variabila tinta (=target variable) sau dependenta este necunoscuta sau valorile ei sunt
inregistrate pentru un numar mic de observatii.

Volumul mare de date din DM permite clasificarea fisierelor de date in trei grupe: date de
antrenare, date de validare si date de testare. Datele de antrenare sunt folosite pentru a
construi un model si a estima parametrii necesari. Datele de validare ne ajuta sa vedem daca
modelul obtinut cu un esantion aleas poate fi generalizat cu alte date.

1
Invatare supervizata:

•Setul de antrenare contine atat date de intrare cat si raspunsurile corecte aferente acestora
•Exemplu: clasificarea in clase predefinite pentru care se cunosc exemple de elemente ce
apartin claselor
•Invatarea supervizata este echivalenta cu optimizarea unei functii de eroare care masoara
diferenta dintre raspunsurile pe care ar trebui sa le produca reteaua si cele pe care le produce
efectiv

Invatarea supervizata include:


-arbori decizionali, regresie liniara,
-retele neuronale artificiale, perceptronul,
-support vector machine SVM

Invatare nesupervizata:

• Setul de antrenare contine doar date de intrare

• Exemplu: gruparea datelor in categorii in functie de similaritatea dintre ele

• Se bazeaza pe proprietatile statistice ale datelor

• Nu se bazeaza pe conceptul de functie de eroare ci pe cel de calitate a modelului extras


din date, care trebuie maximizata prin procesul de antrenare

Invatarea nesupervizata include:


-gruparea datelor (clustering): k- means clustering, k- medoids clustering, clusterizare
ierarhica, reducerea dimensiunii datelor
-modele de retele neuronale: self-organizing maps(=harti cu auto-organizare) SOM

Problematica gruparii datelor


Gruparea datelor (clustering) = identificarea de grupari naturale in cadrul datelor
caracterizate prin faptul ca
–Datele din aceeasi clasa (cluster) sunt suficient de similare
–Datele din clase diferite sunt suficient de disimilare
Observatie : nu exista o etichetare apriori a datelor (spre deosebire de clasificarea
supervizata) iar uneori nu este cunoscut nici macar numarul de clase
Aplicatii:
• Identificarea unor profiluri de utilizatori ai unor resurse Web (e-commerce, e- learning etc.)
• Identificarea unor regiuni omogene in imagini digitale (segmentare a imaginilor)
• Categorizarea documentelor electronice
• Analiza datelor biologice

Un element esential in rezolvarea problemelor de grupare il reprezinta masura de


similaritate/disimilaritate utilizata

In alegerea unei masuri adecvate trebuie sa se tina cont de natura atributelor:

2
• atribute cantitative -> vectori cu componente numerice
• atribute calitative -> vectori cu componente simbolice
• mixte -> vectori cu componente codificate dupa mai multe reguli

Metode de grupare a datelor:

• Partitionale:
– Conduc la o partitionare a datelor in clase disjuncte sau partial suprapuse
– Fiecare clasa este caracterizata prin unul sau mai multe prototipuri

• Ierarhice:
– Conduc la o ierarhie de partitionari ce poate fi vizualizata sub forma unei
structuri arborescente numita dendrograma

ANALIZA CLUSTER

Analiza cluster=(gruparea datelor) este procesul de grupare a unei multimi de obiecte astfel
incat obiectele din acelasi grup (cluster) sunt similare in comparatie cu obiectele din alte
grupuri.
Analiza cluster este realizata de numerosi algoritmi, care difera in mod semnificativ in modul
in care se obtine un cluster si ce reprezinta el.
Analiza cluster poate fi:
-hard clustering: fiecare obiect apartine sau nu unui cluster
-soft clustering (=fuzzy clustering): fiecare obiect apartine unui cluster intr-un anumit grad

K-means clustering (=clusterizarea cu k clustere folosind media aritmetica) (MacQueen,


1967)

K-MEANS reprezinta un algoritm de clusterizare non- ierarhic care imparte un set de date in
clustere folosind diferite criterii pentru gruparea instantelor.
Se da un set de observatii (x1, x2, …, xn), unde fiecare observatie este un vector real d-
dimensional. Algoritmul k-means clustering urmareste partitionarea celor n observatii in k multimi
(k ≤ n) S = {S1, S2, …, Sk } astfel incat sa se minimizeze suma patratelor distantelor de la punctul
x j la  i :
k
min  x
2
j  i (1)
S
i 1 x j Si

unde μi este media punctelor din Si

Algoritmul standard
Algoritmul k-means se mai numeste algoritmul lui Lloyd.

Se da o multime initiala de k medii m1(1),…,mk (1) (vezi mai jos); algoritmul are 2 pasi alternanti:

3
Pasul de asignare : Se asigneaza fiecare observatie clusterului a carui medie conduce la
minimizarea sumei (1). Matematic, aceasta inseamna a partitiona observatiile astfel:

unde fiecare este asignat exact unui , chiar daca ar putea fi asignat mai multora.
Pasul de update: Se calculeaza noile medii ca fiind centroizii observatiilor din noile
clustere:

Media aritmetica minimizeaza suma (1).

Algoritmul se opreste cand asignarile nu se mai modifica. Deoarece exista un numar finit
de partitii, algoritmul trebuie sa convearga catre un optim (local).

Un dezavantaj al acestui algoritm este dat de faptul ca procesul de clusterizare este


greoi in sensul ca la fiecare pas, algoritmul trebuie sa efectueze un numar mare de calcule
pentru a deteremina distanta dintre fiecare instanta si fiecare centru. Mai mult decat atat, este
necesara efectuarea unui numar mare de iteratii avand in vedere faptul ca dupa ce au fost
alcatuite clusterele, sunt recalculati centroizii (centrele clusterelor) iar procesul trebuie reluat.
O solutie pentru acest dezavantaj consta in divizarea setului de date dupa anumite
limite stabilite anterior pentru a nu mai folosi in calcul fiecare instanta in parte ci numai
diviziunile stabilite.
Observatie:
Algoritmul functioneaza numai pentru atribute cu valori numerice. O posibila functie distanta
care sa descrie notiunea de “cel mai apropiat” este distanta Euclidiana intre doua puncte
X  ( x1 ,..., x n ) , Y  ( y1 ,..., y n ) :
d ( X , Y )  ( x1  y1 ) 2  ...  ( xn  y n ) 2

k-Means Exemplu
Se considera urmatorul set de date care consta in scorurile a doua variabile pentru 7 indivizi:

Indivizi A B
1 1.0 1.0
2 1.5 2.0
3 3.0 4.0
4 5.0 7.0
5 3.5 5.0
6 4.5 5.0
7 3.5 4.5

Setul de dat e va fi grupat in doua clustere. La pasul 1, sa definim mediile initiale ale clusterelor:

Individ Cent roid


Grup 1 1 (1.0, 1.0)
Grup 2 4 (5.0, 7.0)

4
Indivizii ramasi sunt examinati pe rand si alocati clusterului cel mai apropiat, in termenii distantei
euclidiene la media clusterului. Vectorul medie (=centroidul) este recalculat de fiecare data cand un
nou membru este adaugat. Aceasta conduce la urmatorii pasi:

Cluster 1 Cluster 2
Pas Individ Cent roid Individ Cent roid
1 1 (1.0, 1.0) 4 (5.0, 7.0)
2 1, 2 (1.2, 1.5) 4 (5.0, 7.0)
3 1, 2, 3 (1.8, 2.3) 4 (5.0, 7.0)
4 1, 2, 3 (1.8, 2.3) 4, 5 (4.2, 6.0)
5 1, 2, 3 (1.8, 2.3) 4, 5, 6 (4.3, 5.7)
6 1, 2, 3 (1.8, 2.3) 4, 5, 6, 7 (4.1, 5.4)

Acum partitia initiala s-a schimbat, si cele 2 clustere au urmatoarele caracteristici:

Individ Cent roid


Cluster 1 1, 2, 3 (1.8, 2.3)
Cluster 2 4, 5, 6, 7 (4.1, 5.4)

Nu putem fi siguri ca fiecare individ a fost asignat clusterului potrivit. Comparam distanta de la fiecare
individ la media celor 2 clustere. Obtinem:

Distanta la
Distanta la
media
media
Individ (centroidul )
(centroidul)
Cluster-ului
Cluster-ului 2
1
1 1.5 5.4
2 0.4 4.3
3 2.1 1.8
4 5.7 1.8
5 3.2 0.7
6 3.8 0.6
7 2.8 1.1

Numai individul 3 este mai apropiat de media clusterului opus (Cluster 2) decat de clusterul lui (Cluster
1). Deci, individul 3 este realocat clusterului 2 rezultand o noua partitie:

Individ Centroid
Cluster 1 1, 2 (1.3, 1.5)
Cluster 2 3, 4, 5, 6, 7 (3.9, 5.1)

Realocarea iterativa continua pana cand nu mai sunt posibile alte realocari. Tot usi, in acest exemplu
fiecare individ este acum mai apropiat de media clusterului sau decat de media celuilalt cluster, deci
algoritmul se opreste.
De asemenea, este posibil ca algoritmul k-means sa nu gaseasca o solutie finala. In acest caz se
sugereaza oprirea algoritmului dupa un numar prestabilit de iteratii.

K-MEDOIDS Clustering
Este similara Clusterizarii K-MEANS, cu deosebirea majora: in timp ce un cluster este
reprezentat prin centrul sau in algoritmul k- means, este reprezentat prin cel mai apropiat

5
obiect de centrul clusterului. Clusterizarea k- medoids este mai robusta in prezenta
observatiilor atipice (=outliers).
Un medoid este un obiect reprezentativ al unui set de date sau al unui cluster, cel mai apropiat
de centrul clusterului. Medoizii sunt un concept similar cu mediile sau centroizii, dar medoizii
sunt intotdeauna elemente ale setului de date.
O observatie atipica (=outlier) este o observatie distanta de celelalte observatii. Poate fi
cauzata de o eroare de masurare sau poate indica o eroare experimentala. Uneori observatiile
atipice sunt excluse din setul de date.
Metoda bazata pe k-medoids este mai robusta decat metoda bazata pe k-means deoarece un
medoid este mai putin influentat de observatiile atipice sau de alte valori extreme decat media.
Silueta se calculeaza (Rousseeuw, 1987) ca silueta unui obiect, silueta medie a unui cluster,
silueta medie globală. Acest indice vrea să reprezinte cât de bine este separat un cluster de vecinii
săi (deci cât de apropiate sunt elementele dintr-un cluster – distanţa intra-cluster – şi cât de
depărtate sunt de celelalte clustere – distanţa interclustere).
Prin calculul siluetei se poate decide asupra validităţii unui cluster, ca şi asupra numărului corect
de clustere.
Notând cu S (i) silueta obiectului i, formula de calcul este
bi  a i
S(i)=
max{ a i , bi }
unde
a i – disocierea medie (=distanta medie) a obiectului i faţă de restul obiectelor din acelaşi cluster;
b i – disocierea medie (=distanta medie) a obiectului i faţă de obiectele din cel mai apropiat cluster
(al doilea candidat pentru includerea obiectului i).
Dacă obiectul i este singurul element al unui cluster, atunci S (i) = 0.
Rezultă că -1 ≤ S (i) ≤ 1 şi S (i) poate fi considerat ca un indice adimensional, cu putere de
comparare. Interpretarea este
• Dacă S (i) este apropiat de 1, atunci obiectul este bine clasificat (este asociat cu clusterul
adecvat).
• Dacă S (i) este aproape nul, atunci obiectul poate fi clasificat ş i în următorul cluster apropiat
(obiectul este situat similar în raport cu ambele clustere)
• Dacă S (i) este apropiat de –1, atunci obiectul este clasificat eronat (el este separat faţă de
celelalte clustere).
Fiecare cluster este caracterizat de silueta medie, obţinută ca media siluetelor elementelor din
cluster.
Intreaga structură de clustere este caracterizată de silueta medie globală , obţinută ca media
siluetelor S(i) după toate obiectele i. Dacă structura conţine un număr k de clustere, se notează
silueta medie globală cu S k . Silueta medie globală se poate utiliza pentru a decide asupra “celui
mai bun” număr de clustere: se va alege acel k pentru care S k este maxim.
Se introduce coeficientul siluetă prin
SC= max S k
k
Este propusă (Rousseeuw - 1987) următoarea interpretare a coeficientului siluetă după valoarea
sa:
• 0.71 - 1.00 s-a determinat o structură puternică (bine definită) de clustere;
• 0.51 - 0.70 s-a determinat o structură acceptabilă
• 0.26 - 0.50 structura determinată este slabă, poate fi artificială
• ≤ 0.25 structura determinată este artificială

6
Exemplu numeric

Cel mai intalnit tip de algoritm k-medoid este Partitioning Around Medoids (PAM) si consta in:

1. Initializare: se aleg aleator k din cele n observatii ca medoizi.


2. Se asociaza fiecare observatie cu cel mai apropiat medoid („cel mai apropiat” aici se
defineste folosind orice distanta, in mod uzual distanta euclidiana, Manhattan sau
Minkowski)
3. Pentru fiecare medoid m
1. Pentru fiecare observatie non-medoid o
1. Se schimba m cu o si se calculeaza costul total al configuratiei
4. Alege configuratia cu cel mai scazut cost.
5. Repeta pasii 2-5 pana cand nu se mai modifica medoidul.

Demonstratie PAM
Grupati in doua clustere urmatorul set de date format din zece obiecte ( k = 2 ).
Se considera urmatoarele zece obiecte:

Figura 1.1 – distributia datelor

X1 2 6

X2 3 4

X3 3 8

7
X4 4 7

X5 6 2

X6 6 4

X7 7 3

X8 7 4

X9 8 5

X10 7 6

Pas 1

Figura 1.2 – clusterele dupa pasul 1

Se initializeaza k centre.
Presupunem c1 = (3,4) ci c2 = (7,4)
Deci x2 si x8 sunt selectate ca medoizi.

8
Se calculeaza distanta astfel ca sa asociem fiecare obiect cu cel mai apropiat medoid. Costul se
calculeaza folosind distanta Manhattan (distanta Minkowski cu r = 1 ). Costurile corespunzatoae
celui mai apropiat medoid sunt cu litere bold in tabel.

Obiect Cost
i c1
(Xi) (distanta)

1 3 4 2 6 3

3 3 4 3 8 4

4 3 4 4 7 4

5 3 4 6 2 5

6 3 4 6 4 3

7 3 4 7 3 5

9 3 4 8 5 6

10 3 4 7 6 6

Obiect Cost
i c2
(Xi) (distanta)

1 7 4 2 6 7

3 7 4 3 8 8

4 7 4 4 7 6

9
5 7 4 6 2 3

6 7 4 6 4 1

7 7 4 7 3 1

9 7 4 8 5 2

10 7 4 7 6 2

Atunci clusterele devin:

Cluster1 = {(3,4)(2,6)(3,8)(4,7)}
Cluster2 = {(7,4)(6,2)(6,4)(7,3)(8,5)(7,6)}
Deoarece punctele (2,6) (3,8) si (4,7) sunt mai apropiate de c1, ele formeaza un cluster, iar
restul punctelor formeaza celalalt cluster.

Deci costul total este 20.


Costul intre orice doua puncte se obtine conform formulei:

unde x este orice obiect, c este medoidul, iar d este dimensiunea obiectului, in acest caz 2.
Costul total este suma costurilor de la obiectele dintr-un cluster la medoidul lui, deci:

10
Pas 2

Figura 1.3 – clusterele dupa pasul 2

Se alege unul din non-medoizi O′.

Presupunem O′ = (7,3).
Deci acum medoizii sunt c1(3,4) si O′(7,3).
Daca c1 si O′ sunt noii medoizi, se calculeaza costul total.
Folosind formula de la pasul 1:

Obiect Cost
i c1
(Xi) (distanta)

1 3 4 2 6 3

3 3 4 3 8 4

4 3 4 4 7 4

5 3 4 6 2 5

6 3 4 6 4 3

11
8 3 4 7 4 4

9 3 4 8 5 6

10 3 4 7 6 6

Obiect
Cost
i O′
(Xi) (distanta)

1 7 3 2 6 8

3 7 3 3 8 9

4 7 3 4 7 7

5 7 3 6 2 2

6 7 3 6 4 2

8 7 3 7 4 1

9 7 3 8 5 3

10 7 3 7 6 3

Deci costul de a schimba medoidul din c2 cu O′ este

12
O′ nu a fost o idee buna, deci alegerea anterioara era buna. Deci incercam alti non-medoizi si
observam ca prima alegere este cea mai buna. Configuratia nu se modifica si algoritmul se
opreste aici (nu se modifica medoizii).

Se poate intampla ca anumite obiecte sa treaca de la un cluster la altul in functie de apropierea


lor de medoid.

Distanta Minkowski de ordin p intre doua obiecte

Se defineste ca:

Distanta Manhattan = distanta, , intre doi vectori intr-un spatiu vectorial real n-
dimesional este

unde sunt vectorii

De exemplu, in plan, distanta Manhattan intre si


este

Gruparea ierarhica (Hierarchical clustering)

Algoritmii de clusterizare ierarhică produc o secventă de partitii de acelasi fel. Similaritatea


dintre fiecare pereche de documente este stocată într-o matrice de similaritate n x n. La fiecare
pas, algoritmul fie uneste două clustere, fie împarte un cluster în două. Rezultatul unei
clusterizari poate fi văzut sub forma unei structurii arborescente numita dendograma, cu un
cluster rădăcină care contine toate documentele colectiei si multe clustere la bază, fiecare
continând un singur document.
In dendograma cu cat urcam in ierarhie cu atat clusterele sunt mai generale.
In figura de mai jos este o dendograma pentru 75 observatii. Pe axa orizontala sunt
reprezentate observatiile, iar pe axa verticala este reprezentata o distanta sau o masura de
disimilaritate. Inaltimea unui nod reprezinta disimilaritatea sau distanta dintre cele doua

13
grupuri. De exemplu, daca se fixeaza distanta 40 pe axa Oy, se formeaza 3 clustere deoarece
dreapta y=40 intersecteaza arborele de 3 ori.

Dendogramele au 2 limitari:
(1) Deoarece fiecare observatie va fi reprezentata pe axa Ox, ele pot fi aplicate pentru un
numar redus de observatii. De exemplu, STATA admite maxim 100 observatii.
(2) Axa Oy reprezinta nivelul criteriului la care orice doua clustere pot fi unite. Uniri
succesive ale clusterelor implica o structura ierarhica, ceea ce inseamna ca dendogramele sunt
aplicabile numai pentru analiza cluster ierarhica.

Clusterizarea bazată pe reţele neurale.

SOM=harti cu auto-organizare (Self-Organizing Maps)


• Retele de tip harta cu auto-organizare (SOM - self-organizing maps) - inventate de Teuvo Kohonen,
profesor la Academia din Finlanda, 1989
• Ofera o modalitate de a reprezenta date multi-dimensionale in spatii dimensionale reduse, de obicei 1-
2 dimensiuni = cuantificarea vectorilor
• Modalitatea de reprezentare se numeste harta.
• Tehnica Kohonen creaza o retea care memoreaza informatia astfel incat orice relatie topologica din
setul de invatare este mentinuta

Constă din doua straturi: stratul de intrare cu n noduri de intrare, corespunzător celor n documente şi stratul de
ieşire cu k noduri de ieşire, care corespunde celor k regiuni de decizie. Fiecărei din cele k unităti de ieşire îi este
asignat un vector de ponderi. În timpul unui pas de învatare, un document din colecţie este
asociat cu un nod de ieşire care are cel mai similar vector de ponderi. Vectorul de ponderi a nodului
“castigator “este apoi adaptat în asemenea fel încât va deveni şi mai similar cu vectorul care
reprezintă acel
docume nt. I eş irea a lgo r it mului es te ara nja me ntul do c ume nte lor d e intrare într-

14
un spa ţiu 2- dimensional în asemenea fel încât similaritatea dintre doua documente de intrare
este oglindită în termenii distanţei topografice dintre cele k regiuni de decizie. Altă abordare propusa este
modelul hărţii caracteristicilor ierarhice (hierarhical feature map), care este bazat pe organizarea ierarhică a mai
mult de o harta de caracteristici cu auto-organizare.

4.1 EXEMPLU de utilizare a unei retele SOM


 Organizarea culorilor in carti pe baza componentelor rosu, verde si albastru
in doua dimensiuni – o retea SOM antrenata sa recunoasca 8 culori
 Culorile au fost prezentate retelei ca vectori 3D, cu cate o dimensiune pt. fiecare
componenta a culorii – reteaua a invatat sa reprezinte culorile intr- un spatiu 2D.
 Pe langa clusterizarea culorilor in regiuni distincte, regiunile cu proprietati similare
sunt plasate de obicei adiacent una de cealalta.

Neuronul (elementul de procesare) artificial este unitatea fundamentala a RNA. În general


neuronul prezinta un set den intrari x j . Fiecare intrare este ponderata înainte de a ajunge în
corpul principal al neuronului prin intermediul factorului de ponderare (puterea sau
intensitatea legaturii) wj. În plus, mai exista si un termen numit bias w0 , o valoare de prag Θ
care trebuie atinsa sau depasita pentru ca sistemul sa produca un semnal; deasemenea mai
exista ofunctie neliniara F care actioneaza asupra semnalului produs R,.
rezultând iesirea O. O constituie intrare pentru alti neuroni. Daca un neuron este o parte a
unei retele cu mai multi neuroni acesta se numeste nod. Daca exista mai multe noduri (n) într-
o retea, se introduce înca un indice pentru a distinge fiecare neuron.
Antrenarea hartii incepe cu initializarea in care numarul de neuroni este specificat. Un vector
referinta m j de aceeasi dimensiune cu vectorii input este asociat cu fiecare nod j. Dupa initializare,
algoritmul are 2 pasi. La primul pas, toti vectorii input x i sunt comparati cu m j pentru a gasi cel mai
bun neuron c folosind distanta euclidiana:
xi  mc  min xi  m j
j

15
La pasul al doilea, cel mai bun neuron c si neuronii dintr-o vecinatate data a lui c invata
din vectorul input x i dupa formula:
m j (t  1)  m j (t )   (t ) c , j (t )[ xi (t )  m j (t )]
unde t este iteratia curenta,
α(t) este rata de invatare (o functie mononton descrescatoare),
c, j (t ) este o functie vecinatate care depinde de distanta intre ultimul neuron c si neuronul j.
De obicei c, j (t ) are forma unei functii gaussiene.
Acest proces este repetat pentru fiecare vector input de un numar de iteratii pana cand un
prag dat este atins.
Viscovery SOMine 6 este un soft folosit pentru a construi hartile, vizualizarea clusterelor
si statistici descriptive.
http://www.viscovery.net/somine/

16