C6 Perceptron Multicapa Parte 3
C6 Perceptron Multicapa Parte 3
C6 Perceptron Multicapa Parte 3
PERCEPTRON MULTICAPA
Clases con Formas de
Regiones de Problema
Estructura Regiones Regiones más
Decisión de la XOR
Mezcladas Generales
Medio Plano
Limitado por un
Hiperplano
Regiones
Cerradas o
Convexas
Complejidad
Arbitraria
Limitada por el
Número de
Neuronas
1
5. 11 PERCEPTRON MULTICAPA
Un Perceptrón multicapa es una red con alimentación hacia delante,
compuesta de varias capas de neuronas entre la entrada y la salida de la
misma, esta red permite establecer regiones de decisión mucho más
complejas que las de dos semiplanos, como lo hace el perceptrón de un solo
nivel.
Estructura de la Red: La estructura típica de una red multicapa se observa en
la figura.
2
Notación compacta de una red de tres capas
3
5.12. BACKPROPAGATION O RETROPROPAGACION
• Procedimiento para encontrar el vector gradiente de una función
error asociada a la salida de la red con respecto a los parámetros de
la misma.
• El nombre backpropagation surge pues del cálculo que se hace en
el sentido inverso de la red, propagándose desde los nodos de
salida hacia los nodos de entrada.
• Esto permite poder aplicar a posteriori alguno de los muchos
métodos de optimización con gradiente para obtener el
comportamiento deseado de la red.
• Las redes tipo Backpropagation utilizan principalmente dos
funciones de transferencia en la primera capa: logsig, cuando el
rango de la función es siempre positivo y tansig como en este caso,
cuando se le permite a la función oscilar entre valores positivos y
negativos limitados en el intervalo –1, 1.
• El algoritmo Backpropagation es fácil de implementar, y tiene la
flexibilidad de adaptarse para aproximar cualquier función, siendo
una de las redes multicapa más potentes;
4
Retropropagación
constante
b
wk1 (n)
x1(n) función de
resultado transferencia salida salida
net =ok(n) calculada deseada
x2(n)
wk2 (n)
f() yk(n) dk(n)
sumatoria
ek(n)
wk3 (n)
x3(n) ek(n) = dk(n) – yk(n)
Pesos
entradas k = capa
5
Backpropagation. Arquitectura
6
Backpropagation
Dado el siguiente conjunto de vectores
{( x1 , y1 ), ..., ( x p , y p )}
que son ejemplos de correspondencia funcional
y (x) x R N , y RM
se busca entrenar la red para que aprenda una
aproximación
y ' ' ( x)
7
Backpropagation. Capa Oculta
• Patrón de entrada
x p ( x p1 , x p 2 ,..., x pN ) t
i pj f (neta )
j
h h
pj
8
Backpropagation. Capa de Salida
• Entrada neta de la k-ésima neurona de la capa de
salida
L
neta w i
o
pk
o
kj pj
o
k
• Salida de la k-ésima neurona
j 1 de la capa de salida
o pk f ko (netaopk )
9
Actualización de pesos
2 k 1
M
1
E p ( y pk o pk ) 2
2 k 1
se tomará el valor negativo del gradiente
11
Actualización de pesos
E p f o
(neta ) o
( y pk o pk ) k pk
wkj
o
(netaopk ) wkjo
(neta )o
L o
o
pk
wkj i pj hk i pj
o
wkj
o
wkj
j 1
Salida de la
E p neurona oculta j
( y pk o pk ) f k ' (neta pk )i pj
o o
wkj
o
w (t 1) w (t ) i
o
kj
o
kj
o
pk pj
donde
w (t 1) w (t ) p w (t )
o
kj
o
kj
o
kj
p w (t ) ( y pk o pk ) f ' (neta )i pj
o
kj k
o o
pk
neta ojk 1
b) f (neta ) (1 e
k
o o
jk )
• Derivadas
a) f ' 1
k
o
b) f ' f (1 f ) o pk (1 o pk )
k
o
k
o
k
o
14
Actualización de pesos
Por lo tanto, si se utiliza a)
wkjo (t 1) wkjo (t ) ( y pk o pk )i pj
y si se utiliza b)
wkjo (t 1) wkjo (t ) ( y pk o pk )o pk (1 o pk )i pj
15
Actualización de pesos
• Corrección para los pesos de los arcos entre la capa
de entrada y la oculta
p w (t ) x pi
h
ji
h
pj
• serán de la forma:
17
ALGORITMO DE RETROPROPAGACION
(Modificado de Internet de Francisco José Ribadas Peña)
20
Ajuste de pesos por retropropagacion del error
• Neurona o1:
• Error real obtenido en neurona o1: t1 − o1 = 1 − 0,573 = 0,427
• Nuevos pesos para neurona o1: W2jk = W2jk + α hj ∆k
∆k = g′(entk) ∗ (Tk − ok) = ok ∗ (1 − ok) ∗ (Tk − ok)
∆1 = 0,573 ∗ (1 − 0,573) ∗ 0,427 = 0,1044
• W211 = W211 + αh1∆1 = 0,2 + 0,25 ∗ 0,332 ∗ 0,1044 = 0,2086
• W221 = W221 + αh2∆1 = 0,4 + 0,25 ∗ 0,574 ∗ 0,1044 = 0,4149
21
(2) Pesos de la capa oculta
• Formulas de ajuste:
• Error estimado en neurona hj:
OJO: W2jk se refiere a los pesos de la capa de salida antiguos (antes del ajuste
anterior)
• Nuevos pesos para neurona hj: W1ij = W1ij + α ij∆1j
Neurona h1:
Error estimado:
∆1 = h1 ∗ (1 − h1) ∗ (W211 ∗ 0,1044) = 0,332 ∗ (1 − 0,332) ∗ (0,2 ∗
0,1044) = 0,046
• Nuevos pesos:
W111 = W111 + αi1∆1 = 0,1 + 0,25 ∗ 0 ∗ 0,046 = 0,1
W121 = W121 + αi2∆1 = −0,7 + 0,25 ∗ 1 ∗ 0,046 = −0,684
22
(2) Pesos de la capa oculta
• Neurona h2:
• Error estimado:
• ∆2= h2 ∗ (1 − h2) ∗ (W221 ∗ 0,1044) = 0,574 ∗ (1 − 0,574) ∗ (0,4
∗ 0,1044) = 0,0102
• • Nuevos pesos:
• W112 = W112 + αi2∆1 = 0,5 + 0,25 ∗ 0 ∗ 0,0102 = 0,5
• W122 = W122 + αi2∆1 = 0,3 + 0,25 ∗ 1 ∗ 0,0102 = 0,3025
23
Nueva
red
24
EJEMPLO 2 BAKPROPAGACION 1.5
0.5
0
-3 -2 -1 0 1 2 3
-0.5
-1
-1.5
1 2 3 4 5 6
p -2 -1,2 0,4 0,4 1,2 2
t -1 -0,81 -0,31 0,309 0,809 1
25
Ejemplo 2 BackPropagacion
Los valores iniciales para la matriz de pesos y el vector de ganancias de la
red se escogieron en forma aleatoria así:
26
Ejemplo 2 BackPropagacion
• Y las sensitividades, empezando desde la última hasta la primera capa,
• s2=-2(1) (-1.63) = 3.26
Ej 2. Ejemplo de modelo
hexagonal
28
REDES DE KOHONEN
• EL esquema básico de un modelo de Kohonen tiene la propiedad de modificarse a
si mismo.
• Las neuronas de la capa compiten entre sí para ser los vencedores en cada
modificación .
• La Neurona cuyo vector de pesos genera la menor distancia Euclidiana con el
vector de entrada es el vencedor. Dentro de este modelo no supervisado, no
solamente los pesos del vencedor, sino también los pesos de sus vecinos ( dentro
de un sentido físico) son ajustados.
30
REDES DE KOHONEN
La neurona
• Si la red posee un total de 30 neuronas en la capa de salida, habrá
consecuentemente 30 salidas posibles para cualquier cantidad de entradas que
la red estuviere siendo sometida.
• Otro aspecto fundamental es que la neurona estará ampliamente conectada con
las entradas, Eso quiere decir que , habiendo 10 entradas habrá
consecuentemente 10 conexiones sinápticas entre cada neurona de salida y los
10 puntos de la capa de entrada.
Salidas (y)
Entradas (x)
Salidas (y)
Pesos (w)
sinápticos
Entradas (x)
Ejemplo1 Ejemplo 2
Vi(1)
REDES DE
KOHONEN V i(2)
35
REDES DE KOHONEN
LA ADAPTACION DE LAS NEURONAS (AJUSTE DE PESOS)
• Imaginemos que x = [ x1, x2,x3,--- xn] representa nuestra
entrada en un tiempo t cualquiera y w = [wi1, wi2, wi3,…-
win] los pesos de una neurona i cualquier en el mismo
tiempo t- De esa forma si el cálculo de la distancia Euclidiana
(d) de la neurona i es
• Dj(t) =∑ (xj(t)-wij(t)2
• Donde : d= distancia de la neurona
– i= índice de las entradas y de los pesos
– j=indexación de las entradas y de los pesos
– N= Numero de entradas (Cantidad de x y respectivamente
cantidad de w por neurona)
– Xj(t)= entrada j en el tiempo t
– Wij(t)= peso j de la neurona i en el tiempo t
36
REDES DE KOHONEN
• Ejemplo podemos suponer que en el momento los valores de la
entrada fuesen x = { 10,4,3,7,5 } y los pesos de la neurona 3 en el
mismo momento fuesen
w = {4,6,2,8,4} La distancia entonces sería igual:
• D3= (x1-w31)2 +(x1-w32)2 + (x1-w33)2+ (x1-w34)2 +(x1-w35)2
• D3= (10-4)2 +(4-6)2 +(3-2)2+ (7-8)2 +(5-5)2
• D3= (6)2 +(-2)2 +(1)2+ (-1)2 +(0)2 D3= 36 +4 +1+ 1 +0= 42
• En cada paso del aprendizaje la neurona que mejor responde (que
posee la menor diferencia), deberá ser ajustado para responder
aun más aquella entrada y conjuntamente, todas las neuronas
dentro de la vecindad Vj serán alterados. Las neuronas que
estuvieren fuera del subconjunto de vecindad no serán
alterados.
• La adaptación de Kohonen es muy simple- Básicamente es pegar
la diferencia entre los vectores (x y w) y sumar una fracción de
esta diferencia al vector de pesos originales (w):
37
REDES DE KOHONEN
• Este proceso no es hecho solamente para la neurona vencedora,
mas también para su vecindad . realizando este proceso tenemos
los siguientes pasos:
• La tasa de error es la entrada menos el peso ( x(t)- Wi(t))
• La tasa de error es entonces multiplicado por una constante de
aprendizaje α(t)
• El peso ahora es igual al propio, mas la tasa de error
• Para ese conjunto de valores y métodos obtenemos un nuevo
peso.
• Matemáticamente quiere decir:
• Wi(t+1) = { wi(t)+a(t)[x(t)-wi(t)] } Si i Є Vi(t))
• wi(t) Si i Є Vi(t)
• 0 <α(t)<1
38
EL ALGORITMO DE LA RED NEURONALDE KOHONEN
• Los pasos de los pasos de entrenamiento de una red de Kohonen
• 01 Especificar el número de iteraciones
• 02 Inicializar los pesos de las N neuronas con valores aleatorios
bajos( bajos en relación a los valores de entrada)
• 03 Situar la razón de vecindad Vi de cada neurona (inicialmente
se recomienda que Vi sea igual al tamaño de la red)
• 04 Presentar una entrada a la red
• 05 Calcular la distancia Euclidiana entre la entrada y los pesos
para cada neurona de salida
N
• Di= Σ (xi(t)- Wij(t))2
J=1
39
EL ALGORITMO DE LA RED NEURONALDE KOHONEN
• 06 Seleccionar la neurona vencedora o sea la neurona que
presenta la menor distancia ( el menor di)
• 07 Los pesos de la neurona seleccionada son actualizados
juntamente con todas las neuronas que están dentro de la
vecindad definido por Vi(t)
• Wij(t+1)=Wij(t)+a(t)(xi(t)-Wij(t)) Donde i Є Vi(t) y 0< i <= N
• El termino (t) es un termino de avance que debe estar entre 0 y 1
( 0 < α <1 ) t(1) ) Se recomienda iniciar con un valor alto y
decrementandolo con el correr del tiempo
• 07 Es necesario modificar la razón de vecindad de las neuronas
• Esa modificación deberá implicar nuevo decremento de la razón
de Vi(t)
• 08 Se existe aún algún hecho que hace parte del conjunto de
entrenamiento que no fue presentado a la red volver al paso 03
• 10.- Si un número de iteraciones realizadas hasta este momento
convergió a un número especificado en el inicio encerrar esa
fase de entrenamiento, caso contrario realizar nueva iteración
del conjunto de entrenamiento retornándolo al paso 04
40
UN EJEMPLO DE RED DE KOHONEN
• Se tiene un pequeño ejemplo sobre el
funcionamiento de entrenamiento de algoritmo de
Kohonen , utilizamos para este caso un conjunto de
entrenamiento pequeño siendo aplicado también a
una red pequeña . Esto fue hecho para simplificar el
entrenamiento y también tornarlo más rápido.
Fig 7 Mapa de 4
neuronas de salida
con dos neuronas de
entrada
10
11 D=S(x-w)
2 12 D=S(x-w)
2
2 2 D11=(7-2)2+(2-2)2
6.6 2 D12=(7-6.6 )2+(2-2)2
D12=0.16
D11=25+0
7 2 D11=25 7 2 D12= 0.16
21 D=S(x-w)
2 22 D=S(x-w)
2
2 1 D21=(7-2)2+(2-1)2
0.01 3 D22=(7-0.01 )2+(2-3)2
47
REDES DE KOHONEN presentando el conjunto [8,3]
Calculando la distancia Neurona Calculando la distancia
Neurona de la neurona 21
de la neurona 11
11 D=Σ(x-w)2
12 D=Σ(x-w)2
6.96
2 1 D11=(8-2)2+(3-2)2 2 D12=(8-6.96)2+(3-2)2
21 D=Σ(x-w)2
22 D=Σ(x-w)2
0.01
2 1 D21=(8-2)2+(3-2)2 3 D22=(8-0.01)2+(3-3)2
e 1={0,3}
1,1 1,2
49
5.14 RED DE HOPFIELD
• Las redes de Hopfield son redes de adaptación probabilística,
recurrentes, funcionalmente entrarían en la categoría de las
memorias autoasociativas, es decir, que aprenden a reconstruir los
patrones de entrada que memorizaron. Usado en el
reconocimiento de patrones w12
1 2
w21
w41
w13 w13
12 w32
w23
w24 w42
w14
w34
3 4
w43
50
A 1 2 3 4 salida
1 1 0 -3 3 -3 3 -6 3 -6
EJEMPLO DE RED DE 0 2 -3 0 -3 3 1 0 1 0
HOPFIELD 1 3 3 -3 0 -3 Recuerda a A
0 4 -3 3 -3 0
PARA EL VECTOR B
B 1 2 3 4 salida
0 1 0 -3 3 -3 -6 3 -6 3
1 2 -3 0 -3 3 0 1 0 1
0 3 3 -3 0 -3 recuerda a B
1 4 -3 3 -3 0
PARA EL VECTOR C
C 1 2 3 4 salida
0 1 0 -3 3 -3 -3 0 -3 3
1 2 -3 0 -3 3 0 1 0 1
0 3 3 -3 0 -3 recuerda a B
0 4 -3 3 -3 0
PARA EL VECTOR D
D 1 2 3 4 salida
0 1 0 -3 3 -3 3 -3 0 -3
0 2 -3 0 -3 3 1 0 1 0
1 3 3 -3 0 -3 recuerda a A 51
0 4 -3 3 -3 0
RED DE HOPFIELD
• Aquí damos un ejemplo de asociación del patrón usando una red Hopfield.
Un patrón representando un carácter se convierte en una entrada para una
red Hopfield a través de un vector bipolar. Este vector bipolar es generado
de la cuadrícula pixel (el elemento del cuadro) para el carácter. Con una
asignación de uno 1 para un pixel negro y uno - 1 para un pixel que es
blanco.
• Por simplicidad usaremos cuadrícula del 3x3 para el patrón de carácter en
nuestro ejemplo, ésta significa que la red Hopfield Tenga 9 nodos en una
red neuronal en la única capa de la red. Otra vez por simplicidad. Usamos
dos patrones del prototipo, o patrones referenciales( ver Figura5.
Considere el patrón a la izquierda como una representación del carácter
"positivo". +. Y el que está en la derecha que de, "menos".
-1 1 -1 -1 -1 -1
1 1 1 1 1 1
-1 1 -1 -1 -1 -1
52
SIGNO +
-1 1 -1 1 1 1 -1 1 -1
Salida
C+ 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
-1 1 0 0 2 -2 -2 -2 2 0 2 -12 2 -12 12 14 10 -12 2 -12
1 2 0 0 0 0 0 0 0 2 0 -1 1 -1 1 1 1 -1 1 -1
-1 3 2 0 0 -2 -2 -2 2 0 2 Recuerda al signo +
1 4 -2 0 -2 0 2 2 -2 0 -2
1 5 -2 0 -2 2 2 0 -2 0 -2
1 6 -2 0 -2 2 2 0 -2 0 -2
-1 7 2 0 2 -2 -2 -2 0 0 2
1 8 0 2 0 0 0 0 0 0 0
-1 9 2 0 2 -2 -2 -2 2 0 0 RED DE HOPFIELD
signo menos
-1 -1 -1 1 1 1 -1 -1 -1
Salida
C- 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
-1 1 0 0 2 -2 -2 -2 2 0 2 -12 -2 -12 12 14 10 -12 -2 -12
-1 2 0 0 0 0 0 0 0 2 0 -1 -1 -1 1 1 1 -1 -1 -1
-1 3 2 0 0 -2 -2 -2 2 0 2 Recuerda al signo -
1 4 -2 0 -2 0 2 2 -2 0 -2
1 5 -2 0 -2 2 2 0 -2 0 -2
1 6 -2 0 -2 2 2 0 -2 0 -2
-1 7 2 0 2 -2 -2 -2 0 0 2
-1 8 0 2 0 0 0 0 0 0 0
-1 9 2 0 2 -2 -2 -2 2 0 0
53
RED DE HOPFIELD
signo corrompido
-1 -1 -1 1 1 1 -1 -1 -1
Salida
C- 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
-1 1 0 0 2 -2 -2 -2 2 0 2 -12 2 -12 12 14 10 -12 2 -12
1 2 0 0 0 0 0 0 0 2 0 -1 1 -1 1 1 1 -1 1 -1
-1 3 2 0 0 -2 -2 -2 2 0 2 Recuerda al signo -
1 4 -2 0 -2 0 2 2 -2 0 -2
1 5 -2 0 -2 2 2 0 -2 0 -2
1 6 -2 0 -2 2 2 0 -2 0 -2
-1 7 2 0 2 -2 -2 -2 0 0 2
1 8 0 2 0 0 0 0 0 0 0
-1 9 2 0 2 -2 -2 -2 2 0 0
54
5.15 DESCRIPCIÓN DE LAS FUNCIONES UTILIZADAS EN MATLAB
• Red tipo Perceptrón: en Matlab 7.4:
• newp: Crea una red tipo Perceptrón, que requiere las siguientes entradas:
• NET = NEWP(PR,S,TF,LF)
PR : Rx2 matriz de valores máximos y mínimos para los R elementos de entrada.
S : Número de neuronas.
• TF : Función de Transferencia, en este '. caso 'hardlims'.
LF : Función de aprendizaje, para este caso 'learnp
• rands: Función simétrica que inicializa aleatoriamente los valores de pesos y ganancias
de una red con valores entre -1 y 1; requiere de la estructura
• rands(S,PR), generando una matriz de dimensiones S x PR.
• adapt: Permite a una red neuronal adaptarse a los patrones de entrada, esta función
tiene la siguiente sintaxis: [net,Y,E,Pf,Af] = adapt(NET,P,T,Pi,Ai)
• net : Red que va a crearse
P : Entradas a la red; deben aparecer en forma de un arreglo de matrices.
T : Salidas esperadas de la red, si no se especifican son ceros por defecto.
Pi : Condiciones de retardo para la entrada inicial, por defecto son ceros.
Ai : Condiciones de retardo para la capa inicial, por defecto ceros
• net.adaptParam.passes: Número
55
• Red tipo Backpropagation:
• newff: Crea una red tipo Backpropagation, requiere que le sean especificados los
siguientes parámetros newff: (PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
• PR : Rx2 Matriz de valores máximos y mínimos de cada uno de las R neuronas de
entrada.
Si : Número de neuronas para cada una de las capas.
TFi : Función de transferencia a utilizar en cada una de las capas, por defecto utiliza tansig
BTF : Algoritmo de entrenamiento a utilizar, por defecto utiliza trainlm
BLF : Función de actualización de los pesos, por defecto utiliza learngdm.
PF : Función para evaluar el desempeño de la red, por defecto utiliza mse.
Traingd:. Es un algoritmo de aprendizaje muy lento, que requiere de la siguiente sintaxis:
• net.trainParam.epochs: Máximo número de iteraciones para obtener convergencia
• net.trainParam.goal: Error máximo permitido
• net.trainParam.lr: Rata de aprendizaje
• net.trainParam.max_fail: Máximo número de fallas
• net.trainParam.min_grad: Mínimo rendimiento del gradiente
• net.trainParam.show: Intervalo de visualización de los resultados
• net.trainParam.time: Máximo tiempo de entrenamiento en segundos
• Con este algoritmo el aprendizaje de la red se detendrá si el número de iteraciones
excede el comando net.trainParam.epochs, si se alcanzó el valor del error propuesto como
meta, si la magnitud del gradiente es menor que net.trainParam.min_grad, o si el tiempo d
entrenamiento supera el valor de net.trainParam.time.
56
DISEÑO Y ENTRENAMIENTO CON REDES NEURONALES CON MATLAB V 7.4
• Ejercicio .- Cree una red perceptron para realizar la función AND . El Vector
de la entrada p = [0 0 1 1;0 1 0 1] y el vector de salida deseado t=[0 0 0 1].
Llame la red RedAND. Una vez creado, la red se entrenará.
• Paso 1 creación de la red RedAND = newp([0 1;0 1],1,'hardlim','learnp')
• Paso 2. Ingrese los vectores de entrada y el vector de salida deseada
• >> p = [0 0 1 1;0 1 0 1] p= 0 0 1 1
0 1 0 1
• >> t=[0 0 0 1] t= 0 0 0 1
• Paso 3 asigne los pesos y bias RedAND.IW{1,1} = [0 0]; RedAND.b{1} = 0;
• Paso 4. Simule la red A = sim(RedAND,p) A= 1 1 1 1
• Paso 5 Puedes inicializar la red aleatoriamente
• >> RedAND.biases{1}.initFcn = 'rands';
• >> RedAND.inputweights{1,1}.initFcn = 'rands';
• >> RedAND = init(RedAND);
• Paso 6 verifique los pesos y bias.
• >> RedAND.IW{1,1} = 0.8116 -0.7460
• >> RedAND.b{1,1} = 0.6294
• Paso 7 Simule la red >> A = sim(RedAND,p) A= 1 0 1 1
57
ENTRENAMIENTO DE LA RED
• Entrenar la red Pereptron anterior para que aprenda la función AND .
• Paso 1 asigne los pesos y bias RedAND.IW{1,1} = [0 0]; RedAND.b{1} = 0;
• Paso 2.. Poner algunos parametros de aprendizaje
• RedAND.trainParam.epochs= 100;
• RedAND.trainParam.show= 25;
• RedAND.trainParam.time= Inf;
• Entrene la red
• >> RedAND = train(RedAND,p,t)
• TRAINC, Epoch 0/100
• TRAINC, Epoch 6/100
• TRAINC, Performance goal met.
• Paso . Puede ver los pesos
• >> RedAND.IW{1,1} ans = 2 1
• >> RedAND.b{1,1} ans = -3
• >> A= sim(RedAND,p) A = 0 0 0 1
58
ENTRENAMIENTO DE LA RED
• Para que entrene de de nuevo modifique modfique parametros o cree de
nuevo
• 1 asigne los pesos y bias RedAND.IW{1,1} = [0 0]; RedAND.b{1} = 0;
• 2 modifique algunos parametros
• >> RedAND.trainParam.epochs= 1;
• >>RedAND.trainParam.show= 1;
• >>RedAND.trainParam.time= Inf;
• >> RedAND = train(RedAND,p,t)
• TRAINC, Epoch 0/1
• TRAINC, Epoch 1/1
• TRAINC, Maximum epoch reached.
• 3 . Puede ver los nuevos pesos y bias
• >> RedAND.IW{1,1} ans = 1 1
• >> RedAND.b{1,1} ans = 0
• 3. simule la red A= sim(RedAND,p) A = 1 1 1 1
59
APRENDIZAJE DEL AND
COMPRUEBE Entradas
nro x1 x2 T
SIMULACION A T E
ITERENTX1 X2 w1 w2 b Suma
har(x) DW1DW2Db
CON EXCEL 1 0 0 0 1 1 0 0 0 0 0 0 1 0 -1 0 0 -1
2 0 1 0 2 2 0 1 0 0 -1 -1 0 0 0 0 0 0
3 1 0 0 3 3 1 0 0 0 -1 -1 0 0 0 0 0 0
RESUMEN 4 1 1 1 4 4 1 1 0 0 -1 -1 0 1 1 1 1 1
PERE % 5 1 0 0 1 1 0 0 1 0 -1 0 0 -1
W1 0 6 2 0 1 1 1 -1 0 1 0 -1 0 -1 -1
1 2 0.5 W2 0 7 3 1 0 1 0 -2 -1 0 0 0 0 0 0
2 3 0.8 b 0 8 4 1 1 1 0 -2 -1 0 1 1 1 1 1
R 1 9 1 0 0 2 1 -1 -1 0 0 0 0 0 0
3 3 0.8 10 2 0 1 2 1 -1 0 1 0 -1 0 -1 -1
4 2 0.5 11 3 1 0 2 0 -2 0 1 0 -1 -1 0 -1
12 4 1 1 1 0 -3 -2 0 1 1 1 1 1
5 1 0.3 13 1 0 0 2 1 -2 -2 0 0 0 0 0 0
14 2 0 1 2 1 -2 -1 0 0 0 0 0 0
6 0 0 15 3 1 0 2 1 -2 0 1 0 -1 -1 0 -1
16 4 1 1 1 1 -3 -1 0 1 1 1 1 1
17 1 0 0 2 2 -2 -2 0 0 0 0 0 0
18 2 0 1 2 2 -2 0 1 0 -1 0 -1 -1
19 3 1 0 2 1 -3 -1 0 0 0 0 0 0
20 4 1 1 2 1 -3 0 1 1 0 0 0 0
21 1 0 0 2 1 -3 -3 0 0 0 0 0 0
22 2 0 1 2 1 -3 -2 0 0 0 0 0 0
23 3 1 0 2 1 -3 -1 0 0 0 0 0 0
24 4 1 1 2 1 -3 0 1 1 0 0 0 0
ITERENTX1 X2 w1 w2 b Suma
har(x) DW1DW2Db
60
5.16 PRACTICA DE LABORATORIO DE REDES NEURONALES
Usando Matlab u hoja de cálculo resuelva:
• Un perceptrón que reconozca la función OR, AND.
• Resuelva en Matlab problemas de backpropagacion
• Resuelvas problemas de redes con aprendizaje no
supervisado
61