You are on page 1of 47

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA


UNIDAD PROFESIONAL CULHUACAN

REDES NEURONALES

APUNTES

GARCIA QUIROZ ADAN

MEXICO, MARZO 2008


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

UNIDAD 1
• Redes Neuronales Biológica y Artificial
• Función de Transferencia
• Clasificación de las Redes

UNIDAD II
• Red de Hopfield
• Red LAM
• Red BAM
• Red de Hamming

UNIDAD III
• Red Perceptrón
• Red Perceptrón multicapa
• Red ADALINE
• Red MADALINE
• Red Backpropagation

BIBLIOGRAFÍA.
Redes Neuronales Artificiales
“Fundamentos, modelos y aplicaciones”
J.R. Hilera y V.J. Martinez
Alfaomega ra-ma
2000
EVALUACION
DEPARTAMENTAL EXAMEN PRACTICAS PARTICIPACIONES
Y TAREAS
Primero 50% 40% 10%
Segundo 40% 50% 10%
Tercero 30% 30% 30%

PRACTICAS
- Nombre
- Objetivo
- Desarrollo teórico, Práctico
- Resultados
- Conclusiones individuales.

Equipos de 2 o 3 personas (Calificación de las prácticas individual).

APUNTES REDES NEURONALES -2


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

RNA (Red Neuronal Artificial)

Caracterizado por
búsquedas constantes de
nuevas vías para mejorar
sus condiciones de vida

Hombre
Reduce el trabajo en donde
la fuerza es un papel
principal

Construye maquinas para


automatizar tareas tediosas
que se realizan a mano.

En 1946 aparece la primera


maquina ENIAC. Experiencia
Característica común

Implementan algoritmos
Problema que no admite un
para resolver multitud
tratamiento algorítmico
de problemas.

Clasificación de objetos
Limitación importante con rasgos comunes.

Desarrollos actuales del los científicos: Estudio de las capacidades humanas

Autómatas: Maquinas que realicen mas o menos una función típica de seres humanos.

RNA: Maquinas que ayuden a realizar tareas de rango intelectual.

 Aspectos de inteligencia humana para ser simulados mediante maquinas.

 Disciplina que intenta descubrir y describir

 Disciplina científica y técnica que se ocupa de las ideas que permiten ser inteligentes a los
ordenadores (Def. H Winston).

APUNTES REDES NEURONALES -3


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

 Rama de la computación que se encarga del razonamiento y aprendizaje con sistemas


artificiales y tienen como área de investigación a los sistemas expertos, la robótica y las redes
neuronales

Objetivo: dotar de autentica inteligencia a las maquina.


REDES NEURONALES.

Intenta expresar soluciones de problemas complejos, como el cerebro humano, usando sistemas de
computación.

Se le dota a la maquina de cierta inteligencia que no es mas que la combinación de elementos simples
interconectados que operan de forma paralela para resolver problemas relacionados con el
reconocimiento de formas o patrones, predicción, clasificación, codificación, etc. (Emula ciertas
características propias de los humanos, como la capacidad de memorizar y asociar hechos).

DEFINICIONES.
 Una nueva forma de computación, inspirados en modelos biológicos.

 Un modelo matemático compuesto por un gran numero de elementos procesales organizados en


niveles.

 Redes interconectadas masivamente en paralelo de elementos simples (usualmente adoptivos) y


con organización jerárquica, las cuales intentan interactuar con los objetos del mundo real del
mismo modo que lo hace el sistema nervioso biológico.

 Nuevo sistema para el tratamiento de la información, cuya unidad básica de procesamiento esta
inspirada en la célula fundamental “neurona”.

 Aprender (aprendizaje): Significa que aquellos problemas que no se puedan resolver


inicialmente, pueden ser resueltos después de tener más información acerca del problema.

VENTAJAS DE LAS RN (SEMEJANZAS A LAS DEL CEREBRO HUMANO).

Aprendizaje adoptivo: Capacidad de aprender ciertas tareas mediante un entrenamiento y poder


diferenciar patrones así como también la capacidad de estar cambiando constantemente para adaptarse
a nuevas condiciones.

Sistemas dinámicos Adoptivos: autoajuste, cambiando.


Ejemplo:
Letras desde que se aprenden hasta que pueden diferenciar los tipos de ellas.

Autoorganización: RN puede crear su propia organización o representación de la información que


recibe mediante el aprendizaje.
Consiste en la modificación de la red neuronal completa para llevar a cabo un específico objetivo.
Provoca la generalización que es la facultad de las redes para responder apropiadamente cuando se les
presentan datos situaciones a la que no habían sido expuestas anteriormente.
Ejemplo:
Idioma  Ingles
Un nuevo compañero de clase.

APUNTES REDES NEURONALES -4


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Tolerancia a fallos: Las redes pueden aprender a reconocer patrones con ruidos distorsionados o
incompletos
Las redes pueden seguir haciendo su función a pesar de que se destruya parte de la misma.
Las redes son tolerantes a fallos debido que su información esta distribuida en las conexiones entre
neuronas.

Operación en tiempo real: Para que las redes operen en tiempo real, la necesidad de cambio en los
pesos de conexión o entrenamiento es mínima.
Los cómputos neuronales pueden ser realizados en paralelo con otro hardware para obtener esa
capacidad.

Capaces de aprender de la experiencia. Generalizar de casos anteriores a nuevos casos.


Abstraer características esenciales a partir de entradas que representan información irrelevante.

Neurona: Célula viva, consta de un cuerpo celular esférico, del que sale una forma principal el axón, y
varias ramas más cortas llamada dendritas.

Cuerpo Celular: Núcleo de la neurona (combina, integra y emite señales de salida).

Dendritas: Estructura ramificada (recepción de la información)

Axón: Estructura lineal (transmisión de la información)

Sinopsis: (Unidad fundamental)(Interacción) Conexión con otras neuronas (Emiten la información)

La característica que diferencia a las neuronas con otras células vivas es su capacidad de comunicarse.

 Las señales del cerebro: Eléctrica y química


 La señal generada por la neurona y transportada a lo largo del axón es un impulso eléctrico.
 La señal que se transmite entre los terminales axónicos de una neurona y las dendritas de las
neuronas siguientes es de origen químico (neurotransmisores).

APUNTES REDES NEURONALES -5


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

 La neurona tiene un liquido interior diferente del liquido exterior (iones sodio y potasio).
 El externo es diez veces más rico en sodio que el interno
 El interno es diez veces más rico en potasio que el externo
 Esta diferencia produce una diferencia de potencial de aproximadamente 70mVoltios
negativas en el interior de la célula (potencial de reposo).

 La llegada de señales de otras neuronas a través de las dendritas, actúa acumulativamente,


bajando el nivel potencial de reposo, (Entrada masiva de iones sodio) se invierte la polaridad de
la membrana y se invierte el valor del voltaje 8potencia de acción) se establece un equilibrio
(cierra sodio, abre potasio)

 Esa inversión de voltaje se propaga a lo largo del axón y provoca la emisión de los
neurotransmisores en los terminales axónicos (sinopsis).

 Neurona: Dispositivo elemental (elemento fundamental) en el proceso, a partir de ellas se


pueden generar, representaciones especificas, un conjunto de ellas puede significar una letra, un
numero o cualquier objeto.

SIMILITUD

 Las señales que llegan, son las entradas a las neuronas (Xi).
 Son ponderadas (Atenuadas o amplificadas). A través de un parámetro llamado Peso (Wi).
 Estas señales pueden excitar a la neurona (peso positivo) o inhibir (peso negativo).
 El efecto es la suma de las entradas ponderadas. Si la suma es mayor al umbral de la neurona,
entonces la neurona se activa produciendo una salida.

W  Informar de las neuronas que aprende la red (valor que se calcula mediante una ecuación
matemática)

