Uploaded by studylibuser

Introducción Redes Neuronales

advertisement
Introducción a las Redes
Neuronales Artificiales.
Última modificación: 2018/9/24.
Contenido
I.
Introducción. Modelo de Neurona Biológica. ................................................... 3
II.
Redes Neuronales Artificiales. Modelo de Neurona Artificial. ............................. 4
2.1 Topologías de las Redes Neuronales Artificiales. ......................................... 6
2.2 Aplicaciones de las Redes Neuronales Artificiales. ....................................... 7
III. Aprendizaje Redes Neuronales Artificiales...................................................... 8
3.1 Conocimiento de una Red Neuronal Artificial. Tipos de aprendizaje. .............. 8
IV. Perceptrón Simple. ................................................................................... 10
4.1 Perceptrón Simple. Arquitectura ...............................................................10
4.2 Perceptrón Simple. Cálculo de la respuesta -

o - de la red: ..........................10
4.3 Algoritmo de Entrenamiento del Perceptrón. ..............................................11
4.4 Poder de representación del perceptrón. Limitantes. ...................................13
V.
Red Adaline ............................................................................................. 14
5.1 Funciones de activación. ..........................................................................14
5.2 Regla Delta (Delta Rule, Widrow-Hoff Rule)................................................15
5.2.1 Regla Delta. Variante on-line. .............................................................15
5.2.2 Regla Delta. Variante Batch. ...............................................................16
VI. Perceptrón Multicapa. ............................................................................... 17
.................................................................................................................17
6.1 Backpropagation.....................................................................................18
6.1.1 Backpropagation. Variante Batch. .......................................................18
6.1.2
Backpropagation Variante On-line. ..................................................19
6.1.3
Otras consideraciones sobre el entrenamiento de redes neuronales. ....21
Estimados del Desempeño. Train-Test, Crossvalidation .....................................22
VII. Mapas Auto organizados de Kohonen. ......................................................... 23
7.1 Algoritmo de Clustering Kohonen-SOM. .....................................................24
VIII.
Problemas Redes Neuronales Artificiales. .............................................. 26
IX. Soluciones Problemas Redes Neuronales Artificiales. ..................................... 31
Bibliografía .................................................................................................... 32
1
2
I. Introducción. Modelo de Neurona Biológica.
Que es una Red de Neuronas Artificiales?
•
¿?
•
Pues eso, una Red de Neuronas Artificiales.
•
Un invento de la Inteligencia Artificial que sirve para un montón de cosas.
Sin dudas pocos nombres en la Inteligencia Artificial son tan sugerentes y tan famosos
como este, rápidamente hace pensar al menos en nuestras pequeñas neuronas, y ya
que estas entran en el tema pues ¿que tienen de particular nuestras neuronas? Al
contrario de lo que se pensaba hace no tanto tiempo – gracias a los estudios de
Santiago Ramón y Cajal1 - hoy todo el mundo sabe que nuestro Sistema Nervioso
Central está formado por una densa red de sencillas unidades – las neuronasconectadas entre sí. Nos asombramos también al ver las maravillas que puede hacer
nuestro cerebro, aprender, memorizar y tener emociones, por solo citar algunos
ejemplos. Sabemos también – sin muchos detalles rigurosos - que las neuronas están
formadas por un cuerpo o soma, que tienen varias prolongaciones llamadas dendritas
y una mayor llamada axón al que se conectan las dendritas de otras neuronas mediante
las sinapsis (Figura 1).
Figura 1: Neurona Biológica.
1
Santiago Ramon y Cajal (1852-1934)
3
A grandes rasgos, el funcionamiento de las neuronas puede describirse como sigue:
1. Se recibe un conjunto de estímulos recepcionados a través de las dendritas y el
propio cuerpo, de estos unos tienden excitar a la neurona mientras que otros
tienen una naturaleza inhibidora.
2. A partir de estos estímulos y del estado interno de la neurona esta produce a
su vez un impulso que se transmite por su axón hasta otras neuronas.
Si comparamos ahora el tiempo que toma a una neurona en cambiar su estado -10−3 𝑠
- y el que demora una computadora - 10−10 𝑠– puede verse cuan lentas son las primeras,
sin embargo, podemos realizar operaciones extremadamente complejas de manera
extraordinariamente rápida. Por ejemplo una persona necesita solamente 10−1 𝑠 para
reconocer el rostro de su madre.(Mitchel 1997). Esta observación condujo a la idea de
que la gran habilidad que poseen los sistemas biológicos para el procesamiento de la
información, está dada por el alto nivel de paralelismo operando sobre
representaciones distribuidas en un gran número de neuronas.
II. Redes Neuronales Artificiales. Modelo de Neurona Artificial.
Esta es la característica que se ha intentado imitar al desarrollar el modelo de las Redes
Artificiales de Neuronas, tenemos entonces pues que una Red Neuronal Artificial
puede definirse como:
Modelo de computación constituido por unidades de procesamiento
(Neuronas Artificiales) relativamente simples las cuales interactúan
entre sí a través de interconexiones masivas.
Donde evidentemente el papel protagónico lo tienen las Neuronas Artificiales, pero
antes de establecer un modelo para estas, es necesario examinar más de cerca la
estructura que conecta las dendritas con los axones en la neurona biológica, es decir
las sinapsis, Figura 2. Sin conocer los roles que cumple esta sería lógico pensar que si
dos impulsos P y P' son iguales entonces deben producir idénticos estímulos E y E' sin
embargo se ha comprobado que el valor de estos no depende solamente de los
impulsos sino también de una característica de las sinapsis llamada Eficiencia Sináptica
la cual hace que el impulso recibido desde una neurona transmisora repercuta más o
menos significativamente en la activación de la neurona receptora.
Ya con esto nos podemos formar una idea sobre las neuronas artificiales, Figura 3.
Figura 2:
sinapsis.
Modelo
simplificado
de
la
Estas deben tener una estructura que de alguna manera pueda recibir los impulsos

provenientes de otras neuronas – agrupémoslos en un vector X - deben además tener
de alguna manera representada la Eficiencia Sináptica de la sinapsis asociada a cada
4
una de estas entradas – de manera similar a las entradas agrupémoslas en un vector

W de manera que a la entrada X i corresponda la eficiencia sináptica (peso sináptico
o simplemente peso)
Wi –
es necesario también representar el estado interno de la
neurona, para esto puede utilizarse una variable, llamémosle


y finalmente es

necesario definir alguna manera mediante la cual a partir de X y W se calcule la
respuesta O de la neurona, usualmente para esto se procede de la siguiente forma, se
computa:
•
Act=
 w x 
i 1
•
•
i
i
y se calcula
O=F(Act) donde a F(Act) se le llama función de activación, en este caso
si Act  0
1

