Anda di halaman 1dari 8

Perceptrn multicapa

1
x1
x2
.
.
.

xI

v02
v12
v22
vI2

1
z1
z2
.
.
.

zJ

r
xn = ( xn1 , xn 2 ,K, xnd )
w02
w12
w22
wJ2

y1

bnj = xni vij


i =0

y2
.
.
.

znj = (bnj )
J

ank = z nj w jk
j =0

yK

ynk =

exp(ank )
K

exp(a

nj

j =1

Como hicimos en el caso de la regresin logstica multiclase, para


cada ejemplo xn, vamos a interpretar la salida ynk como la
probabilidad de que xn pertenezca a la clase nmero k:
r
ynk = p (Ck | v, w, xn )

Perceptrn multicapa
Consideremos un conjunto de entrenamiento con N ejemplos:
r r
{ xn , t n }

n = 1,..., 

donde tnk=1 (tni=0 si ik) indica que xn pertenece a la clase Ck.


Vamos a escribir la verosimilitud de estos datos para luego buscar
el valor de los pesos (v,w) que la maximiza.
Conviene recordar el teorema de Bayes:
p( D | H , I ) p( H | I )
p ( H | D, I ) =
p( D | I )

Para esta red neuronal:


H

v, w
r r
r
D t1 , t2 ,..., t 
r
r
I x1 ,K, x 

Perceptrn multicapa
La verosimilitud adopta la siguiente forma:
r
r
r
r
r
r
r
r
p ( D | H , I ) = p (t1 ,K , t  | v, w, x1 , K, x ) = p (t1 | v, w, x1 ) K p (t  | v, w, x )

Ya vimos en regresin logstica multiclase que


K
r
r
t
p (tn | v, w, xn ) = ynk nk

donde

k =1

r
ynk = p (Ck | v, w, xn )

Finalmente:

K
r
r
r
r
t
p (t1 ,K , t  | v, w, x1 ,K , x  ) = ynk nk
n =1 k =1

Mxima verosimilitud
El logaritmo neperiano de la verosimilitud cambiado de signo es:
 K
r
r
r
r
E ( v, w ) = ln p (t1 ,K , t  | v, w , x1 ,K , x ) = t nk ln ynk
n =1 k =1

Para encontrar la solucin de mxima verosimilitud hemos de


calcular el gradiente. Como vamos a proponer un algoritmo
secuencial, que progresa ejemplo a ejemplo, vamos a prescindir
del sumatorio en n y calcular el gradiente correspondiente a un
cierto ejemplo xn:
K

En ( v, w ) = t nk ln ynk
k =1

Mxima verosimilitud
Comenzaremos escribiendo una derivada que nos ser muy til a
partir de ahora:
K
En
1 ynk
= t nk

ynk
k =1

ank
ynk
exp(ank )
anr

=
= ynk
ynr
K

r

exp(anj )
j =1

En
anr ank
= t nk ynr

k =1 r

ank
= ( ynk t nk )

Capa de salida
Derivemos primero respecto de los pesos de la segunda capa:
J
J
z nj w jk = z nj jq kr = z nq kr

j =0
j =0
K
K
En
ank
= ( ynk t nk )
= ( ynk t nk ) z nq kr = ( ynr t nr ) z nq
wqr k =1
wqr k =1
ank

=
wqr wqr

Capa oculta
Derivemos ahora respecto de los pesos de la primera capa:
z
b

w jk znj = w jk nj = w jk znj (1 znj ) nj

v pq
v pq
j
j
j
vij
= w jk z nj (1 z nj ) xni
= w jk z nj (1 z nj ) xni ip jq
v pq
j
i
j
i
ank

=
v pq v pq

K
En
a
= ( ynk t nk ) nk
v pq
v pq k =1
K

= ( ynk t nk ) w jk z nj (1 z nj ) xni ip jq
k =1
K

= ( ynk t nk )wqk znq (1 z nq ) xnp


k =1

Back-propagation
1.
2.

Se generan vectores v y w aleatoriamente en el intervalo (-0.5, 0.5). Se escoge


un valor para la constante de aprendizaje .
Para cada ejemplo del conjunto de entrenamiento (n=1,,N):
a. Se calculan las probabilidades a posteriori de pertenencia a cada clase:
I
J
exp(ank )
bnj = xni vij z nj = (bnj ) ank = z nj w jk ynk = K
j =0
i =0
exp(anj )
j =1

b.

Se calcula para cada unidad de salida (k=1,,K):


nk = (tnk ynk )

c.

Se calcula para cada unidad oculta (j=1,,J):


K

nj = nk w jk z nj (1 z nj )
k =1

d.

Se actualizan los pesos:

w jk w jk + nk z nj
vij vij + nj xni

3.

Se vuelve al punto 2 hasta completar un cierto nmero de pocas.

Anda mungkin juga menyukai