APUNTES REDES NEURONALES -6


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

[1 0 1 0 1 1]A
[ 14 4 8 3 − 1 − 1] ⋅ [1 1 1 0 0 0]
[1 1 1 0 1 1]B
3 2 2 8

Elementos más importantes de una RNA


Unidades de procesamiento (Neurona Artificial)
Estado de activación de cada neurona
Conectividad entre neuronas y regla de propagación
Función de tranferencia
Función o regla de activacion
Regla de aprendizaje.

APUNTES REDES NEURONALES -7


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

NEURONA ARTIFICIAL
Recibe entradas de células
Trabajo Simple vecinas y calcula un valor de
salida y las envía a las
NEURONA demás células.

Hay 3 tipos
de unidades

ENTRADA SALIDA OCULTAS

Reciben señales Son aquellas


desde el entorno entradas y salidas
proveniente de Envían las señales que se encuentran
sensores (sentidos) fuera del sistema dentro del sistema
(no tienen
contacto con el
exterior)

APUNTES REDES NEURONALES -8


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

ESTADO DE ACTIVACION.
Representa el estado del sistema en un tiempo t.
Las neuronas tienen dos estados de activación binarios
1  Activo (Excitado)
0  Pasivo (Reposo)
Los valores pueden ser continuos o discretos [0,1][-1,1]

CONECTIVIDAD ENTRE NEURONAS Y REGLA DE PROPAGACIÓN.

 La conectividad entre neuronas (nodos) de una red esta relacionada con la forma en que las
salidas de las neuronas están canalizadas para convertirse en entradas de otras neuronas.
 Las conexiones que unen a las neuronas tiene asociado un peso que hacer que la red adquiera
conocimiento.
 Cada conexión entre la neurona i y j esta ponderada por un peso Wji
 Netj es la suma del producto de cada señal por el valor de la sinopsis que conecta ambas
neuronas.
N
net j = ∑ W ji yi  Salida de la neurona i (+, - ó 0)
i
REGLA DE PROPAGACION: Combina los valores de entrada a una unidad con los pesos de las
conexiones

CALCULO DE LA MATRIZ DE PESOS.


Wji  Refleja la influencia que la neurona j tiene en la neurona i.
W  Conjunto de elementos positivos, negativos o nulos.
W (+)  i esta activada y la neurona j tendera a activarse
W (–)  i esta activada y enviara la señal a j que tendera a desactivarla
Wji = 0 No hay conexión entre ambas.

Función de salida o transferencia


Es la función que transforma la salida de la red a un estado de activación

APUNTES REDES NEURONALES -9


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

FUNCIÓN ESCALON

1 si x ≥ 0
F ( x) =  
0 si x < 0

 1 si x ≥ 0
F ( x) =  
 − 1 si x < 0 

FUNCIÓN LINEAL Y FUSIÓN PARCIALMENTE LINEAL

f ( x) = x

 
 0 si x < −C 
 
F ( x) =  1 si x>C 
x 1 en _ otro 
2 c + 
 2 caso 

APUNTES REDES NEURONALES - 10


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

 
− 1 si x < −C 
 
F ( x) =  1 si x>C 
 x en _ otro 
 c caso 
 

FUNCIÓN SIGMOIDAL

1
f ( x) =
1 + e ∞x

1 − e −∞x
f ( x) =
1 + e − ∞x
f ( x ) = tan( x )

APUNTES REDES NEURONALES - 11


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

REGLA DE APRENDIZAJE

Biológica
La información memorizada en el cerebro esta más relacionada con las conexiones que en las neuronas
mismas (sinapsis).

Artificial
El conocimiento se encuentra en los pesos de las conexiones entre neuronas.
Todo proceso de aprendizaje implica cierto numero de cambios en estas conexiones (se aprende
modificando los valores de la red y la red ha aprendido cuando los valores de los pesos son estables)
Las redes asocian o aprenden con relaciones de entrada – salida que han sido dadas de un colección de
ejemplos(patrones).
Existen 2 grupos de redes.

Supervisado. Aprendizaje con maestro, cuenta con una salida con cada uno de los patrones
No supervisado. Aprendizaje sin maestro, organiza los patrones en categorías, clustering.

Clasificación de
las Redes

Fijas (asocian) Adaptables (aprenden)


(Redes con peso fijo) (Redes con entrenamiento)

Hopfield, BAM, Con supervisión Sin supervisión


LAM, Hamming

Adaline, Madaline, Kohonen


BackPropagation

APUNTES REDES NEURONALES - 12


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

RED DE HOPFIELD

Entrad as X0 X1 X2 X3 Xn

x = [x0 , x1 ,..., x N −2 , x N −1 ] Vector de entrada


u = [u 0 , u1 ,..., u N −2 , u N −1 ] Vector de estado
Y = [ y0 , y1 ,... y N −2 , y N −1 ] Vector de Salida
Patrones ejemplares:

C 0 , C 1 , C 2 ,..., C M −1 ,

C es un vector
Red de Hopfield tiene N neuronas

1) Calcula de la matriz de pesos


 1 M −1 s s 
 ∑ Ci C j i ≠ j 
Wij =  N s =0 
 0 i = j 
Donde Wij es el peso de conexión, desde la i-ésima neurona a la j-ésima neurona.
Cs=0, 1, 2,…, M-1
M= Numero de patrones
N= Numero de Neuronas
[
C s = C0s , C1s , C 2s , K , C Ns −1 ]
Matriz de (NxN)
 w00 w01 K w0 N 
 M M M M 
w=
 M M M M 
 
 wN 0 wN 1 K wNN 

APUNTES REDES NEURONALES - 13


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJERCICIO:
Queremos almacenar dos patrones ejemplares C0 y C1 que tengan 3 elementos en una red de Hopfield
de 3 neuronas (patrones binarios).
C 0 = [0,1,0]
C 1 = [1,1,0]

De acuerdo a la ecuación Wij


N =3
W00 = W11 = W22 = 0
Wij = W ji ⇒ simetrico
 w00 w01 w02 
w =  w10 w11 w12 
 w20 w21 w22 

w01 = 1
3
[(C 0
0 ) (
* C10 + C01 * C11 )]
w01 = 1
3
[(0 *1) + (1 *1)] = 13

w02 = 1
3
[(C 0
0 ) (
* C20 + C01 * C21 )]
w02 = 1
3
[(0 * 0) + (1 * 0)] = 0

w12 = 1
3
[(C0
1 ) (
* C20 + C11 * C21 )]
w12 = 1
3
[(1 * 0) + (1 * 0)] = 0

0 1 0
 3 
w = 1 0 0
 3 
 0 0 0

2) Inicicaliza el valor del estado de cada neurona con el valor de entrada

Ui (0)=Xi
Edo(Tiempo (cuando es 0 el edo = entrada))= Entrada

Yi (n) = fn(ui (n))


N −1
3)
U i (n + 1) = ∑ Wij Y j (n)T
j =0

4) Itera hasta que la red converja (la red converge cuando el valor de la energía no baja más)
Convergencia: el valor de la salida de la red no cambia por iteración.

APUNTES REDES NEURONALES - 14


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

5) Condición de convergencia
y (n) = y (n − 1)
Yi(n + 1) = yi (n)
i = 0 ≈ N −1
6) Salida final de la red.
Cuando la red converja, la salida actual de la red es la salida de la red.
y = [ y0 , y1 , y2 , K , y N −1 ]

APUNTES REDES NEURONALES - 15


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 1:
Almacena 2 patrones en la memoria de la red neuronal de Hopfield y los patrones que almacena son:
C1= [1, –1, 1] C2= [–1, 1, –1]

1 2 3

Entrad as 1 -1 1
1 -1 1

M −1
1 

Wij =  N ∑C C
s =0
i
s s
j i ≠ j

 0 i = j 