f ( Act )  
 1 eoc

 por w0 , considerándose como el peso
sináptico correspondiente a una entrada x0  1 cuyo valor permanecerá constante.
Para simplificar la notación, se denotará
Este es un modelo bastante similar al propuesto por Warren S. McCulloch and Walter
Pitts en el trabajo “A logical calculus of the ideas immanent in nervous activity”
publicado en 1943, donde ya se describe un modelo de Neurona Artificial.
Entonces definido un modelo de neurona artificial, podemos ver ejemplos de redes
neuronales que permiten calcular algunas funciones sencillas
Figura 3: Modelo de neurona artificial.
Red para calcular la función lógica AND.
5
X1
W1=0.2
θ=0.7
W2=0.6
X2
X1
X2
AND
Act
F(Act)
1
1
1
0,1
1
1
-1
-1
-1,1
-1
-1
1
-1
-0,3
-1
-1
-1
-1
-1,5
-1
X1
X2
OR
Act
F(Act)
1
1
1
1,6
1
1
-1
1
0,6
1
-1
1
1
0,6
1
-1
-1
-1
-0,4
-1
Red para calcular la función lógica OR.
X1
W1=0.5
θ =-0.6
X2
W2=0.5
Red para calcular la función lógica NOT.
X1
W1=-1
θ =0
X1
Act
F(Act)
1
-1
-1
-1
1
1
2.1 Topologías de las Redes Neuronales Artificiales.
Como puede observarse estas redes son muy sencillas pero claro, es posible construir
redes de muchas neuronas las cuales pueden interconectarse de disímiles maneras
para dar lugar a diferentes configuraciones topológicas de la red. Atendiendo a este
criterio las redes tienen diferentes clasificaciones:
•
Redes de alimentación hacia adelante (feedforward networks):
Presentan una estructura de grafos acíclicos dirigidos, lo cual hace que las
neuronas estén divididas en niveles 1..n, donde la respuesta del nivel 1 sirve
de estímulo a las neuronas del nivel 2 – si existe – y así sucesivamente, esto
6
hace que una neurona no pueda recibir como estímulo la respuesta de una
neurona situada en un nivel más alto.
•
Redes de retroalimentación o recurrentes(feedback/recurrent networks)
Presentan una estructura de grafos cíclicos dirigidos, donde la salida de algunas
entidades en el momento de tiempo t sirve de entrada en el momento t+1.
En la Figura 4 se muestra la clasificación de las redes atendiendo a su topología así
como algunos tipos de redes distintivas de cada modelo.
Redes Neuronales
Feedforward
Perceptrón
Simple
Perceptrón
Multicapa
Recurrent/feedback
Funciones
de Base
Radial
Kohonen’s
SOM
Hopfield
ART
Figura 4: Algunos modelos de Redes Neuronales Artificiales clasificados de acuerdo a
la topología.
2.2 Aplicaciones de las Redes Neuronales Artificiales.
Los funciones calculadas por las redes mostradas son muy sencillas, naturalmente las
Redes Neuronales Artificiales pueden ser empleadas para resolver problemas muy
complejos como la aproximación de funciones, categorización de elementos,
compresión de datos etc. Hay varios aspectos que las hacen muy atractivas entre
estos:
•
Los ejemplos de entrenamiento pueden contener errores.
Los métodos de aprendizaje empleando ANN son bastante robustos a errores
en los datos de entrenamiento.
•
Rápida evaluación de la función aprendida: Aunque los tiempos de
entrenamiento de las ANN son relativamente largos, la evaluación de la red en
una nueva instancia es normalmente bastante rápido.
Sin embargo, es necesario señalar que hay ciertas cuestiones que nunca deben
olvidarse cuando se está pensando construir una Red de Neuronas Artificiales.
•
Largos tiempos de entrenamiento: Los algoritmos de entrenamiento de las
redes normalmente requieren más tiempos que los empleados en otros modelos
de aprendizaje.
7
•
Mecanismo de caja negra: Usualmente el conocimiento representado por la
red no es comprensible por los humanos, es decir que muchas veces no
podemos formarnos una idea de la manera en que la red realiza su trabajo.
III. Aprendizaje Redes Neuronales Artificiales.
3.1 Conocimiento de una Red Neuronal Artificial. Tipos de aprendizaje.
Como puede verse, las redes mostradas en las Figura 5 y Figura 6 presentan una
estructura muy similar, pues están formadas solamente por una neurona, la cual recibe
como entrada un vector de dos elementos y sin embargo calculan funciones bien
distintas. Un breve vistazo induce a pensar que en este caso, la diferencia en el
funcionamiento – es decir del conocimiento- de las redes esta dado por el valor de los
pesos asociados a cada uno de los elementos de la entrada, además del valor w0 .
X1
X1
W1=0.2
W1=0.5
θ =0.7
θ =-0.6
X2
X2
W2=0.6
Figura 5: Red AND
W2=0.5
Figura 6: Red OR
Entonces nuestro problema es precisamente este, calcular los valores adecuados para
los pesos de la red o más exactamente, encontrar una forma en que esta pueda
buscarlos por sí sola. Es decir, debemos definir un algoritmo de aprendizaje.
Detengámonos un momento para analizar – con permiso de los psicólogos – algunas
de las maneras en que los seres humanos aprendemos. No obstante debe quedar claro
que en la realidad el aprendizaje es un proceso mucho más complejo donde intervienen
otros factores y donde se manejan representaciones de naturaleza muy distinta a la
intensidad de los pesos sinápticos, incluso cuando se trata de aprender funciones tan
simples como las mostradas. Veamos primeramente la manera en que aprendemos a
identificar dígitos escritos a mano. La Figura 7 muestra varios ejemplos de números 1,
al observarlos y conociendo que son números 1, de alguna manera aprendemos a
identificar también los ejemplos mostrados en la Figura 8.
Figura 7: Ejemplos de números 1.
Figura 8: Números 1 no vistos durante el
aprendizaje.
En este caso, se ha partido de un conjunto de entrenamiento – ejemplos de la Figura
7– y además se conoce la respuesta acertada en cada caso, es decir que son:
8
Aprendizaje Supervisado: A la red se le muestra un conjunto de ejemplos de
entrenamiento de la forma {<X(1),t(1)>,<X(2),t(2)>......<X(n),t(n)>} donde X(i) es
la entrada de la red y t(i) es la respuesta que se espera obtenga la red – las imágenes
de unos y la correcta clasificación como un 1 respectivamente en nuestro ejemplo.
Supongamos ahora que tenemos un conjunto de figuras como las mostradas en la
Figura 9 de alguna manera, si tener un conocimiento previo, podemos encontrar una
asociación entre los elementos mostrados y agruparlos de forma similar a la mostrada
en la Figura 10.
En este caso hemos aprendido mediante lo que se llama
Figura 9: Conjunto
etiquetadas.
de
figuras
no Figura 10: Figuras agrupadas de acuerdo a
un determinado patrón.
Aprendizaje no supervisado: En este caso a la red no se le suministran respuestas
asociadas a cada ejemplo del conjunto de entrenamiento, que tiene la forma
{<X(1)>,<X(2)>...<X(n)>}. La red hace una exploración de estructuras o
interrelaciones en los ejemplos de entrenamiento y los agrupa atendiendo a alguno de
estos criterios.
Finalmente tratemos de mantener un bastón en equilibrio2, en este caso no conocemos
exactamente en qué posición debemos colocarlo, sin embargo podemos formarnos un
criterio de cuán bien lo hemos puesto, Figura 11.
Figura 11: Distintas posiciones al tratar de mantener el bastón en equilibrio.
Esta forma usualmente es llamada
Aprendizaje por Reforzamiento: Esta es una variante de aprendizaje supervisado.
En este caso se le suministra a la red un conjunto de entrenamiento de la forma
{<X(1),c(1)>,<X(2),c(2)>......<X(n),c(n)>} donde c(i) es un índice del desempeño –
llamado señal de reforzamiento - de la red. En nuestro ejemplo la red nos daría una
posición para el bastón, y entonces como no conocemos la respuesta que esta debía
darnos, se le indica que la posición dada es más o menos buena según el caso.
2 Luis Martí, Universidad de la Habana, 2004.
9
Estos modelos de aprendizaje pueden emplearse de manera combinada, dando lugar
al llamado Aprendizaje Hibrido.
La clasificación aquí descrita es de muy común empleo en materiales referentes a las
redes neuronales, no obstante es frecuente encontrar algunas clasificaciones para los
modelos de aprendizaje atendiendo a otros criterios, como por ejemplo el método
matemático mediante el cual se desarrolla el aprendizaje. En este caso tenemos
Aprendizaje basado en el error: En el aprendizaje supervisado, como es conocida
la respuesta de la red y la que esta debería dar se puede definir alguna función que
cuantifique el error cometido por la red de esta manera se pueden modificar los
parámetros de la red de manera que se minimice este error.
IV. Perceptrón Simple3.
En los apartados anteriores, se definieron dos cuestiones muy importantes en el diseño
de una red de neuronas artificiales, la arquitectura y el algoritmo de aprendizaje
a emplear. En las siguientes secciones se estudiarán diferentes modelos de redes
neuronales artificiales, comenzando por una de las más simples, el Perceptrón.
4.1 Perceptrón Simple. Arquitectura
Red con una sola capa de unidades de procesamiento, Figura 12
…
Figura 12: Arquitectura de un perceptrón simple formada por m unidades de
procesamiento (perceptrones)

