Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
F.I.U.B.A.
Te
orico
1. Una red de Kohonen de una sola entrada, con las neuronas una al lado de la otra (en
una sola fila) es entrenada con patrones x que tienen una distribuci
on P (x). Demostrar
que los pesos w de las neuronas tendr
an una distribuci
on P (w) proporcional a P (x) .
Cu
anto vale ?
Las neuronas est
an dispuestas en forma lineal, supongamos que tenemos N neuronas,
entonces tendremos, para cada una de ellas, un peso sinaptico asociado:
w1
w2
w3
...
wN
Llamemos r a la posici
on de la neurona en el arreglo, es decir r = 1, 2, 3, . . . , N . Entonces
podemos expresar los pesos wi como una funcion de la posicion r, digamos w(r), que es
una funci
on contnua de variable discreta.
La idea es mostrar como es esta funcion en relacion con P (x). Supongamos que existe un patr
on x
que tiene mayor probabilidad de ocurrencia, entonces los pesos w ser
an
atrados por este valor, es decir, habra muchos valores de w(r) parecidos a x
.
Dicho de otra manera, habr
a un rango de r tal que w(r) x
. La Figura 1 muestra un
ejemplo de la situaci
on.
dr
y P (x).
dw
Trabajo Practico
3
F.I.U.B.A.
(2)
(3)
d se hace igual a dw(r + ) que podemos expresarlo como w0 (r + )d, este a su vez,
podemos expandirlo y obtenemos:
d (w0 + w00 )d
(4)
Trabajo Practico
3
F.I.U.B.A.
w0
P (w)
Lo que conduce a:
d (ln |w0 | + k1 )
dr
ln |w0 |
dw
dr
dr
dw
d (ln P (w) + k2 )
dr
= ln P (w) + k
1
=
P (w)
=
= P (w)
(5)
Pero el espacio w se corresponde con el espacio x, por lo que P (w) = P (x), entonces
podemos escribir:
dr
= P (x)
dw
dr
nos da una idea de la distribucion de los pesos w en el arreglo lineal queda
dw
demostrado que tal distribuci
on es proporcional a P (x).
Y como
dr = P (w) dw
Z
dr = P (w) dw
La integral de la derecha se integra a todos los pesos w (equivalente a todos los patrones
x) y da 1, por ser el integrando una funcion densidad de probabilidad; la integral de
la izquierda da simplemente la longitud del intervalo donde se encuentran las neuronas
distribuidas. As tenemos:
=R
Para el caso discreto = N , donde N es la cantidad de neuronas.
Pr
actico
A. Hacer una red de Kohonen de 2 entradas que aprenda una distribuci
on uniforme en el
crculo unitario. Mostrar el mapa de topologa.
Armamos una red neuronal cuadrada de N = L L neuronas y la entrenamos con M
muestras aleatorias del vector X R2 cuya funcion densidad de probabilidad viene dada
por:
Rocabado, Daniel H. 73529
Trabajo Practico
3
f (x, y) =
F.I.U.B.A.
x2 + y 2 1
x2 + y 2 > 1
1
2
[0 2]
/ [0 2]
Para generar la variable usamos una variable aleatoria u uniforme en [0, 1], luego basta
con hacer = 2u. Para generar la variable usamos otra variable aleatoria v uniforme
en [0, 1] y hacemos = v.
Una vez obtenidos y con el cambio de variables antes mencionado obtenemos el
patr
on X = (x, y).
La regla de actualizaci
on usada es:
W i = (i, i )(X Wi )
El par
ametro comienza en 1 y va decayendo su valor a medida que el proceso avanza.
Usamos un decaimiento exponencial dado por:
(t) = e (t1)
Donde t es el tiempo discreto que tiene una relacion estrecha con dado que en el instante t se presenta el patr
on X . De aqu que t vaya de 1 a M. El parametro es tal que
M
4
=e
= 10 .
Nos queda presentar el (i, i ) empleado. Esta funcion tiene la forma:
|ri ri |2
2 2
(i, i ) = e
Trabajo Practico
3
F.I.U.B.A.
2 2
(i, i ) = e
Rocabado, Daniel H. 73529
Trabajo Practico
3
F.I.U.B.A.
Donde i es la posici
on de la neurona i en el arreglo lineal e i es la posicion de la neurona
ganadora. El par
ametro tiene la misma variacion que en el ejercicio anterior.
La cantidad de patrones es ahora finita y para un mismo instante t se presentan las 50
ciudades. La regla de actualizacion es la misma:
W i = (i, i )(X Wi )
El algoritmo se detiene cuando kWi k < 104 . La posicion de las ciudades fue elegida
mediante dos variables aleatorias normales N(0,1).
Mostramos el resultado final:
4. Encontrar un perceptr
on multicapa que resuelva una XOR de 2 entradas, mediante simulated annealing.
En primer lugar definimos el modelo de red vamos a utilizar. Es sencillamente una red
con una capa intermedia de dos neuronas y una neurona de salida en la siguiente capa. La
Figura 4 muestra un esquema de tal red.
Trabajo Practico
3
F.I.U.B.A.
1X
E(X) =
(Oj Vj (X))2
2
j=1
1
1 + e x
g(h1 )
V1j = g(h2 )
1
g(x) =
0
1
0
1
1 =
2 =
3 =
4 =
1
1
1
1
Rocabado, Daniel H. 73529
Trabajo Practico
3
F.I.U.B.A.
O = O1 O2 O3 O4 = 0 1 1 0
El algoritmo encuentra los pesos sinapticos W1 y W2 , es decir el vector X, que minimizan
la funci
on presentada E(X).
Comenzamos la b
usqueda desde un punto aleatorio X y evaluamos E(X) asignandola a
una variable de control Emin , luego nos desplazamos en la direccion dX, tambien aleatoria,
y calculamos E(X + dX), si este valor es inferior a Emin entonces actualizamos el vector
incognita haciendo X = X + dX y actualizamos tambien el valor de Emin = E(X + dX).
Si el valor hallado E(X + dX) es mayor a Emin entonces actualizamos el vector incognita
al nuevo valor (no deseable) con probabilidad p.
La probabilidad p va decreciendo con el tiempo siguiendo una ley exponencial seg
un:
p = et
Donde se tom
o igual 0.01 y t es el tiempo discreto. De manera que cuando el proceso
ha avanzado lo suficiente s
olo se producen descensos.
El resultado puede verse en la Figura 5, donde se muestra la distribucion del espacio
de entrada y las salidas asociadas a cada region.