FLOWCHART DELL’ALGORITMO DI APPRENDIMENTO DELLA RETE DI KOHONEN

Post on 13-Jan-2016

22 views 0 download

description

FLOWCHART DELL’ALGORITMO DI APPRENDIMENTO DELLA RETE DI KOHONEN. ALGORITMO RETE DI KOHONEN. L’algoritmo di apprendimento di questo tipo di rete è il seguente: - PowerPoint PPT Presentation

Transcript of FLOWCHART DELL’ALGORITMO DI APPRENDIMENTO DELLA RETE DI KOHONEN

FLOWCHART DELL’ALGORITMO DI

APPRENDIMENTO DELLA RETE DI KOHONEN

ALGORITMO RETE DI KOHONENL’algoritmo di apprendimento di questo tipo di rete è il seguente:

1) Si definiscono con wij(t) (0<=i<=n-1 dove n è il numero di input) il peso tra il neurone i-esimo di input ed il neurone j-esimo della griglia al tempo t. Con ‘tempo’ si indica il passaggio del pattern di apprendimento. I valori dei pesi vengono inizialmente posti tra zero e uno. Si pone come valore di Ni(0) il maggiore possibile (Ni() dovrebbe essere il numero di neuroni vicini al j-esimo neurone).

2) Si presenta un input: x0(t), x1(t), x2(t),…… xn(t) dove xi(t) è l’i-esimo input.

3) Si calcolano le distanze di tra l’input e ciascun neurone di output j:

d²j = Σ (xi (t) – wij(t)) ² sommatoria da i=o a n-1

4) Si seleziona il neurone a cui corrisponde la distanza minima. Indichiamo con j* tale neurone.

5) Si modificano i pesi dal neurone di input ed il neurone j* e tutti i suoi vicini definiti all’interno della superficie definita da Ni*(t). I nuovi pesi sono:

wij(t+1) = wij(t) +ŋ(t)[ xi(t) – wij(t)] i|_j*, 0<= i <= n

Il termine h(t) è la funzione guadagno (o velocità di adattamento) (0<=h(t)<=1) che decresce nel tempo in modo da rallentare di volta in volta l’adattamento dei pesi. Anche le dimensioni di Ni*(t) decrescono nel tempo in modo da individuare una regione di neuroni sulla griglia.

6) Si ripete tutto a partire dal punto 2).

INIZIO

Fisso Wijt con j [o,n-1]

Definisco:Ni(0) =maxNi(0) <= i

Wijt [ 0,1 ]

Presentazione inputX0(t)......Xn-1(t)

i >= n STOP

Wij Peso tra il neurone

i-esimo di input e il

neurone j-esimo della

griglia al tempo t

Ni(0) numero neuroni

vicino al j-esimo

neurone

Xi(t) input i-esimo al

tempo t

SI

NOCalcolo le distanze n-1

dj2= (Xi(t)- Wij(t))2

i=0

Distanza tra i neuroni di

input e il j-esimo neurone

di output al tempo t

Selez. il neurone di out j* tale che

dj2 = min

1° passo

2° passo

3° passo

Definisco: h(t) [ 0,1 ]

h(t) = (1/n+1)(t) + 1

Definisco i nuovi pesi

Wij(t+1)= Wij(t)+h(t) [Xit-h(t) ]con i che va da 0 a n-1

h(t) funzione di guadagno

h(t) decresce

Nuovi pesi

4° passo