4.2 Perceptrón Simple. Cálculo de la respuesta - o - de la red:
-
j
w  [w1j , w2j ,..., wnj ] : Vector de pesos del j-ésimo Perceptrón.

- CE= {  x
1






, t 1 ,  x 2 , t 2 ,...,  x D , t D  }: Conjunto de entrenamiento, donde x d es un

d
vector de entrada (estímulo) de la red y t la salida esperada para este.
3
La definición tomada para el perceptrón se ha adoptado por ser ampliamente referida
en la literatura sin embargo difiere en algunos aspectos a la dada por Rosenblatt,
en “The perceptron: a probabilistic model for information storage and organization
in the brain”. Psychological Review, 65, 386-408.
10
La salida de la cada neurona


 x d , t d  se computa de acuerdo a
para el ejemplo
o jd  f ( Act jd ) , donde:
n
Act jd   wij xid   j
i 1
 1 si
f ( Act )  
 1
Act  0
eoc.
 j : Umbral o estado interno de la neurona j-ésima.
En este caso f ( y ) se conoce como indistintamente por: función signo (sgn) de y,
heavyside function, o threshold function.
Notar que:
Para simplificar la notación, se prescindirá del símbolo
vectores y, como antes, se denotará
adicional xo  1 , luego

j
por

j
0 asumiendo
w
en la notación de los
que existe una entrada
Act j  i0 wij xi
n
4.3 Algoritmo de Entrenamiento del Perceptrón.
Los pesos de cada neurona se ajustan de acuerdo al siguiente procedimiento:
Algoritmo de Entrenamiento del Perceptrón.
Comienzo:
j
1 - Inicializar los wi (peso correspondiente a la entrada i-ésima del
j-ésimo perceptrón) aleatoriamente.
2 - Seleccionar un vector  x
d
,t d  CE y calcular o jd .
3 – Cambiar los pesos de acuerdo a:
wij  wij  wij donde
wij   (t jd  o jd ) xid
4 – Volver al paso 2.
Fin.
 : Factor de aprendizaje, controla la magnitud en que cambian los pesos en cada paso.
o d  t d no se hacen modificaciones en los pesos. Cuando es
d
necesario ajustar se tienen los siguientes casos de acuerdo a los signos de wij y x i
Notar como cuando
que ilustran la idea intuitiva de la expresión para modificar los pesos.
11
Caso 1:
o d  1 y t d  1 .
La respuesta debió ser 1, por lo que
Act jd debería ser mayor que 0, esto se logra
aumentando el valor de las componentes wi xi para así aumentar
j
d
Act jd  i 0 wij xid
n
.
Signo
de
Signo
d
de x i
Acción
+
+
Aumentar el valor de
+
-
La componente
wij
wij . Como ejercicio analice por qué
wij xid será negativa, por lo tanto hay que
disminuir (acercar a 0 por la derecha) el valor del peso para
que esta influya menos en
-
+
La componente
Act jd .
wij xid será negativa, por lo tanto hay que
aumentar (acercar a 0 por la izquierda) el valor del peso para
que esta influya menos en
-
-
Act jd .
Disminuir (alejar de 0 por la izquierda) el valor de
wij . Como
ejercicio analice por qué.
Caso 2:

d