[( ) (
w12 = 1 C10 * C 20 + C11 * C 21
3
)]
w12 = 1 [(1 * (−1) ) + ((−1) * 1)] = − 2
3 3

[(
w13 = 1 C10 * C30 + C11 * C31
3
) ( )]
w13 = 1
3
[(1 * 1) + ((−1) * (−1) )] = 2 3

 0 −2 
[( ) ( )]
2
w23 = 1 C 20 * C30 + C21 * C31  3 3 
3
w = − 2 0 −2 
w23 = 1 [((−1) * 1) + (1 * (−1))] = − 2 3  2 3 3
3  3 −2 0 
3 

Aplicando C1 a la red
Entrada x = [1, − 1, 1]
Edo inicial u (0) = [1, − 1, 1]
Salida Inicial y (0) = fn[u (0)] = [1, − 1, 1]

 0 −2 
2
3  1
[ ]
 3
u (1) = Wy T (0) = − 2 0 − 2  ⋅ − 1 = 4 , − 4 , 4
 2 3 3
 
3 3 3
 3 − 2 0    1
3 

APUNTES REDES NEURONALES - 16


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

[
u (1) = 4 , − 4 , 4
3 3 3
]
y (1) = fn[u (1)] = [1, − 1, 1]
y (n) = y (n − 1) ∴ la red convergió y asocio con C1

Aplicando C2 a la red
Entrada x = [− 1, 1, − 1]
Edo. inicial u (0) = [− 1, 1, − 1]
Salida Inicial y (0) = fn[u (0)] = [− 1, 1, − 1]

 0 −2 2  −1
3   
[ ]
 3
u (1) = Wy (0) = − 2
T
0 − 2  ⋅  1  = − 4 , 4 , − 4
 2 3 3 3 3 3
 3 − 2 0 
  − 1
3
[
u (1) = − 4 , 4 , − 4
3 3 3
]
y (1) = fn[u (1)] = [− 1, 1, − 1]
y (n) = y (n − 1) ∴ la red convergió y asocio con C2

Aplicando a = [1, − 1, − 1](≠ patrón)

Entrada x = [1, − 1, − 1]
Edo inicial u (0) = [1, − 1, − 1]
Salida Inicial y (0) = fn[u (0)] = [1, − 1, − 1]

 0 −2 2  1
3   
[ ]
 3
u (1) = Wy (0) = − 2
T
0 − 2  ⋅ − 1 = 0, 0, 4
 2 3 3 3
 3 − 2 0 
  − 1
3
[
u (1) = 0, 0, 4
3
]
y (1) = fn[u (1)] = [1, 1, 1]
y (n) ≠ y (n − 1) ∴ la red NO converge hay que seguir iterando.

 0 −2 2  1
3  
[ ]
 3
u (2) = Wy (1) = −
T 2 0 −  ⋅ 1 = 0, − 4 , 0
2
 2 3 3 3
 3 − 3 2 
0  1 

[
u (2) = 0, − 4 , 0
3
]
y (2) = fn[u (2)] = [1, − 1, 1]
y (2) ≠ y (1) ∴ la red NO converge hay que seguir iterando.

APUNTES REDES NEURONALES - 17


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

 0 −2 2  1
3   
[ ]
 3
u (3) = Wy (2) = −
T 2 0 −  ⋅ − 1 = 4 , − 4 , 4
2
 2 3 3 3 3 3
 3 − 2 0  
 1 

3
[
u (3) = 4 , − 4 , 4
3 3 3
]
y (3) = fn[u (3)] = [1, − 1, 1] la red converge y asocia con C1

Distancia de Hamming

C1= [1, –1, 1] C2= [–1, 1, –1]


a= [1,-1,-1]
DH=(a,C1)=1 => asocia
DH=(a,C2)=2

APUNTES REDES NEURONALES - 18


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 2:

X 1 = [1, 1, 1, − 1]
X 2 = [− 1, − 1, − 1, 1]
X P = [1, − 1, 1, − 1]

w12 = 1
4[1 + 1] = 2 4
w13 = 14 [1 + 1] = 2
4  0 2
4
2
4 − 24
w14 = 14 [− 1 − 1] = − 2  2 0 2 − 2 4 
4 
w=
4 4

w23 = 14 [1 + 1] = 2  24 2
4 0 − 24
4  2 
− 4 − 2 4 − 2 4 0 
w24 = 14 [− 1 − 1] = − 2
4
w34 = 14 [− 1 − 1] = − 2
4

Aplicando X1 a la red

x = [1, 1, 1, − 1]
u (0) = [1, 1, 1, − 1]
y (0) = fn[u (0)] = [1, 1, 1, − 1]
 0 2
4
2
4 − 24  1 
 2 0 2 − 2 4   1 
u (1) = wy (0) =
T  4 4

 24 2
4 0 − 24  1 
 2   
− 4 − 2 4 − 2 4 0  − 1
u (1) = [6 4 6 4 6 4 − 6 4 ]
y (1) = fn(u (1)) = [1, 1, 1, − 1]
y (1) = y (0) ∴ la red converge y se asocia a X1.
Aplicando X2 a la red

x = [− 1, − 1, − 1, 1]
u (0) = [− 1, − 1, − 1, 1]
y (0) = fn[u (0)] = [− 1, − 1, − 1, 1]
 0 2
4
2
4 − 2 4  − 1
 2 0 2 − 2 4  − 1
u (1) = wy (0) =
T  4 4

 24 2
4 0 − 2 4  − 1
 2   
− 4 − 2 4 − 2 4 0   1 
u (1) = [− 6 4 − 6 4 − 6 4 6 4 ]
y (1) = fn(u (1)) = [− 1, − 1, − 1, 1]
y (1) = y (0) ∴ la red converge y se asocia a X2.

APUNTES REDES NEURONALES - 19


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Aplicando Xp a la red

x = [1, − 1, 1, − 1]
u (0) = [1, 1, 1, − 1]
y (0) = fn[u (0)] = [1, − 1, 1, − 1]
 0 2
4
2
4 − 24  1 
 2 0 2 − 2 4  − 1
u (1) = wy (0) =
T  4 4

 24 2
4 0 − 24  1 
 2   
− 4 − 2 4 − 2 4 0  − 1

u (1) = [2 4 6 4 2 4 − 2 4 ]
y (1) = fn(u (1)) = [1, 1, 1, − 1]
y (1) ≠ y (0) ∴ la red NO converge hay que seguir iterando.

u (1) = [1, 1, 1, − 1]

y (1) = fn[u (1)] = [1, 1, 1, − 1]


 0 2
4
2
4 − 24  1 
 2 0 2 − 2 4   1 
u (2) = wy (1) =
T  4 4

 24 2
4 0 − 24  1 
 2   
− 4 − 2 4 − 2 4 0  − 1

u (2) = [6 4 6 4 6 4 − 6 4 ]
y (2) = fn(u (2)) = [1, 1, 1, − 1]
y (2) = y (1) ∴ la red converge y se asocia a X1.

APUNTES REDES NEURONALES - 20


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 3

Almacenar un patrón y e1 = [1, − 1, 1] ver su funcionamiento de la red.

e1 = [1, − 1, 1]
w12 = 13 [− 1] = − 13
w13 = 13 [1] = 1
3

w23 = 1
3 [− 1] = − 13

 0 −1 1 
 3 3 
w = − 1 0 − 
1
 13 3
 3 − 3
1 0 

Aplicando e1 a la red
x = [1, − 1, 1]
u (0) = [1, − 1, 1]
y (0) = fn[u (0)] = [1, − 1, 1]

 0 −1 1  1
3   
[ ]
 3
u (1) = Wy (0) = −
T 1 0 −  ⋅ − 1 = 2 , − 2 , 2
1
 1 3 3 3 3 3
 3 − 1 0  
 1 

