Redes basadas en competición
José Edinson Aedo Cobo
Depto. de Ing. Electrónica.
E-mail: [email protected]
Redes neuronales basadas en competición
•El aprendizaje se basa en un competencia entre
neuronas.
• Cuando un patrón de entrada es sometido a la red, una
neurona se declara ganadora dependiendo de una
similitud entre los pesos de la neurona y el vector de
entrada.
• El premio de la neurona ganadora es el aprendizaje.
los pesos se varias de tal forma que se acerquen aún
más al patrón de entrada.
Redes neuronales basadas en competición
Uno de los algoritmos de aprendizaje más conocido es
el aprendizaje de Kohonen:
w . j (nuevo )  w . j ( viejo )   [ x  w . j ( viejo )]
  x  (1   ) w . j ( viejo )
Vector de entrada
Vector de pesos para unidad j
Columna j de la matriz de pesos
Redes neuronales basadas en competición
• Sombrero Mexicano (Kohonen) ( para la unidad xi)
w2
w2
w1
w1
Xi-4
Xi-3
Xi-2
Xi-1
Xi
w3
Xi+1
Xi+2
Xi+3
Xi+4
w3
Si
R1, radio de interconexión. Xi es conectada a las unidades Xi-k y Xi+k para k= 1, ….R1
R2, radio de la región donde se realiza reforzamiento. R2 < R1
Wk, pesos de interconexión entre Xi las unidades Xi-k y Xi+k Para 0 k  R2, Wk > 0
Para R2 k  R1, Wk < 0
Redes neuronales basadas en competición
• Sombrero mexicano ( para la unidad xi)
w2
w2
w1
w1
Xi-4
Xi-3
Xi-2
Xi-1
Xi
w3
Xi+1
Xi+2
w3
Si
X, Vector da activación
Xold Vector de activación en paso previo (tiempo previo)
Xi+3
Xi+4
Sombrero mexicano. Algoritmo
Paso 0: Inicialice los parámetros: tmax, R1, R2 y los pesos
WK = C1, para k=0,…..R1, ( C1 >0)
WK = C2, para k=R1,…..R2, ( C2 < 0)
Xold = 0
Paso 1:Presente la señal de entrada Si, haga X=S
Salve las activaciones Xold_i =Xi
Inicialice el contador t=1
Paso 2: Mientras t< tmax, realice los pasos de 3 a 7.
Paso3: Calcule la entrada de la red, i = 1,…,n
 R 1 1
R1
x i  C1

k R1
x old i  k  C 2

k R 2
R2
x old i  k  C 2

k  R 1 1
x old i  k
Sombrero mexicano. Algoritmo
Paso4: aplique la función de activación (rampa de
0 a Xmax ,pendiente 1):
x i  m in( x m ax , m ax(0, x i )) con
i  1,..., n
Paso5: Salve la activación corriente en Xold:
Xold i= Xi, i=1,…,n
Paso6: incremente el contador de interacciones t=t+1
Paso7: Verifique la condición de parada.
Si t < tmax, continue
Red de Kohonen lineal
……
Yi
……
YJ
Xm
w1m
wim
w11
w1j
wi1
……
Xi
wn1
Xi
Ejemplo de un arreglo lineal:
*
*
*
{*
(*
wnm
wnj
wij
……
Xn
Neurón de referencia
[# ]
R1
R2
*)
*}
*
*
*
Radio de las vecindades
Red de Kohonen. Algoritmo
Paso 0: Inicialice los pesos Wij , establezca los parámetros
topológicos de la vecindad. Establezca parámetros de
aprendizaje
Paso 1: Mientras la condición de parada sea falsa realice
los pasos del 2 a 8.
Paso2: Por cada vector de entrada realice los
pasos 3-5:
Paso3: Por cada j calcule:
D ( j) 
 (w
i
ij
 xi)
2
Red de Kohonen. Algoritmo
Paso4: Encuentre el índice J tal D(J) es
mínimo.
Paso5: Para todas la unidades j dentro de una
vecindad especificada de J, para todo
i calcule:
w ij (nuevo)  w ij ( viejo)   [ x i  w ij ( viejo)]
Paso6: Actualice la tasa de aprendizaje.
Paso7: Reduzca el radio de la vecindad en un valor
especificado.
Paso8: Verifique la condición de parada.
Descargar

Diapositiva 1