d
o  1 y t  1 .
La respuesta debió ser -1, por lo que
Act dj debería ser menor que 0, esto se logra
wij xi para así disminuir Act jd  i 0 wij xid
n
disminuyendo el valor de las componentes
.
Signo
de
Signo
d
de x i
Acción
+
+
Disminuir el valor de
+
-
La componente wi xi
wij
j
wij
d
será negativa, por lo tanto hay que
aumentar el valor del peso para hacerla más negativa aún.
12
-
+
La componente wi xi
j
d
será negativa, por lo tanto hay que
disminuir el valor del peso para hacerla más negativa aún.
-
-
Aumentar (acercar a 0 por la izquierda) el valor de
wij .
4.4 Poder de representación del perceptrón. Limitantes.
En secciones anteriores se han mostrado perceptrones capaces
de calcular las funciones lógicas AND y OR, estas son casos
particulares de las llamadas funciones M de N, donde la
respuesta es 1 si al menos M de las N entradas son 1. La función
OR se corresponde con 1 de N mientras que el AND a la N de N.
Sin embargo, determinadas funciones lógicas no pueden ser
aprendidas por el perceptrón simple, inténtese encontrar la red
capaz de representar la función XOR, representada en la Figura
13.
1
1
-1
X2
XOR
1
1
1
-1
2
1
-1
1
3
-1
1
1
4
-1
-1
-1
-1
1
B
A
X1
1
-1
1
Ej.
1
C
Figura 13: Representación gráfica de las funciones AND, OR y XOR en A, B y C
respectivamente, sombreados las entradas para las que la función es
verdadera.
Examinemos la expresión para la activación de un perceptrón con dos entradas X1 y
X2:
Act  w0 x0  w1 x1  w2 x2
de la que si Act=0 se obtiene:
como puede verse representa una recta determinada por los
x2 
wx
w1
x1  0 0 que
w2
w2
wi .
De acuerdo a la función de activación resulta que el perceptrón calcula una recta, o
hiperplano en un espacio n-dimensional, de modo que a cada lado solo se encuentran
instancias de la misma clase, en la Figura 13 puede verse estas rectas para las
funciones AND y OR. En cambio para el XOR, de la Error! Reference source not
found., resulta que deben cumplirse las siguientes restricciones para que la red
responda correctamente:
Act 1  w0  w1  w2  0
(1)
Act 3  w0  w1  w2  0
(3)
13
Act 2  w0  w1  w2  0
Act 4  w0  w1  w2  0
(2)
 2w0  0 .
dónde w0  0 .
Sumando (2) y (3) se tiene que
resulta que
 2w0  0 de
(4)
Por otra parte, de la suma de (1) y (4)
Luego, de (2) sumando
w2 en ambos
w1  w2 debe cumplirse. En (3), sumando w1 en ambos
miembros se llega a que w2  w1 lo que contradice el resultado anterior. De lo anterior
miembros se tiene que
se desprende ambas inecuaciones son insatisfacibles simultáneamente o lo que es lo
mismo, NO puede construirse un perceptrón simple capaz de aprender la función XOR.
Se ha demostrado una importante limitación del perceptrón simple, que puede
enunciarse como sigue:
Importante:
El perceptrón solo puede aprenderse conjuntos de entrenamiento cuyas clases sean
linealmente separables, es decir, si existe un hiperplano capaz de dividir las
instancias de modo que a cada lado solo se encuentren ejemplos pertenecientes a
una misma clase.
V. Red Adaline
5.1 Funciones de activación.
-
Función sigmoide o (logistic function): f ( Act j ) 
1
1  exp( Act j )
Figura 14: Logistic Function.
-
Tangente hiperbólica:
f ( Act )  c
j
1  exp( Act j )
1  exp( Act j )
1
14
Figura 15: Tangente hiperbólica.
5.2 Regla Delta (Delta Rule, Widrow-Hoff Rule).
La idea básica consiste en definir cierta expresión

E ( w) para medir el error de la red
que sea una función de los pesos, luego mediante descenso del gradiente se puede
minimizar esta función. Ahora
wij  wij  wij donde wij  
E
. Sin perder
wij
generalidad, se expondrá asumiendo que la red está compuesta por una única neurona
j.
5.2.1 Regla Delta. Variante on-line.

Función de error: E ( w) 
d
1
2
(t jd  o jd ) 2 , luego la derivada con respecto a cada peso
queda:
▪
E jd E jd o jd Act jd
donde:

wij
o jd Act jd wij
▪
E jd
 (t jd  o jd )
o jd
▪
o jd
f ( Act jd )

 f ' ( Act jd )
jd
jd
Act
Act
▪
Act jd
 xid
j
wi
Luego:
▪
E jd
 (t jd  o jd ) f ' ( Act jd ) xijd
j
wi
Obtenida la expresión para cada elemento del vector gradiente, los pesos se ajustan
según la expresión
wij  wij  wij donde
wij   (t jd  o jd ) f ' ( Act jd ) xid quedando
el algoritmo:
Regla Deltha Variante On-line
15
Comienzo:
wij aleatoriamente.
1 - Inicializar
2 – Hasta que la condición de parada se satisfaga:

2.1 - Seleccionar un vector  x
d

 jd
, t d  CE y calcular o .
2.2 – Cambiar los pesos de acuerdo a:
wij   (t jd  o jd ) f ' ( Act jd ) xid
wij  wij  wij donde
2.3 – Volver al paso 2.
Fin.
5.2.2 Regla Delta. Variante Batch.

E ( w) 
Función de error:
D
1
2
 (t
jd
 o jd ) 2 , luego la derivada con respecto a cada
d 1
peso queda:
▪
E

wij
 (t jd  o jd ) 2 o jd Act jd
donde:

o jd
Act jd wij
d 1
D
1
2
▪
 (t jd  o jd ) 2
 2(t jd  o jd )
jd
o
▪
o jd
f ( Act jd )

 f ' ( Act jd )
jd
jd
Act
Act
▪
Act jd
 xid
wij
Luego:
D
E


(t jd  o jd ) f ' ( Act jd ) xid

j
wi
d 1
D
De donde
wij    (t jd  o jd ) f ' ( Act jd ) xid quedando el algoritmo:
d 1
Regla Deltha Variante Batch
Comienzo:
1 - Inicializar
wij aleatoriamente. wij  0
2 – Hasta que la condición de parada se satisfaga:
16

2.1 – Para cada vector  x

- o
-
d

, t d  CE calcular:
jd
wijd  (t jd  o jd ) f ' ( Act jd ) xid
- wi  wi  wi
j
j
jd
2.1.1 – Cambiar los pesos de acuerdo a:
wij  wij  wij
2.2 – Volver al paso 2.
Fin
VI. Perceptrón Multicapa.
X1
X0
=1
P1
X2
XOR
w01=-0.5
w03=1
w11=0.6
1
1
-1
w13=1
1
-1
1
w21=0.2
w23=-1
-1
1
1
-1
-1
-1
X
1
P3
w02=0.5
P2
w12=0.4
X
2
w12=0.8
X1
X2
P1
P2
1
1
1
1
1
-1
1
-1
-1
1
1
-1
-1
-1
-1
-1
P1
P2
P3
1
1
-1
1
-1
1
1
-1
1
-1
-1
-1
Figura 16: Perceptrones estructurados para aprender la
función XOR
17
6.1 Backpropagation
6.1.1 Backpropagation. Variante Batch
Backpropagation Variante Batch
Comienzo:
1 - Inicializar
w ij aleatoriamente. w ij  0
2 – Hasta que la condición de parada se satisfaga:

2.1 – Para cada vector  x

- o
d

, t d  CE calcular:
d
- Para las neuronas de la capa de salida:
 od  (t od  o od ) f ' ( Act od )
- Para las neuronas de las capas ocultas:
 hd    jd whj f ' ( Act hd )
C
j 1
C : Cantidad de neuronas en la capa siguiente a la neurona h.
whj : Peso con que la neurona j pondera el estímulo recibido desde
la neurona h.
- Hacer
wij  wij   jd o id
2.2 Cambiar los pesos de acuerdo con:
wij  wij  widj
2.3 – Volver al paso 2.
Fin.
Notar que
o id
es la salida de la i-ésima neurona, siendo a su vez un impulso transmitido a las neuronas
de la siguiente capa.
18
6.1.2
Backpropagation Variante On-line.
Backpropagation Variante On-line
Comienzo:
1 - Inicializar
w ij aleatoriamente. w ij  0
2 – Hasta que la condición de parada se satisfaga:

2.1 – Para cada vector  x

- o
d

, t d  CE calcular:
d
- Para las neuronas de la capa de salida:
 o  (t od  o od ) f ' ( Act od )
- Para las neuronas de las capas ocultas:
 hd    jd whj f ' ( Act hd )
C
j 1
C : Cantidad de neuronas en la capa siguiente a la neurona h.
whj : Peso con que la neurona j pondera el estímulo recibido desde
la neurona h.
2.1.1– Cambiar los pesos de acuerdo con:
wij  wij  widj donde widj   jd o id
2.2 – Volver al paso 2.
Fin.
Notar que
o id
es la salida de la i-ésima neurona, siendo a su vez un impulso transmitido a las neuronas
de la siguiente capa.
19
Ejemplo (Backpropagation on-line):
w03=0.5
w01=0.1
X0=
-1
w11=1
w21=-0.3
P1
X1
P2
X2
w02=-0.5
w12=-0.9
X1
w13=0.7
w23=1
P
3
X2
E-Fic
1
1
1,-1
1
-1
1,1
-1
1
1,1
-1
-1
1,-1
P
4
w04=0.6
w14=0.2
w24=-1
w12=0.1
Para simplificar los cálculos se asumirá que las neuronas utilizan la función identidad
como función de activación cuya derivada es 1.   0.2
1- Tomar un ejemplo del conjunto de entrenamiento, por ejemplo el primero.
2- Calcular la salida de la red, para esto primero calcular la respuesta de P1 y P2
Para P1
Act P1  w0P1 x0  w1P1 x1  w2P1 x2  (0.1* 1)  (1*1)  (0.3 *1)  0.6
y
o  F ( Act )  0.6
P1
P1
Para P2
Act P 2  w0P2 x0  w1P 2 x1  w2P 2 x2  (0.5 * 1)  (0.9 *1)  (0.1*1)  0.3
y
o P2  F ( Act P2 )  0.3
Para P3
Act P3  w0P3 x0  w1P3 o P1  w2P3 o P 2  (0.5 * 1)  (0.7 * 0.6)  (1 * 0.3)  0.4
y
oP3  F ( Act P3 )  0.4
Para P4
Act P 4  w0P4 x0  w1P 4 o P1  w2P 4 o P 2  (0.6 * 1)  (0.2 * 0.6)  (1* 0.3)  0.2
y
o  F ( Act )  0.2
P4
P4
3- Calcular
 P3
y
 P4
 P3  (t P3  o P3 ) f ' ( Act P3 )  (1  (0.4)) *1  0.6
 P 4  (t P 4  o P 4 ) f ' ( Act P 4 )  (1  (0.2)) *1  1.2
20
Ejemplo (Backpropagation on-line) (cont.):
4- Calcular
 P1
y
 P2
 P1  ( P3wPP13   P 4 wPP14 ) * f ' ( Act P1 )  ((0.6 * 0.7)  (1.2 * 0.2)) *1  0.2
 P 2  ( P3 wPP23   P 4 wPP24 ) * f ' ( Act P 2 )  ((0.6 *1)  (1.2 * 1) *1  1.8
5- Cambiar los pesos
w0P1  w0P1  w0P1  w0P1   P1 x0  0.1  0.2 * (0.2) * (1)  0.14
w1P1  w1P1  w1P1  w1P1   P1 x1  1  0.2 * (0.2) * (1)  0.96
w2P1  w2P1  w2P1  w2P1   P1 x2  0.3  0.2 * (0.2) * (1)  0.34
Ejercicio: Calcular la actualización de los restantes pesos en la red.
6.1.3
Otras consideraciones sobre el entrenamiento de redes neuronales.
Profundización en aspectos esenciales del algoritmo de retro propagación y mejoras de
sus capacidades para el entrenamiento supervisado de una red neuronal multicapa.
Sobreajuste (overfit): Dado un espacio de hipótesis H (conjunto de pesos de la red
en este caso), una hipótesis h  H se dice que sobre ajusta los datos si existe una
h' H tal que h tiene menor error sobre el conjunto de
entrenamiento que h ' , pero h ' tiene un error menor que h sobre todo el conjunto de
hipótesis alternativa
instancias.
Momento: (Velocidad de convergencia, mínimos locales.)
Cualquiera de las siguientes definiciones:
wijt  (1   ) j x j  wij ,t 1
wijt   j x j  wij ,t 1
(Fyfe, 1996)
(Mitchel, 1997)
Efectos:
Mayores modificaciones a los pesos cuando en el paso t son en la misma dirección
que en el paso t-1 y pequeñas variaciones sino. Aumenta velocidad de convergencia.
Si la superficie de error tiene mesetas (regiones donde la derivada de E con respecto
a los pesos es pequeña o 0) los pesos no cambiarán, el momento funciona como una
especie de inercia en estas regiones.
Permite sobrepasar pequeños mínimos locales.
21
En el caso de Backpropagation On-line, el momento provee una especie de promedio
en las variaciones de los pesos. Es decir, como en cada paso los pesos se mueven de
acuerdo al ejemplo presentado, con el momento se puede lograr que no se desplacen
tanto en el nuevo sentido, sino que se recuerda la dirección y magnitud del cambio
anterior, no alejando tan significativamente los pesos de donde fueron llevados por el
ejemplo anterior.
Weight Decay: (sobreajuste)
wij  (1   )wij (Fyfe,1996)
No siempre conduce a un mejor desempeño (generalización) de la red, aunque
generalmente sí.
Como puede verse, los pesos que se modifican poco (no necesarios o que repercuten
poco en la disminución del error) se hacen cada vez más pequeños. Mientras aquellos
que son importantes no decaen indefinidamente. Los pesos no necesarios modelarían
el ruido, ya que comienzan a variar cuando los otros han convergido a mínimos del
error y solo entonces variaciones de estos conducen a pequeñas reducciones del
error.
Estimados del Desempeño. Train-Test, Crossvalidation
Train-Test (criterio de parada, sobreajuste, estimar desempeño de un clasificador)
De las D instancias disponibles se extrae una porción  | 0    1 como conjunto de
prueba (test set), las instancias restantes son utilizadas como conjunto de
entrenamiento (training set). Usualmente
  0.1 no obstante existen otros criterios