3
[
u (1) = 2 , − 2 , 2
3 3 3
]
y (1) = fn[u (1)] = [1, − 1, 1]
y (1) = y (0) ∴la red convergió y asocio con e1

Aplicando nuevo patron a = [− 1, 1, − 1].


x = [− 1, 1, − 1]
u (0) = [− 1, 1, − 1]
y (0) = fn[u (0)] = [− 1, 1, − 1]

 0 −1 1  −1
3   
[ ]
 3
u (1) = Wy T (0) = − 1 0 − 1  ⋅  1  = − 2 , 2 , − 2
 13 3 3 3 3
 3 −1 0  − 1
3 

[
u (1) = − 2 , 2 , − 2
3 3 3
]
y (1) = fn[u (1)] = [1, − 1, 1]
y (1) = y (0) ∴la red convergió y asocio con a

APUNTES REDES NEURONALES - 21


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 4:
Almacenar un patron C1C2C3 y ver funcionamiento de la red

C 1 = [1 1 1]
C 2 = [− 1 − 1 − 1]
C 3 = [1 − 1 1]

M −1
1 

Wij =  N ∑C C
s =0
i
s s
j i ≠ j

 0 i = j 

w12 = 13 [1 + 1 + (−1)] = 1
3

w13 = 13 [1 + 1 + 1)] = 1
w23 = 13 [1 + 1 + (−1)] = 1
3

0 1 1
 3 
w = 1 0 1 
 3 1
3
 1 3
0

Aplicando C1.

x = [1, 1, 1]
u (0) = [1, 1, 1]
y (0) = fn[u (0)] = [1, 1, 1]

0 1 1  1
[ ]
 3 
u (1) = Wy T (0) =  1 0 1  ⋅ 1 = 4 , 2 , 4
 3 1 3
 
3 3 3
 1 0  1 
3
[
u (1) = 4 , 2 , 4
3 3 3
]
y (1) = fn[u (1)] = [1, 1, 1]
y (1) = y (0) ∴ la red convergió y asocio con C1.

Aplicando C2.

x = [− 1, − 1, − 1]
u (0) = [− 1, − 1, − 1]
y (0) = fn[u (0)] = [− 1, − 1, − 1]

APUNTES REDES NEURONALES - 22


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

0 1 1  − 1
[ ]
 3 
u (1) = Wy T (0) =  1 0 1  ⋅ − 1 = − 4 , − 2 , − 4
 3 1 3 3 3 3
 1 0  
 − 1

3
[
u (1) = − 4 , − 2 , − 4
3 3 3
]
y (1) = fn[u (1)] = [− 1, − 1, − 1]
y (1) = y (0) ∴ la red convergió y asocio con C2.

Aplicando C1.

x = [1, − 1, 1]
u (0) = [1, − 1, 1]
y (0) = fn[u (0)] = [1, − 1, 1]

0 1 1  1
[ ]
 3 
u (1) = Wy T (0) =  1 0 1  ⋅ − 1 = 2 , 2 , 2
 3 1 3
 
3 3 3
 1 0   1
3 
[
u (1) = 2 , 2 , 2
3 3 3
]
y (1) = fn[u (1)] = [1, 1, 1]
y (1) ≠ y (0) ∴ la red NO converge.

u (1) = [1, 1, 1]
y (1) = fn[u (1)] = [1, 1, 1]

0 1 1  1
[ ]
 3 
u (2) = Wy T (1) =  1 0 1  ⋅ 1 = 4 , 2 , 4
 3 3   3 3 3
 1 1 
0  1 
3 
[
u (2) = 4 , 2 , 4
3 3 3
]
y (2) = fn[u (2)] = [1, 1, 1]
y (2) = y (1) ∴ la red converge y asocia con C1.

Aplicando nuevo patron a = [− 1, 1, 1] .


x = [− 1, 1, 1]
u (0) = [− 1, 1, 1]
y (0) = fn[u (0)] = [− 1, 1, 1]

APUNTES REDES NEURONALES - 23


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

[
u (1) = Wy T (0) = 4 , 0, − 2
3
]3
y (1) = fn[u (1)] = [1, 1, − 1] LA RED NO CONVERGE
y (1) ≠ y (0)
x = [1, 1, − 1]
u (1) = [− 1, 1, − 1]
y (1) = fn[u (1)] = [1, 1, − 1]

[
u (2) = Wy T (1) = − 2 , 0, 4
3
]3
y (2) = fn[u (2)] = [− 1, 1, 1] LA RED NO CONVERGE, SE REPITE EL MISMO PATRON.
y (2) ≠ y (1)

APUNTES REDES NEURONALES - 24


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 5

p1 p2 C1 C2

p1 = [− 1 − 1 1 1] p 2 = [1 1 − 1 − 1] C 1 = [1 1 − 1 1] C 2 = [1 − 1 1 1]

w12 = 14 (1 + 1) = 2 4
w13 = 14 (−1 − 1) = − 2 4  0 1
2 − 12 − 1 2 
w14 = 14 (−1 − 1) = − 2 4  1 0 − 12 − 12 
w=  2

w23 = 14 (−1 − 1) = − 2 4  − 12 − 12 0 1 
2
 1 
w24 = 14 (−1 − 1) = − 2 4 − 2 − 2 1 1
2 0 
w34 = 14 (1 + 1) = 2 4

Aplicando C1

x = [1 1 − 1 1]
u (0) = [1 1 − 1 1]
y (0) = fn[u (0)] = [1 1 − 1 1]
u (1) = w ⋅ y T (0) = [12 1
2
1
2 − 32 ]
y (1) = fn[u (1)] = [1 1 1 − 1]
y (1) ≠ y (0)

u (1) = [1 1 1 − 1]
y (1) = fn[u (1)] = [1 1 1 − 1]
u (2) = w ⋅ y T (1) = [12 1
2 − 3 2 − 12 ]
y (2) = fn[u (2)] = [1 1 − 1 − 1]
y (2) ≠ y (1)

u (2) = [1 1 − 1 − 1]
y (2) = fn[u (2)] = [1 1 − 1 − 1]
u (3) = w ⋅ y T (3) = [32 3
2 − 32 − 32 ] La red asocia y converge e P2
y (3) = fn[u (3)] = [1 1 − 1 − 1]
y (3) = y (2)

APUNTES REDES NEURONALES - 25


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Aplicando C2
x = [1 − 1 1 1]
u (0) = [1 − 1 1 1]
y (0) = fn[u (0)] = [1 − 1 1 1]
u (1) = w ⋅ y T (0) = [− 32 − 12 1
2
1
2 ]
y (1) = fn[u (1)] = [− 1 − 1 1 1]
y (1) ≠ y (0)

u (1) = [− 1 − 1 1 1]
y (1) = fn[u (1)] = [− 1 − 1 1 1]
u (2) = w ⋅ y T (1) = [− 32 − 3 2 3
2
3
2 ] La red converge y asocia en P1.
y (2) = fn[u (2)] = [− 1 − 1 1 1]
y (2) = y (1)

APUNTES REDES NEURONALES - 26


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

REDES NEURONALES ASOCIATIVAS.

Recurrente – Red de Hopfield


Redes
Feed Forward – LAM (Linear Associative Memory)
Neuronales
Asociativas
Bidireccional – BAM (Bidireccional Associative Memory)

LAM (LINEAR ASSOCIATIVE MEMORY) (MEMORIA DE ASOCIACIÓN LINEAL)

• Una Red de memoria asociativa es matemáticamente un mapeado de un espacio de entrada


sobre una salida
• Se usan en aplicaciones autoasociativas y heteroasociativas.
o Autoasociativa: La dimensión del espacio de entrada y del espacio de salida son iguales.
o Heteroasociativa: Diferentes

• Los valores de entrada y salida pueden ser binarios o reales.