para determinar el valor de  . Un elemento muy importante a tener en cuenta el
número de grados de libertad del clasificador, el número total de pesos en el caso de
las Redes Neuronales Artificiales; cuanto mayor sea este número, menor debe ser  .
Sin embargo si es pequeño comparado con el número de ejemplos de entrenamiento
entonces los resultados no son muy sensibles al valor de  . Una vez seleccionados
ambos conjuntos, se entrena el clasificador hasta el número de ciclos de
entrenamiento que conduzca al menor error sobre el conjunto de prueba. Cuando se
cuentan con suficientes datos, es conveniente crear tres conjuntos, Train-TestValidation; los dos primeros son empleados como ha sido explicado mientras que el
conjunto Validation se utiliza para tener un estimado del desempeño del clasificador.
Este último esquema persigue validar el clasificador con datos que no hayan
intervenido en el entrenamiento, notar que el conjunto Test interviene
indirectamente, al ser utilizado para determinar el número de ciclos de
entrenamiento.
Crossvalidation (criterio de parada, sobreajuste, estimar desempeño de un
clasificador)
En este caso el conjunto de entrenamiento con D instancias es dividido en K
M
porciones de tamaño K . Se entrenan K clasificadores empleando un esquema TrainTest donde Ki-esimo clasificador entrenado toma como conjunto de prueba la porción
Ki y como conjunto de entrenamiento el conjunto formado por las porciones
restantes. En cada experimento se determina el número de ciclos de entrenamiento
22
I Ki
que conduce al menor error en el conjunto de prueba calculándose la media
de estos valores. Finalmente se entrena una red con todos los datos por
I Ki
I Ki ciclos
de entrenamiento.
Importante:
Tanto en el esquema Train-Test como en la Crossvalidation debe cuidarse que en
el conjunto de prueba no se incluyan instancias también contenidas en el conjunto
de entrenamiento. Este error tiene el nombre de “testing on the training set”
VII. Mapas Auto organizados de Kohonen.
A diferencia de las redes neuronales artificiales vistas en los epígrafes anteriores, los
Mapas Auto Organizados de Kohonen (Kohonen SOMs), en su definición más simple,
son un ejemplo de red que emplea Aprendizaje NO Supervisado. Su arquitectura la
define como una red de una sola capa, compuesta por neuronas situadas en un espacio
de dimensión arbitraria, aunque usualmente se utilizan solamente una o dos
dimensiones como en el ejemplo de la Figura 17. Cada neurona es caracterizada por
dos vectores, uno con las coordenadas en el espacio físico y otro con pesos asociados
a cada una de las dimensiones de los vectores de entrada, cuatro en el ejemplo.
Una de las ideas que define este modelo es que, al presentar un ejemplo X a la red una
neurona es seleccionada como ganadora. Los pesos de esta son actualizados de modo
que se parezcan más a X. Las restantes neuronas son modificadas, comúnmente de
forma que también intenten asemejarse a X aunque cambian sus pesos en una cantidad
menor, proporcional a una función de vecindad que describe que tan cerca está la
neurona en cuestión de la ganadora, en el espacio físico.
Debe notarse que cada instancia X mostrada a la red representa un punto en el espacio
de pesos. Al tener cada neurona un vector de coordenadas en el espacio físico, puede
decirse que a cada punto del espacio de pesos se le hace corresponder un punto en el
espacio físico. Así, por ejemplo, si al presentar el ejemplo X=[1,2,1,5] a la red en la
Figura 17 resultara como ganadora N3, estaríamos estableciendo un mapeo desde el
punto X en el espacio de pesos al punto [1,3] en el espacio físico.
Importante:
El mapeo que establecen los Mapas Auto Organizados de Kohonen tiene la
particularidad de preservar la topología, es llamado “topology preserving map”, lo
que, entre otras propiedades significa que neuronas cercanas en el espacio físico
deben responder a ejemplos cercanos en el espacio de los pesos.
23
Neuronas (espacio físico)
[1,1]
N1
[..,..]
N4
N7
[1,2]
[1,3]
N2
N3
N5
N8
N6
N9
Vector de pesos (espacio de los
pesos) de la neurona 3, situada
en las coordenadas [1,3] del
espacio físico.
w13=0.6
w23=0.2
w33=-1
w43=-1
[3,3]
X=[x1,x2,x3,x4]
Figura 17: Ejemplo de la arquitectura de un Mapa Auto Organizado de Kohonen.
7.1 Algoritmo de Clustering Kohonen-SOM.
Algoritmo de Entrenamiento y Clustering, Kohonen-SOMs
Comienzo:
S: Conjunto de instancias {X1,X2…Xp}
N: Número de iteraciones a realizar.]
/*Fase de entrenamiento*/
1- Inicializar los pesos de cada neurona.
2- Seleccionar una instancia Xk en S de forma aleatoria y calcular
D(Xk,Ni) para cada neurona i en la red.
3- Seleccionar la neurona ganadora i*, que es aquella que tiene menor
D(Xk,Ni).
4- Actualizar los pesos para cada neurona en la red:
wijt  wijt 1   ( x j  wijt 1 ) * f (d (i, i*)) donde
es cualquiera de las funciones en la Figura 18 y d (i, i*) es
la distancia euclidiana entre i e i*.
f (d (i, i*))
5- Volver al paso 2 si t < N
/*Fase de identificación de clústeres*/
6- Identificar los clústeres: cada instancia X es asignada al clúster
definido por la neurona ganadora al presentar X a la red.
Notar que:
- La función de vecindad se refiere al espacio donde están situadas las neuronas, y no
a las distancias en el espacio del vector de pesos.
24
- Debe prestarse atención al hecho de que muchas neuronas pueden no haber ganado
nunca, por lo que no conforman ningún clúster.
- Puede cambiarse la función de vecindad, dando lugar a diferentes comportamientos
del algoritmo. Por ejemplo empleando la función del “Sombrero Mexicano” provoca que
las neuronas más alejadas de la neurona ganadora muevan sus pesos en dirección
contraria al vector de entrada. La Figura 18 ilustra algunas funciones de vecindad.
Figura 18: Diferentes funciones de vecindad.
Importante:
La regla de actualización de los pesos depende de la métrica utilizada para
determinar la neurona ganadora. Por ejemplo, si se emplea como criterio el
Coeficiente de Correlación:
entonces debe tomarse
d ( x, n)  w jn x j

j 1
w w
t
jn
t 1
jn
  ( x j ) * f (d (i, i*)) . En caso de no emplearse la regla de actualización
adecuada pueden repercutir negativamente en el desempeño de la red.
Nota: En caso de emplear el Coeficiente de Correlación, la neurona ganadora es la
que tenga mayor valor.
25
VIII. Problemas Redes Neuronales Artificiales.
Problema 1
Para los ejemplos de la tabla de verdad del operador lógico AND, tabule los pesos de
un perceptrón simple con   0.5 luego de presentar los 4 ejemplos si inicialmente
wo  0.3 , w1  0.2 , w2  0.1 .
Problema 2
Empleando el algoritmo de entrenamiento del perceptrón ajuste los pesos de la red
representada a continuación de modo que aprenda la
función NAND.
𝑥1
𝑤1 = 1
𝑤0 = 1.5
a) Repita el ejercicio, pero esta vez para aprender
la función NOR.
𝑥2
𝑤2 = 1
Problema 3
Explique la razón por la que el perceptrón simple con función de activación sgn(X) no
puede aprender la función XOR.
Problema 4
¿Puede una red de dos perceptrones
estructurados como se muestra en la figura
aprender la función XOR? Justifique.
Problema 5
Dado el conjunto de ejemplos que se muestra en la siguiente tabla.
X1
X2
X3
Y
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
a)
Sin emplear el algoritmo de entrenamiento
del perceptrón, determine un vector de pesos
adecuado para que un Perceptrón simple pueda
responder correctamente cada ejemplo.
26
Problema 6
Dado el conjunto de ejemplos que se muestra en la siguiente tabla.
X1
X2
X3
Y
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
a)
Diga si es posible crear un Perceptrón simple
capaz de aprenderse todos los ejemplos. Justifique
su respuesta.
Problema 7
En el lenguaje de su preferencia implemente un Perceptrón
simple que permita especificar:
-
Tabla 1
E1,E2,E3,E4,Final
El factor de aprendizaje que se utilizará durante el
entrenamiento.
1,5,2,3,Aprobado
-
Un valor booleano decay que indicará si el factor de
aprendizaje se disminuirá durante el entrenamiento.
4,2,3,4,Aprobado
-
La cantidad máxima de iteraciones.
-
La dirección de un fichero que contendrá un conjunto de
entrenamiento en el siguiente formato:
Att1, Att2, Att3, …, Attn, Clase
Con estos datos, su programa deberá entrenar el perceptrón.
Luego de esto, deberá permitir especificar la dirección de un
archivo CSV con el mismo formato, pero en el que no se
especificará la clase para cada instancia, esto se denotará
mediante el valor “?” La aplicación deberá imprimir la
clasificación que asigna el perceptrón a cada ejemplo.
6,2,6,6,Aprobado
7,2,6,6,Aprobado
6,4,1,5,Aprobado
6,5,2,4,Aprobado
3,7,3,4,Aprobado
3,5,4,7,Aprobado
5,4,2,7,Aprobado
5,5,3,4,Aprobado
2,1,1,3,Aprobado
4,4,3,5,Aprobado
5,6,4,4,Reprobado
a) Utilice esta herramienta para entrenar perceptrones que
modelen las funciones lógicas OR, AND, NAND y NOR
4,2,3,2,Reprobado
b) En Estasia los estudiantes deben realizar cuatro
evaluaciones semestrales en las que reciben
calificaciones de 1 a 7 puntos. Posteriormente una
supercomputadora decide si el estudiante ha aprobado
o no utilizando un extraño procedimiento desconocido
por todos.
7,6,6,3,Reprobado
3,4,6,1,Reprobado
4,5,6,4,Reprobado
4,1,6,1,Reprobado
6,4,5,3,Reprobado
2,4,3,1,Reprobado
E1,E2,E3,E4,Final
27
Cinco estudiantes que cursan Inteligencia Artificial
tienen las calificaciones que se dan a continuación, pero
desconocen si aprobarán. Saberlo con antelación, al
menos con cierta exactitud, les permitirá prepararse con
más tiempo para las recalificaciones.
6,6,1,7, ?
3,7,2,6,
Tabla
2?
1,6,7,4, ?
6,5,4,7, ?
1,5,6,1, ?
Conocen además las calificaciones obtenidas por sus compañeros y si estos
aprobaron o no (Tabla 1).
Entrene un perceptrón a partir de los datos en la Tabla 1. Cuide realizar las
siguientes sustituciones: Aprobado=1 y Reprobado=-1
b.1) Evalúe el perceptrón utilizando los propios datos de entrenamiento. ¿Qué
% de las instancias clasifica correctamente?
b.2) Utilice este perceptrón para asignar las calificaciones a los cinco
estudiantes si sus notas fueron las que se indican en la Tabla 2.
Problema 8
Investigadores de la UCSC han estudiado el efecto de campañas de sensibilización
sobre donaciones de sangre atendiendo a la importancia que estas tienen. Para esto
han recopilado información sobre donantes durante una campaña realizada en la ciudad
de Concepción según se muestra en la Tabla 2. Durante el estudio se ha observado
que algunos donantes solo participan si los visita el laboratorio móvil pues por diversas
razones no desean ir al hospital.
En esta ocasión se realizará una
campaña similar en Cañete pero dado
que los recursos son limitados, se
desea
visitar
personalmente
a
aquellos donantes que se presume no
lo harán a menos que los visten, sin
embargo no se conoce con exactitud
quienes serán. Su tarea es ayudarlos
a predecir quienes deben ser
visitados utilizando un perceptrón
simple y la información recopilada en
Concepción,
algunos
de
cuyos
ejemplos se muestran en la Tabla 3
Tabla 2 Datos recopilados
Variable
Descripción
R
Meses desde la última donación
F
Número total de donaciones
realizadas
Total de decilitros donados
histórico
Meses desde la primera donación
Indica si ha donado,
representado por 1, durante el
mes de la campaña
M
T
D
a) Diseñe el perceptrón (elaborar un diagrama similar al visto
en clases donde indique los diferentes elementos de su red)
b) Indique cuál sería la salida de la red al presentarle el
segundo ejemplo luego de ajustados los pesos al aplicar el
algoritmo de entrenamiento del perceptrón con el primer
ejemplo. Deje indicadas las fórmulas y cálculos necesarios.
Tabla 3
R F
0 13
1 24
4 4
2 7
1 16
Ejemplos
M
T
3.2 28
5.0 77
1.0 4
1.7 14
4.0 35
D
1
0
0
1
1
28
Problema 9
Obtenga la expresión para  w al emplear la Regla Deltha cuando se toma como función
de activación tanh(Act).
Problema 10
Para los ejemplos de la tabla de verdad del operador lógico OR:
a) Aplique un ciclo de entrenamiento mediante la variante on-line de la Regla
Deltha.
b) Aplique un ciclo de entrenamiento mediante la variante batch de la Regla
Deltha.
c) Compare los valores finales de los pesos si
  0.5 wo  0.3 , w1  0.2 ,