• Es una red de 2 capas: Entrada, Salida
• Se deriva de un conjunto de pares de patrones de e/s
• Su objetivo es recuperar el patrón de salida basado en la información total o parcial del patrón
• Solo se propaga linealmente de entrada a salida
i
→ LAM → b
i
a
N1 N2

a = [a , a ,LL, a ]
i i
1
i
2
i
N1

b i = [b1i , b2i ,LL, bNi 2 ]

N1 = N 2 → Auto asociación.
N1 ≠ N 2 → Hetero asociación.

1.- Calculo de la matriz de peso W


W es una matriz de N1 x N2 donde N1 es el numero de neuronas en la capa de entrada y N2 es el numero
de neuronas en la capa de salida.
M
wij = ∑ (2aiM − 1)(2b Mj − 1)
j =1

Bias (coeficiente de reforzamiento)


N2
θ j = − 12 ∑ wij j = 1,2,L, N 2
j =1

Donde M es un numero de pares de vectores.


2.- Operación de la red

APUNTES REDES NEURONALES - 27


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Y = fn( wx T + θ )
Donde x es vector de entrada y Y es vector de salida.

EJEMPLO 1:

a1 = [1 0 1 0] b1 = [0 1 0 1]
a 2 = [0 1 0 1] b 2 = [1 0 1 0]
M
wij = ∑ (2aiM − 1)(2b Mj − 1)
j =1
4
θ j = − 12 ∑ wij j = 1,2,3,4
j =1

M=2  cantidad pares de patrones.

MATRIZ DE PESOS

W 11= [(2a11 − 1)(2b11 − 1)] + [(2a12 − 1)(2b12 − 1)]


W11 = [(2(1) − 1)(2(0) − 1)] + [(2(0) − 1)(2(1) − 1)]
W11 = (1)(−1) + (−1)(1) = −2

W12 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(0) − 1)] = 2


W13 = [(2(1) − 1)(2(0) − 1)] + [(2(0) − 1)(2(1) − 1)] = −2
W14 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(0) − 1)] = 2

W21 = [(2(0) − 1)(2(0) − 1)] + [(2(1) − 1)(2(1) − 1)] = 2


W22 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(0) − 1)] = −2
W23 = [(2(0) − 1)(2(0) − 1)] + [(2(1) − 1)(2(1) − 1)] = 2
W24 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(0) − 1)] = −2

W31 = [(2(1) − 1)(2(0) − 1)] + [(2(0) − 1)(2(1) − 1)] = −2


W32 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(0) − 1)] = 2
W33 = [(2(1) − 1)(2(0) − 1)] + [(2(0) − 1)(2(1) − 1)] = −2
W34 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(0) − 1)] = 2

W41 = [(2(0) − 1)(2(0) − 1)] + [(2(1) − 1)(2(1) − 1)] = 2


W42 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(0) − 1)] = −2
W43 = [(2(0) − 1)(2(0) − 1)] + [(2(1) − 1)(2(1) − 1)] = 2
W44 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(0) − 1)] = −2

APUNTES REDES NEURONALES - 28


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

− 2 2 − 2 2 
 2 − 2 2 − 2
w= 
− 2 2 − 2 2 
 
 2 − 2 2 − 2

Calculando el BIAS

4
θ i = − 12 ∑ wij
j =1

θ1 = −
1
(− 2 + 2 − 2 + 2) = 0
2
θ 2 = − (2 − 2 + 2 − 2 ) = 0
1
2
θ = [0, 0, 0, 0]
θ 3 = − (− 2 + 2 − 2 + 2 ) = 0
1
2
θ 4 = − (2 − 2 + 2 − 2 ) = 0
1
2

Operación de la red

Y = fn( wx T + θ )

− 2 2 − 2 2  1 − 4  2 
 2 − 2 2 − 2  0   4   − 2 
wa1T = ⋅  =   +  
− 2 2 − 2 2  1 − 4  2 
       
 2 − 2 2 − 2  0   4   − 2 

Y = fn( wx T + θ ) = [0 1 0 1] = b1
T

 − 2 2 − 2 2  0   − 4 
 2 − 2 2 − 2 1  4 
wa 2T = ⋅  =  
 − 2 2 − 2 2  0   − 4 
     
 2 − 2 2 − 2 1  4 

Y = fn( wx T + θ ) = [1 0 1 0] = b 2
T

APUNTES REDES NEURONALES - 29


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 2:

x1 = [− 1 1 − 1] y1 = [1 − 1 1]
x 2 = [− 1 − 1 − 1] y 2 = [− 1 − 1 − 1]
x 3 = [1 1 1] y 3 = [1 1 1]

w11 = [(2(−1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 7
w12 = [(2(−1) − 1)(2(−1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 19
w13 = [(2(−1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 7

w21 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 11
w22 = [(2(1) − 1)(2(−1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 7
w23 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 11

w31 = [(2(−1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 7
w32 = [(2(−1) − 1)(2(−1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 19
w33 = [(2(−1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 7

 7 19 7 
w = 11 7 11
 7 19 7 

Calculando el BIAS
3
θ i = − 12 ∑ wij
j =1

θ1 = −
1
(7 + 19 + 7 ) = − 33 2
2
θ 2 = − (11 + 7 + 11 ) = − 29 2
1
2
[
θ = − 33 2 , − 29 2 , − 33 2 ]
θ 3 = − (7 + 19 + 7 ) = − 33 2
1
2

Operación de la red

 7 19 7  − 1  5   −332  − 232 
wx1T = 11 7 11 ⋅  1  = − 15 + −29 2  = − 59 2 
 7 19 7  − 1  5   −332  − 232 
Y = fn( wx T + θ ) = [− 1 − 1 − 1] NO ASOCIA

APUNTES REDES NEURONALES - 30


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

 7 19 7  − 1  − 33  −332  − 99 2 
wx = 11 7 11 ⋅ − 1 = − 29 + −29 2  = − 87 2 
2T

 7 19 7  − 1  − 33  −332  − 99 2 


Y = fn( wx T + θ ) = [− 1 − 1 − 1] ASOCIA

 7 19 7  1 33  −332  332 


wx 3T = 11 7 11 ⋅ 1 = 29 +  −29 2  = 29 2 
 7 19 7  1 33  −332  332 
Y = fn( wx T + θ ) = [1 1 1] ASOCIA

APUNTES REDES NEURONALES - 31


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 3:

p1 p2 S1 S2

p1 = [− 1 − 1 1 1] p 2 = [1 1 − 1 − 1] S 1 = [1 − 1 1 1] S 2 = [1 1 − 1 1]

Matriz de pesos

w11 = [(2(−1) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = −2


w12 = [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 10
w13 = [(2(−1) − 1)(2(1) − 1)] + [(2(1) − 1)(2(−1) − 1)] = −6
w14 = [(2(−1) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = −2

w21 = [(2(−1) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = −2


w22 = [(2(−1) − 1)(2(−1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 10
w23 = [(2(−1) − 1)(2(1) − 1)] + [(2(1) − 1)(2(−1) − 1)] = −6
w24 = [(2(−1) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = −2

w31 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(1) − 1)] = −2


w32 = [(2(1) − 1)(2(−1) − 1)] + [(2(−1) − 1)(2(1) − 1)] = −6
w33 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] = 10
w34 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(1) − 1)] = −2

w41 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(1) − 1)] = −2


w42 = [(2(1) − 1)(2(−1) − 1)] + [(2(−1) − 1)(2(1) − 1)] = −6
w43 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(−1) − 1)] = 10
w44 = [(2(1) − 1)(2(1) − 1)] + [(2(−1) − 1)(2(1) − 1)] = −2

− 2 10 − 6 − 2
− 2 10 − 6 − 2
w=
− 2 − 6 10 − 2
 
− 2 − 6 10 − 2

APUNTES REDES NEURONALES - 32


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Calculando el BIAS
4
θ i = − 12 ∑ wij
j =1

θ1 = −
1
(− 2 + 10 − 6 − 2) = 0
2
θ 2 = − (− 2 + 10 − 6 − 2 ) = 0
1
2
θ = [0 0 0 0]
θ 3 = − (− 2 − 6 + 10 − 2) = 0
1
2
θ 4 = − (− 2 − 6 + 10 − 2 ) = 0
1
2

Operación de la red

− 2 10 − 6 − 2 − 1 − 16
− 2 10 − 6 − 2 − 1 − 16
wp 1T = ⋅ =
− 2 −6 10 − 2  1   16 
     
− 2 −6 10 − 2  1   16 

Y = fn( wp1T + θ ) = [− 1 − 1 1 1] ASOCIA

APUNTES REDES NEURONALES - 33


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

P1 = [0 0 1 1] S 1 = [1 0 1 1]
p 2 = [1 1 0 0] S 2 = [1 1 0 1]

w11 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 0


w12 = [(2(0) − 1)(2(0) − 1)] + [(2(1) − 1)(2(1) − 1)] = 2
w13 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(0) − 1)] = −2
w14 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 0

w21 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 0


w22 = [(2(0) − 1)(2(0) − 1)] + [(2(1) − 1)(2(1) − 1)] = 2
w23 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(0) − 1)] = −2
w24 = [(2(0) − 1)(2(1) − 1)] + [(2(1) − 1)(2(1) − 1)] = 0

w31 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(1) − 1)] = 0


w32 = [(2(1) − 1)(2(0) − 1)] + [(2(0) − 1)(2(1) − 1)] = −2
w33 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(0) − 1)] = 2
w34 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(1) − 1)] = 0

w41 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(1) − 1)] = 0


w42 = [(2(1) − 1)(2(0) − 1)] + [(2(0) − 1)(2(1) − 1)] = −2
w43 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(0) − 1)] = 2
w44 = [(2(1) − 1)(2(1) − 1)] + [(2(0) − 1)(2(1) − 1)] = 0

0 2 − 2 0 
0 2 − 2 0 
w= 
0 − 2 2 0 
 
0 − 2 2 0 

Calculando el BIAS
4
θ i = − 12 ∑ wij
j =1

1
θ1 = − (0 + 2 − 2 + 0) = 0
2
θ 2 = − (0 + 2 − 2 + 0) = 0
1
2
θ = [0 0 0 0]
θ 3 = − (0 − 2 + 2 + 0) = 0
1
2
θ 4 = − (0 − 2 + 2 + 0) = 0
1
2

APUNTES REDES NEURONALES - 34


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

− 2 10 − 6 − 2 − 1 − 16
− 2 10 − 6 − 2 − 1 − 16
wp 1T = ⋅ =
− 2 − 6 10 − 2  1   16 
     
− 2 − 6 10 − 2  1   16 
0 2 − 2 0  0 
0 2 − 2 0 0
wp = 
1T
⋅ y = [0 0 1 1]
0 − 2 2 0 1
   
0 − 2 2 0 1
0 2 − 2 0 1
0 2 − 2 0 1
wp 2T = ⋅ y = [1 1 0 0]
0 − 2 2 0  0 
   
0 − 2 2 0  0 

NO ASOCIA MUCHOS CEROS EN LA MATRIZ.

APUNTES REDES NEURONALES - 35


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

BAM (Memoria Asociativa Bidireccional)

Red de Memoria Asociativa


Se usa en aplicaciones autoasociativas y heteroasociativas.
Es una red de 2 capas (entrada y salida)
Se deriva de un conjunto de pares de patrones de e/s
Su objetivo es recuperar el patron de entrada o salida basado en la información total o parcial del patron
Se propaga en 2 direcciones.

Ux 1 2 3 4 N ENTRADA

Uy 1 2 3 4 M SALIDA

Donde:
X y Y son patrones de entrada.
Ux y Uy son vectores de estados.

Cuando existe el mismo número de entradas y de salidas ( X = Y ) la red es autoasociativa.


En caso de que el número de entradas sea diferente al número de salidas ( X ≠ Y ) la red es
heteroasociativa.

Operación de la red.

1. La matriz de pesos se calcula.

L L
w = ∑ y k x Tk ó w = ∑ xiK y Kj
K =1 K =1

Donde:
yk = K–ésimo patron ejemplar para la capa y.
xk = K–ésimo patron ejemplar para la capa x.
L = Número de pares de patrones

APUNTES REDES NEURONALES - 36


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

En BAM existen dos operaciones que se pueden ejecutar en paralelo:

1. Operación X Y
Se calcula el valor de estado de la neurona en el lado y.

u y = w ⋅ xT
Donde:
w = Matriz
uy = Valor de estado en el lado y.

La salida y se calcula:
1; u ≥ 0
y = fn(u y ) fn(u ) = 
− 1; u < 0

X
2. Operación Y
ux = y ⋅ w
T

x = fn(u x )

Heteroasociativa:
ux = yT ⋅ w u y = wT ⋅ x T
x = fn(u x ) y = fn(u y )

APUNTES REDES NEURONALES - 37


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Ejemplo 1: (Autoasociativa)

Queremos construir una red BAM que tiene capacidad de asociar los 3 siguientes patrones binarios

x = (− 1 1 − 1), (− 1 − 1 − 1), (1 1 1)
y = (1 − 1 1), (− 1 − 1 − 1), (1 1 1),
L
w = ∑ xiK y Kj
K =1

( )
w11 = x11 y11 + x12 y12 + x13 y13 = (− 1 + 1 + 1) = 1
w12 = (x y + x y + x y ) = (1 + 1 + 1) = 3
1 1
1 2
2
1
2
2
3
1
3
2

w13 = (x y + x y + x y ) = (− 1 + 1 + 1) = 1
1 1
1 3
2
1
2
3
3 3
1 3

w 21 = (x y + x y + x y ) = (1 + 1 + 1) = 3
1 1
2 1
2 2
2 1
3 3
2 1 1 3 1
1; u ≥ 0
w 22 = (x y + x y + x y ) = (− 1 + 1 + 1) = 1
1 1 2 2 3 3
w = 3 1 3 fn(u ) = 
− 1; u < 0
2 2 21 2 2 2

w 23 = (x y + x y + x y ) = (1 + 1 + 1) = 3
1
2
1
3
2
2
2
3
3 3
2 3
1 3 1
w31 = (x y + x y + x y ) = (− 1 + 1 + 1) = 1
1 1
3 1
2 2
3 1
3 3
3 1

w32 = (x y + x y + x y ) = (1 + 1 + 1) = 3
1 1
3 2
2
3
2
2
3
3
3
2

w33 = (x y + x y + x y ) = (− 1 + 1 + 1) = 1
1 1
3 3
2
3
2
3
3 3
3 3

Operación X Y Operación Y X
u y1 = w ⋅ x1
T
u x1 = w ⋅ y1
T

1 3 1 − 1  1  1 3 1  1  − 1
u y1 = 3 1 3 ⋅  1  = − 5 u x1 = 3 1 3 ⋅ − 1 =  5 
1 3 1 − 1  1  1 3 1  1  − 1
y1 = fn(u y1 ) = [1 − 1 1] x1 = fn(u x1 ) = [− 1 1 − 1]
Asocia con y1 Asocia con x1

u y 2 = w ⋅ x2T u x 2 = w ⋅ y 2T
1 3 1 − 1  − 5 1 3 1 − 1  − 5
u y 2 = 3 1 3 ⋅ − 1 = − 7  u x 2 = 3 1 3 ⋅ − 1 = − 7 
1 3 1 − 1  − 5 1 3 1 − 1  − 5
y2 = fn(u y 2 ) = [− 1 − 1 − 1] x 2 = fn(u x 2 ) = [− 1 − 1 − 1]
Asocia con y2 Asocia con x2

APUNTES REDES NEURONALES - 38


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

u y 3 = w ⋅ x3T u x 3 = w ⋅ y3T
1 3 1 1 5 1 3 1 1 5
u y 3 = 3 1 3 ⋅ 1 = 7  u x 3 = 3 1 3 ⋅ 1 = 7 
1 3 1 1 1  1 3 1 1 5
y3 = fn(u y 3 ) = [1 1 1] x3 = fn(u x 3 ) = [1 1 1]
Asocia con y3 Asocia con x3

APUNTES REDES NEURONALES - 39


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Ejemplo 2:

Construye la red BAM que asocia 2 pares de patrones.

x1 = (1 − 1 − 1 1 − 1 1 1 − 1 − 1 1)
y1 = (1 − 1 − 1 − 1 − 1 1) L
w = ∑ xiK y Kj
K =1
x2 = (1 1 1 − 1 − 1 − 1 1 1 − 1 − 1)
y 2 = (1 1 1 1 − 1 − 1)

w11 = (1 + 1) = 2 w21 = (− 1 + 1) = 0 w31 = (− 1 + 1) = 0 w41 = (1 − 1) = 0


w12 = (− 1 + 1) = 0 w22 = (1 + 1) = 2 w32 = (1 + 1) = 2 w42 = (− 1 − 1) = −2
w13 = (− 1 + 1) = 0 w23 = (1 + 1) = 2 w33 = (1 + 1) = 2 w43 = (− 1 − 1) = −2
w14 = (− 1 + 1) = 0 w24 = (1 + 1) = 2 w34 = (1 + 1) = 2 w44 = (− 1 − 1) = −2
w15 = (− 1 − 1) = −2 w25 = (1 + 1) = 0 w35 = (1 − 1) = 0 w45 = (− 1 + 1) = 0
w16 = (− 1 + 1) = 0 w26 = (− 1 − 1) = −2 w36 = (− 1 − 1) = −2 w46 = (1 + 1) = 2

w51 = (− 1 − 1) = −2 w61 = (1 − 1) = 0 w71 = (1 + 1) = 2 w81 = (− 1 + 1) = 0


w52 = (1 − 1) = 0 w62 = (− 1 − 1) = −2 w72 = (− 1 + 1) = 0 w82 = (1 + 1) = 2
w53 = (1 − 1) = 0 w63 = (− 1 − 1) = −2 w73 = (− 1 + 1) = 0 w83 = (1 + 1) = 2
w54 = (1 − 1) = 0 w64 = (− 1 − 1) = −2 w74 = (− 1 + 1) = 0 w84 = (1 + 1) = 2
w55 = (1 + 1) = 2 w65 = (− 1 + 1) = 0 w75 = (− 1 − 1) = −2 w85 = (1 − 1) = 0
w56 = (− 1 + 1) = 0 w66 = (1 + 1) = 2 w76 = (1 − 1) = 0 w86 = (− 1 − 1) = −2

w91 = (− 1 − 1) = −2 w10,1 = (1 − 1) = 0
w92 = (1 − 1) = 0 w10.2 = (− 1 − 1) = −2
w9.3 = (1 − 1) = 0 w10,3 = (− 1 − 1) = −2
w94 = (1 − 1) = 0 w10, 4 = (− 1 − 1) = −2
w95 = (1 + 1) = 2 w10,5 = (− 1 + 1) = 0
w96 = (− 1 + 1) = 0 w10,6 = (1 + 1) = 2

APUNTES REDES NEURONALES - 40


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

2 0 0 0 −2 0 
0 2 2 2 0 − 2

0 2 2 2 0 − 2
 
 0 −2 −2 −2 0 2
− 2 0 0 0 2 0
w= 
 0 −2 −2 −2 0 2
2 0 0 0 −2 0 
 
0 2 2 2 0 − 2
− 2 0 0 0 2 0
 
 0 − 2 − 2 − 2 0 2 

Operación Y X
ux1 = wy1
T

2 0 0 0 −2 0  4
0 2 2 2 0 − 2  − 8
  
0 2 2 2 0 − 2  1   − 8 
   
 0 −2 −2 −2 0 2  − 1  8 
− 2 0 0 0 2 0  − 1 − 4
u x1 =  ⋅  =  
 0 −2 −2 −2 0 2  − 1  8 
2 0 0 0 − 2 0  − 1  4 
     
0 2 2 2 0 − 2  1   − 8
− 2 0 0 0 2 0  − 4
   
 0 − 2 − 2 − 2 0 2   8 

x1 = fn(u x1 ) = [1 − 1 − 1 1 − 1 1 1 − 1 − 1 1]
T

Asocia con x1
u y1 = wT ⋅ x1T
1
− 1
 
2 0 0 0 −2 0 2 0 − 2 0  − 1
0 2 2 − 2 0 − 2 0 2 0 − 2  1
   
0 2 2 − 2 0 − 2 0 − 2 0 − 2 − 1
w= ⋅ 
0 2 2 −2 0 −2 0 2 0 − 2  1 
− 2 0 0 0 2 0 −2 0 2 0  1
   
 0 − 2 − 2 2 0 2 0 −2 0 2  − 1
− 1
 
 1 

APUNTES REDES NEURONALES - 41


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

u y1 = wT x1T
u y1 = [8 − 12 − 12 − 12 − 8 12]
T

y1 = fn(u y1 ) = [1 − 1 − 1 − 1 − 1 1]
Asocia con x1

u x 2 = w ⋅ y 2T
u x 2 = [4 8 8 − 8 − 4 − 8 4 8 − 4 − 8]
x2 = fn(u x 2 ) = [1 1 1 − 1 − 1 − 1 1 1 − 1 − 1]
Asocia con x2

u y 2 = wT ⋅ x2T
u y 2 = [8 12 12 12 − 8 − 12]
y 2 = fn(u y 2 ) = [1 1 1 1 − 1 − 1]
Asocia con y2.

APUNTES REDES NEURONALES - 42


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Ejemplo 3:
A1 = [− 1 − 1 − 1 − 1] A2 = [1 1 1 − 1]
B1 = [1 1 − 1] B2 = [1 − 1 1]

w11 = (− 1 + 1) = 0 w21 = (− 1 + 1) = 0 w31 = (− 1 + 1) = 0 w41 = (− 1 − 1) = −2


w12 = (− 1 − 1) = −2 w22 = (− 1 − 1) = −2 w32 = (− 1 − 1) = −2 w42 = (− 1 + 1) = 0
w13 = (1 + 1) = 2 w23 = (1 + 1) = 2 w33 = (1 + 1) = 2 w43 = (1 − 1) = 0

 0 −2 2
 0 −2 2 
w = 
 0 −2 2
 
− 2 0 0

uA1 = w ⋅ B T uA2 = w ⋅ B T
 0 − 2 2 − 4  0 −2 2 4
 0 − 2 2  1  − 4  0 −2  1  
2    4 
uA1 =  ⋅ 1  =   uA2 =  ⋅ −1 =
 0 − 2 2   − 4  0 −2 2    4 
  − 1     1  
− 2 0 0  − 2 − 2 0 0    − 2 
A1 = fn(uA1 ) = [− 1 − 1 − 1 − 1] A2 = fn(uA2 ) = [1 1 1 − 1]
Asocia con A1. Asocia con A2.

uB1 = w ⋅ AT uB2 = w ⋅ AT
 0 −2 2 − 1  0 −2 2 1
 0 −2 2 2
2 − 1    0 −2 2 1  
uB1 =  ⋅ = 6 uB2 =  ⋅ = −6
 0 −2 2 − 1    0 −2 2 1  
    − 6    6
− 2 0 0 − 1   − 2 0 0 1  
B1 = fn(uB1 ) = [1 1 − 1] B2 = fn(uB2 ) = [1 − 1 1]
Asocia con B1. Asocia con B2.

APUNTES REDES NEURONALES - 43


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

Ejemplo 4:

A1 = [− 1 1 − 1 1] B1 = [1 − 1 1 − 1]
A2 = [− 1 − 1 − 1 − 1] B2 = [1 1 1 1]
A3 = [1 − 1 1 − 1] B3 = [− 1 1 − 1 1]

w11 = (− 1 − 1 − 1) = −3 w21 = (1 − 1 + 1) = 1 w31 = (− 1 − 1 − 1) = −3 w41 = (1 − 1 + 1) = 1


w12 = (1 − 1 + 1) = 1 w22 = (− 1 − 1 − 1) = −3 w32 = (1 − 1 + 1) = 1 w42 = (− 1 − 1 − 1) = −3
w13 = (− 1 − 1 − 1) = −3 w23 = (1 − 1 + 1) = 1 w33 = (− 1 − 1 − 1) = −3 w43 = (1 − 1 + 1) = 1
w14 = (1 − 1 + 1) = 1 w24 = (− 1 − 1 − 1) = −3 w34 = (1 − 1 + 1) = 3 w44 = (− 1 − 1 − 1) = −3

− 3 1 − 3 1 
 1 − 3 1 − 3
w= 
− 3 1 − 3 1 
 
 1 − 3 1 − 3
uA1 = w ⋅ B1T uB1 = w ⋅ A1T
− 3 1 − 3 1   1   − 8 − 3 1 −3 1  − 1  8 
 1 −3 1 − 3 − 1  8   1 −3 1 − 3  1  − 8
uA1 =  ⋅ = uB1 =  ⋅ =
− 3 1 − 3 1   1   − 8 − 3 1 − 3 1  − 1  8 
           
 1 −3 1 − 3 − 1  8   1 −3 1 − 3  1  − 8
A1 = fn(uA1 ) = [− 1 1 − 1 1] B1 = fn(uB1 ) = [1 − 1 1 − 1]
uA2 = w ⋅ B2T uB2 = w ⋅ A2T
− 3 1 − 3 1  1 − 4 − 3 1 − 3 1  − 1 4
 1 − 3 1 − 3 1 − 4  1 − 3 1 − 3 − 1 4
uA2 =  ⋅  =   uB2 =  ⋅  =  
− 3 1 − 3 1  1 − 4 − 3 1 − 3 1  − 1 4
          
 1 − 3 1 − 3 1 − 4  1 − 3 1 − 3 − 1 4
A2 = fn(uA2 ) = [− 1 − 1 − 1 − 1] B2 = fn(uB2 ) = [1 1 1 1]
uA3 = w ⋅ B3T uB3 = w ⋅ A3T
− 3 1 − 3 1  − 1  8  − 3 1 − 3 1   1  − 8
 1 − 3 1 − 3  1  − 8  1 − 3 1 − 3 − 1  8 
uA3 =  ⋅  =   uB3 =  ⋅  =  
− 3 1 − 3 1  − 1  8  − 3 1 − 3 1   1  − 8
           
 1 − 3 1 − 3  1  − 8  1 − 3 1 − 3 − 1  8 
A3 = fn(uA3 ) = [1 − 1 1 − 1] B3 = fn(uB3 ) = [− 1 1 − 1 1]

APUNTES REDES NEURONALES - 44


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

RED DE HAMMING

Es uno de los ejemplo mas simples de aprendizaje, competitivo, las neuronas en la capa de salid de esta
red compiten unas con otras para determinar la ganadora, la cual indica el patron prototipo mas
representativo en la entrada de la red.

Esta red consiste en 2 capas:


1.- Realiza la correlación entres vector de entrada y vectores prototipo.

2.- La competición para determinar cual de los vectores prototipo esta mas cercano al vector de
entrada.
Ym SALIDA
Y0 Y1

Escoge el
máximo
elemento

Calcula el puntaje de
similitud
(Grado de similitud)

X1 X2 Xn-2 Xn-1 ENTRADA

APUNTES REDES NEURONALES - 45


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

OPERACIÓN DE LA RED DE HAMMING

• Calcular los pesos de conexión.


C ij N
wij = θj =
2 2
wij = el peso de conexión desde i-ésimo elemento a j-ésimo elemento
C ij =i-ésimo elemento de j-ésimo elemento patrón ejemplar.
θ j =j-ésimo bias N= de neuronas de cada patrón.

• Calcular la salida de la primera red, que indica cuan cercano está cada vector de entrada a los
patrones prototipo. (Ejemplares) es decir calcula el grado de similitud entre el patrón de entrada
y los patrones ejemplares.
 N −1 
u j (0) = ft  1 N ∑ wij xi + θ j 
 i =0 

La función que utilizar es no lineal (parcialmente lineal)

1 x >1

ft ( x) =  x 0 ≤ x ≤ 1
0 x<0

1 X

En la segunda capa se determina por medio de una capa competitiva el patrón prototipo más cercano.
Las neuronas en esta capa son iniciadas con la salida de la capa en realimentación, la cual indica el
grado de similitud.

Las neuronas compiten unas con otras para determinar una ganadora; después la competición solo una
neurona tendrá una salida no cero. (Positiva):

La salida de la capa esta determinada de acuerdo a:


M −1
 
u k (t + 1) = ft u k (t ) − ε ∑ ul (t )
 k ≠l 
1
ε= Valor muy pequeño para inhibir a las neuronas.
M −1

La condición de convergencia, es solo haya un valor positivo.

En cada iteración, cada salida de la neurona se decrementará en proporción a la suma de las otras
neuronas.

APUNTES REDES NEURONALES - 46


ESIME Culhuacan, IPN http://www.adangq.blogspot.com

EJEMPLO 1:
Ejemplares: Patrones de entrada
P1 = [1 − 1 1 1 − 1]
a1 = [1 − 1 1 1 − 1]
P2 = [− 1 1 − 1 1 1]
a 2 = [1 1 − 1 1 1]
P3 = [1 − 1 − 1 − 1 1]

Neuronas de entrada = 5
Patrones = 3 ∴ son el número de neuronas de salida de la red.

C ij N
wij = θj =
2 2

w11 = 1
2  12 − 12 12 1
2 − 12   52 
 1  θ j = =  52 
N
w12 = − 1 w =  − 12 12 − 1 2 12 2

2 2

 2
1 − 1 − 1 − 1 1
2 
  52 
w13 = 1 2 2 2
2

 N

u k (0) = ft  1 ∑ wij x1 + θ j 
 N i =1 

1
 12 − 12 12 1 − 12  − 1  52    52   52   5 1 
2
  1  3   5   1    
1  1  +  5  =
1 1
− 2 1 − 2
1 1
    2  5  − 2  +  2   = 5 1  = 0.2
5 1
2 2 2

 2 − 12 − 12 − 12  − 1   5  
  2 
1  1 5 2 0.4
2   2   2  
− 1
u (0) = ft [1 0.2 0.4]

Aplicando la función no lineal

u (0) = ft [1 0.2 0.4]


M −1
 
u k (t + 1) = ft u k (t ) − ε ∑ ul (t )
 k ≠l 
u1 (1) = ft [u1 (0) − 14 (u 2 (0) + u3 (0) )] = ft [1 − 14 (0.2 + 0.4)]
u1 (1) = ft [1 − 0.15] = ft (0.85) = 0.85

u 2 (1) = ft [0.2 − 14 (1.4)] = ft [0.2 − 0.35] = ft [− 0.15] = 0

u3 (1) = ft [0.4 − 14 (1.2)] = ft [0.4 − 0.30] = ft [0.1] = 0.1

[0.85 0 0.1]

APUNTES REDES NEURONALES - 47

You might also like