w1  0.1 inicialmente.
Problema 11
Se conoce que los ejemplos en un determinado conjunto de entrenamiento no son
linealmente separables. Describa como podría encontrar el vector de pesos que cometa
la menor cantidad de errores empleando solamente el algoritmo de entrenamiento del
perceptrón.
Problema 12
Sean hj y hk dps funciones booleanas definidas sobre X. Se dice que “hj es tan o más
general que hk”, y se escribe h j  g hk , si y solo si x  X [hk ( x)  1  h j ( x)  1] . Si se
cumple que (h j  g hk )  (hk  g h j ) se dice que “hj es más general que hk” y se
denota por
h j  g hk .
w0  w1 x1  w2 x2  0
w0  0, w1  2, w2  1 . Puede
a) Considere dos perceptrones A y B definidos por la expresión
donde A tiene los pesos
w0  1, w1  2, w2  1
y B
decirse que A  g B . Justifique.
Problema 13
Responda verdadero o falso según corresponda. Justifique en cada caso.
a) ___ En el algoritmo de Retropropagación batch la medida del error de las neuronas
ocultas se calcula
wdj  (t d  o d ) f ' ( Act d ) x dj
b) ___ El algoritmo de Retropropagación es un ejemplo de método de aprendizaje
supervisado.
29
c) ___ Si dos Perceptrones Multicapa A y B con idéntica topología se diferencian en
que todas las neuronas de A calculan f (net)  net mientras que B utiliza funciones
sigmoides entonces A tiene mayor poder de representación que B.
d) La técnica de weight decay consiste en dividir el conjunto de datos en N
subconjuntos, tomando N-1 para entrenar y 1 como conjunto de prueba.
e) ___ La red mostrada en el diagrama se corresponde
con la arquitectura definida para el Perceptrón
multicapa.
Problema 14
Suponga que desea transmitir por la red 20 imágenes en tonos de gris de 64x64
pixeles, donde para representar cada pixel se emplea 1 byte. Según estas condiciones
necesitaría enviar 20x64x64= 81920 bytes por la red.
Dado que puede construir un Perceptrón Multicapa con la topología siguiente: 1 capa
oculta de 10 neuronas y 64 neuronas en la capa de salida. Se sabe también que la
topología de la red puede codificarse en un fichero donde cada peso ocupará 1 byte.
a) Sabiendo que es permitida la pérdida de cierta cantidad de información, describa
de qué forma podría emplear el Perceptrón Multicapa para transmitir las 20
imágenes empleando una cantidad de bytes menor que los 81920 requeridos
inicialmente.
Problema 15
Se conoce que los Perceptrones Multicapa pueden presentar problemas respecto a la
velocidad de convergencia, los mínimos locales y la capacidad de generalización.
a) Seleccione dos de estos problemas y explique mediante que técnicas los resolvería.
Problema 16
Asuma que tiene un mapa auto organizado de Kohonen de dos dimensiones con 9
neuronas. Las coordenadas de cada neurona en el retículo son n1=[0,0], n2=[1,0],
n3=[2,0], n4=[0,1], n5=[1,1], n6=[2,1], n7=[0,2], n8=[1,2], n9=[2,2].
En la iteración t cada neurona tiene pesos w1=[4,5], w2=[5,3], w3=[4,6], w4=[1,1],
w5=[2,2], w6=[0,0], w7=[6,4], w8=[3,5], w9=[5,4]. Si se presenta a la red el vector
x=[3,3] qué valor tendrán los pesos de cada neurona en la iteración t+1 si   0.5 y
si d (i, j )  0
1

f ( d (i, j ))  0.5 si d (i, j )  1
 0 eoc

30
IX. Soluciones Problemas Redes Neuronales Artificiales.
Problema 8
Pauta:
𝑤0
𝑥0 = −1
𝑤1
𝑥1
𝑤2
𝑥2
4
𝐴𝑐𝑡 = ෍ 𝑤𝑖 𝑥𝑖
𝑜 = 𝑓(𝑎𝑐𝑡) = ቄ 1 ⬚ 𝑎𝑐𝑡 >
−1 ⬚
𝑒𝑜𝑐
𝑖=0
𝑤3
𝑥3
𝑤4
𝑥4
-
1 pto x diseñar red con 4 entradas y pesos correspondientes a R, F, M, T y 𝑥0 ,
𝑤0
1pto expresiones de 𝐴𝑐𝑡 y 𝑜
Pauta:
-3 pts. por calcular correctamente la salida de la red para el ejemplo 1 (dejando
expresiones y cálculos correspondientes incluyendo valores iniciales para los 𝑤𝑖 )
-3 pts. por expresión aplicar correctamente actualización de los pesos en función
de 𝑤𝑖 = 𝑤𝑖 + 𝜂(𝑡 − 𝑜)𝑥𝑖
- 2pts calcular correctamente la salida de la red para ejemplo 2.
31
Bibliografía
1.
Jain, A.K. and J. Mao, Artificial Neural Networks: A Tutorial. IEEE, 1996: p. 31-44.
2.
Pollack, J.B., Connectionism: Past, Present, and Future. Artificial Intelligence Review,
1988.
3.
Theodoridis, S. and K. Koutroumbas, Pattern Recognition. 2006. (080510_IA_11).
4.
Brío, B.M.d. and A.S. Molina, Redes Neuronales y Sistemas Difusos., ed. Alfaomega. 2001.
(IA_080418_18).
5.
Mitchell, T.M., Machine Learning. 1997: McGraw-Hill. (IA_080419_0).
6.
Krose, B. and P.v.d. Smagt, An Introduction to Neural Networks. 1996: University of
Amsterdam. (IA_080419_05).
7.
Fyfe, C., Artificial Neural Networks. 1996, University of Paisley.
8.
Freeman, J.A. and D.M. Skapura, Neural Networks. Algorithms, Applications and
Programming Techiniques. 1991: Addison-Wesley. (IA_080419_21).
9.
Duda, R.O., P.E. Hart, and D.G. Stork, Pattern Classification. 2001: Wiley-Interscience.
(IA_080419_30).
10.
Veelenturf, L.P., Analysis and Applications of Artificial Neural Networks. 1995: Prentice
Hall. (IA_080919_1)
32
Download