Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Índice de Contenidos
Página
Bibliografia.. ..............................................................................................................................
Capitulo 1: Introducción.
o conexión es el enlace entre las entradas xi (dentritas) y el núcleo de una neurona k , la sinapsis se
identifican a través de los pesos ( w ), es decir, la sinapsis que conecta la entrada xi al núcleo de una
neurona k , está identificada por el peso wki . Es importante resaltar la forma en que están escritos los
subíndices de los pesos sinápticos, el primer subíndice se refiere a la neurona en cuestión y el segundo
subíndice se refiere a la entrada de la sinapsis para lo cual está referido el peso.
2.- Núcleo o cuerpo de la neurona: El núcleo o cuerpo de la neurona está constituido por dos
funciones básicas:
2.1- Sumador: Este se encarga de realizar las sumatorias de las señales de entradas
multiplicadas por sus respectivos pesos sinápticos. La salida del sumador está representada por la
variable (u) o (n), la cual está definida como el producto escalar de los pesos y el vector de entrada, es
decir:
p
u k nk wkj x j
j 1
Donde x1 , x2 ,.......x p son las señales de entradas y wk1 , wk 2 ,.....wkp son los pesos sinápticos de la
neurona k y u k es la salida del sumador (combinador lineal) de la neurona k.
2.2- Función de Activación: Esta función se encarga de limitar la amplitud de la salida de la
neurona, típicamente la amplitud de la salida de la neurona está normalizada en un intervalo cerrado
entre [0,1] o alternativamente entre [-1, 1]. Las funciones de activación más comunes son: la función
de umbral, lafunción sigmoidal y la función lineal. La figura 4, ilustra los tres tipos de funciones de
activación citadas anteriormente.
3.- Salida de la neurona (y): La salida de la neurona viene dada por y=f(u), ésta representa el
resultado de la función de activación f(u).
Ahora veamos a continuación un modelo más académico que facilita el estudio de una neurona
artificial En la figura 5 se observa el modelo matemático de una neurona artificial utilizado en
MATLAB para desarrollar los análisis de la neurona artificial.
Figura 6.- Efecto del Uso del Nivel de Umbral sobre la Función de Activación
Relación
Nombre Icono Función
Entrada /Salida
Limitador
hardlim
Fuerte
Limitador
Fuerte hardlims
Simétrico
Lineal purelin
Lineal
satlin
Saturado
Lineal
Saturado satlins
Simétrico
Sigmoidal
logsig
Logarítmico
Tangente
Sigmoidal tansig
Hiperbólica
Competitiva compet
La neurona tiene una ganancia o umbral b, la cual llega al mismo sumador al que llegan las
entradas multiplicadas por los pesos, para formar la salida n,
Ahora bien, como el elemento básico constituyente de la RNA es la neurona artificial, también
conocida como perceptrón, estas representan los elementos de procesamiento de la red. El poder
computacional de una red neuronal depende de la interconectividad entre sus neuronas y la regla o
el algoritmo de entrenamiento usado para ajustar sus pesos.
Tres de las redes neuronales más populares son: las redes perceptrónicas multicapas, las redes
de Hopfield y los mapas auto-organizables de Kohonen. Existen varias estructuras de redes
neuronales apropiadas para una variedad de problemas ingenieriles que van desde operaciones con
patrones (clasificación, comparación, y completación) hasta filtraje de ruido, optimización y control.
Esta sección presenta un resumen de características importantes de algunas de las redes neuronales
más comunes, solo serán resumidas aquellas redes más frecuentemente utilizadas en la identificación
y control de sistemas dinámicos.
Dentro de una red neuronal, los elementos de procesamiento se encuentran agrupados por capas,
una capa es una colección de neuronas; de acuerdo a la ubicación de la capa en la RNA, esta recibe
diferentes nombres:
Una red de una sola capa con un número S de neuronas, se observa en la figura 14, en la cual,
cada una de las R entradas es conectada a cada una de las neuronas, la matriz de pesos tiene ahora S
filas.
La capa incluye la matriz de pesos, los sumadores, el vector de ganancias, la función de activacion y
el vector de salida. Esta misma capa se observa en notación abreviada en la figura 15.
Problema 1: Una neurona i tiene cuatro entradas cuyos valores son 10, -20, 4, y -2. Los pesos
sinápticos de la neurona son 0.8, 0.2, -1, y -0.9 respectivamente. Calcule la salida de la neurona i para
las siguientes situaciones:
Problema 2: Se tiene una red neuronal de una simple capa, con cuatro neuronas en su capa de
salida y función de activación lineal saturada simétrica en cada neurona. Se tienen cuatro entradas
cuyos valores son: 10,-20, 4, y -2. Los valores de los niveles de umbral para cada neurona vienen
dado por: 0.2, 0.3, 0.4 y 0.5. Los pesos sinápticos son los siguientes:
En la figura 17, se considera una red con varias capas, o red multicapas como lo representa
MatLab, cada capa tendrá su propia matriz de peso W, su propio vector de ganancias b, un vector de
En la figura 20, se observa otra topología de una red recurrente que a diferencia de la anterior,
presenta los lazos de autoalimentación, la presencia de los lazos de realimentación en las estructuras
de las redes recurrentes tiene un profundo impacto en su desempeño y en su capacidad de
aprendizaje.
p
uk wj 1
kj xj
yk (uk k )
Donde x1 , x2 ,........x p son las señales de entradas, wk 1 , wk 2 ,.....wkp son los pesos sinápticos
umbral, el cual es una aplicación externa. ( ) es la función de activación la cual es del tipo umbral o
y k (v k )
w wk1 , wk 2 , ....., wkp , en general definamos a wkp (t ) , como el valor de un peso sináptico en un
instante dado (t). En el instante (t), un ajuste de peso wkp (t ) es aplicado al peso wkp (t ) , por lo tanto
el valor actualizado del peso en el instante siguiente (t+1) viene dado por:
wkp (t 1) wkp (t ) wkp (t )
wkp (t ) es el ajuste del pesoque viene definido como el resultado de la estimulación del ambiente
Como es de esperar, existen varias reglas definidas para la solución del problema de aprendizaje
llamadas algoritmo de entrenamientos, cada uno ofrece sus propias ventajas. Básicamente los
Como regla general de entrenamiento, el vector de pesos w wk1 , wk 2 , ....., wkp será
incrementado en proporción al producto del vector de entrada x(t ) por una función de aprendizaje
r ( ) , la cual es función de w(t ) , x(t ) y de d (t ) . La variable d (t ) define el valor que se desea tener en
Visto el procedimiento de la regla general para el entrenamiento, solo nos falta definir los diferentes
tipos de funciones de aprendizajes r ( ) , que existen:
1.- Regla de entrenamiento Hebbian.
En esta regla la función de aprendizaje r ( ) , es igual a la salida de la neurona, entonces
Donde sgn( w * x) , función signo o limitador fuerte. De tal manera que los ajustes de los pesos
vienen dado por:
wij C * [d i sgn( wij x j )] * x j
r d u d w* x
El ajuste de los pesos viene dado por:
wij C * (d i wij * x j ) * x j
Esta simple regla establece que si d es el valor deseado debido a x, el peso se incrementará
proporcionalmente a sus productos.
6.- Regla de entrenamiento WinnerTakerAll (Ganador Toma Todo).
Esta regla trabaja en un ambiente no supervisado, y solamente se ajustan los pesos asociados a
la neurona que presente la salida de mayor valor comparada con las salidas de las otras neuronas.
wij ( x j wij )
i -celda contiene una porción del carácter espacial; de lo contrario se le asigna “0” o “-1”.
En el caso de objetos temporales que sean funciones continuas del tiempo, el vector patrón
puede ser formado en instantes discretos del tiempo “ ti ” haciendo xi f (ti ) para i =1,2,...n, según se
deseada para cada patrón son conocidas. El tamaño o numero “p” de los patrones es finito y
usualmente mayor que la dimensión “n” del espacio de los patrones ( p n) . Igualmente asumiremos
que “p” es mayor que el número de categorías “R”.
Asumamos momentáneamente, que para el propósito de esta ilustración, el clasificador ha sido
diseñado de modo que realice correctamente la tarea de clasificación. La membrecía a una categoría
necesita ser determinada por el clasificador basado en la comparación de “R” funciones
discriminantes g1 ( x), g2 ( x),....g R ( x) , calculadas para el patrón de entrada bajo consideración.
Es conveniente asumir que las funciones discriminantes gi ( x) son valores escalares y que el
definen la superficie de decisión entre patrones de clase “i” y “j” en el espacio n-dimensional.
Ya que la superficie de decisión obviamente contiene patrones “x” sin membrecía en ninguna de
las dos categorías, entonces la caracterizaremos por
: gi ( x) g j ( x) . Esto es, la superficie de decisión es la ecuación gi ( x) g j ( x) 0 .
regiones de decisión contiguas H1 y H2. Es obvio que habrán valores de x que harán que g ( x ) >0 y
g ( x ) <0, formando dos semi-planos que contienen patrones que pertenecen a la clase 1 y 2
respectivamente. Los valores de x que hacen que g ( x ) = 0, representan los valores de los puntos
sobre la línea que no pertenecen a ninguna clase. Asumiendo que las funciones discriminantes son
conocidas, entonces podemos hacer el siguiente diagrama ilustrativo del clasificador de patrones, ver
figura 29.
gi ( x) , y el selector de máximo valor selecciona la mayor de sus entradas y produce una respuesta
1 para g ( x) 0 Clase 1
i0 Sgn [ g ( x)] Indefinido g ( x) 0 indefinida
1 para g ( x) 0 Clase 2
En la figura 20 se observa que la única neurona de salida del perceptrón realiza la suma
ponderada de las entradas, resta o suma el umbral si lo tiene y pasa el resultado a una función de
activación tipo umbral. La regla de decisión es responder +1 si el patrón presentado pertenece a la
clase A, o –1 si el patrón pertenece a la clase B, la salida depende de la entrada neta (n = suma de las
entradas pi ponderadas o multiplicadas por sus respectivos pesos).La red tipo Perceptrón emplea
principalmente dos funciones de transferencia, hardlim (Matlab) con salidas 1 o 0 yhardlims(Matlab)
con salidas 1 o -1; su uso depende del valor de salida que se espera para la red, es decir si la salida de
la red es unipolar o bipolar; sin embargo la función hardlims es preferida sobre la hardlim, ya que el
tener un cero multiplicando algunas de los valores resultantes del producto de las entradas por el
vector de pesos, ocasiona que estos no se actualicen y que el aprendizaje sea más lento.
Una técnica utilizada para analizar el comportamiento de redes como el perceptrón es presentar
en un mapa las regiones de decisión creadas en el espacio multidimensional de entradas de la red, en
Para ilustrar el proceso computacional del perceptrón consideremos la matriz de pesos en forma
general.
Los pesos para una neurona están representados por un vector compuesto de los elementos de la
i-ésima fila de W
El perceptrón, al contar con una sola capa de entrada y otra de salida con una neurona, tiene una
capacidad de representación bastante limitada, este modelo sólo es capaz de discriminar patrones muy
sencillos, patrones linealmente separables.
Regla de aprendizaje
Cuando p es aplicado a la red, la salida de la red es comparada con el valor esperado t, y la salida de
la red está determinada por:
Los valores de los pesos determinan el funcionamiento de la red, estos valores se pueden fijar o
adaptar utilizando diferentes algoritmos de entrenamiento de la red.Como ejemplo de funcionamiento
de una red neuronal tipo perceptrón, se solucionará el problema de la función OR, para esta función la
red debe ser capaz de devolver a partir de los cuatro patrones de entrada, a qué clase pertenece cada
uno; es decir para el patrón 00 debe devolver la clase cero y para los restantes la clase 1, según la
figura 21.
Para este caso las entradas a la red serán valores binarios, la salida de la red está determinada
por
Se aplicará este método para resolver también el problema de la función AND, el cual se describe en
la figura 23.
las soluciones obtenidas para las funciones AND y OR se observan en la figura 24.
1. Se inicializa la matriz de pesos y el valor del umbral b, por lo general se asignan valores
aleatorios a cada uno de los pesos wi y al valor b.
2. Se presenta el primer patrón a la red, junto con la salida esperada en forma de pares
entrada/salida
4. Cuando la red no retorna la salida correcta, es necesario alterar el valor de los pesos, así
aumentar las posibilidades de que la clasificación sea correcta. Entonces en un ambiente supervisado
tenemos que:
Ejemplo: Para ilustrar la regla de aprendizaje del perceptrón, se dará solución al problema de
clasificación de patrones ilustrado en la figura 25.
, , ,
Iteración 0
Como puede verse, la característica de decisión es ortogonal al vector de pesos W (silos pesos
aumentan, la recta se desplaza hacia la izquierda y si disminuyen la recta se desplaza hacia la
derecha). La red clasifica incorrectamente los patrones p1, p3 y p4; en esta iteración; a continuación
presentamos a la red el patrón de entrenamiento p1.
Iteración 1
De la iteración 1, se aprecia quep1 está mal clasificado, la actualización de pesos permite que este
patrón sea clasificado correctamente.
Como se observa el patrón de entrenamiento p1ha sido clasificado correctamente, y casualmente los
patrones p2 y p3 fueron correctamente ubicados, pues aún no han sido presentados a la red.
Este patrón ha sido clasificado correctamente y por lo tanto no hay actualización del set de
entrenamiento
Iteración 3
Como se esperaba, no hubo error en la clasificación de este patrón, y esto lleva a que no haya
actualización de los pesos de la red
Iteración 4
La red ha clasificado incorrectamente este patrón y por lo tanto deben modificarse pesos y ganancias
El perceptrón puede resolver solamente problemas que sean linealmente separables, esto es
problemas cuyas salidas estén clasificadas en dos categorías diferentes y que permitan que su espacio
de entrada sea divido en estas dos regiones por medio de un plano de características similares a la
ecuación del perceptrón, es decir;
Se pretende que para los valores de entrada 00 y 11 se devuelva la clase 0 y para los patrones 01
y 10 la clase 1. Como puede verse de la figura 31, el problema radica en que no existe ninguna línea
recta que separe los patrones de una clase de los de la otra
Los cuatro puntos en la figura son las posibles entradas de la red; la línea divide el plano en dos
regiones, por lo que se podría clasificar los puntos de una región como pertenecientes a la clase que
posee salida 1 (puntos azules) y los de la otra región como pertenecientes a la clase que posee salida 0
(puntos rojos), sin embargo no hay ninguna forma de posicionar la línea para que los puntos correctos
para cada clase se encuentren en la misma región. El problema de la compuerta XOR no es
linealmente separable y unperceptrón no está en capacidad de clasificar correctamente los patrones de
En el caso de la XOR, teniendo en cuenta los valores de la tabla al lado derecho de la figura 31, las
ecuaciones del perceptrón expresan estas desigualdades:
(p1) (p3)
(p2) (p4)
, y que su suma sea menor que cero, esta es una forma alternativa de comprobar que
el problema de la XOR no es linealmente separable.
w11=1; w12=1
w21=1;w22=1
w31=1;w32=-1.5
b1= -0.5;b2= -1.5;b3= -0.5
Ejercicio. Con los valores anteriores, demostrar que el perceptron multicapa de la figura 32 es capaz
de clasificar correctamente todos los puntos de la XOR.
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.
Donde
W: Matriz de pesos asignada a cada una de las entradas de la red de dimensiones SxR, con S igual al
número de neuronas, y R la dimensión del vector de entrada
Las capacidades del Perceptrón multicapa con dos y tres capas y con una única neurona en la
capa de salida se muestran en la figura 35. En la segunda columna se muestra el tipo de región de
decisión que se puede formar con cada una de las configuraciones, en la siguiente se indica el tipo de
región que se formaría para el problema de la XOR, en las dos últimas columnas se muestran las
regiones formadas para resolver el problema de clases mezcladas y las formas más generales para
cada uno de los casos.
Medio Plano
Limitado por
un Hiperplano
Complejidad
Arbitraria
Limitada por el
Número de
Neuronas
Figura 35.- Distintas formas de las regiones generadas por un Perceptrón multicapa
El Perceptrón básico sólo puede establecer dos regiones separadas por una frontera lineal en el
espacio de entrada de los patrones; un Perceptrón con dos capas, puede formar cualquier región
convexa en este espacio. Las regiones convexas se forman mediante la intersección de regiones
formadas por cada neurona de la segunda capa, cada uno de estos elementos se comporta como un
Perceptrón simple, activándose su salida para los patrones de un lado del hiperplano, si el valor de los
pesos de las conexiones entre las neuronas de la segunda capa y una neurona del nivel de salida son
todos igual a 1, y la función de salida es de tipo hardlim, la salida de la red se activará sólo si las
salidas de todos los nodos de la segunda capa están activos, esto equivale a ejecutar la función lógica
AND en el nodo de salida, resultando una región de decisión intersección de todos los semiplanos
formados en el nivel anterior. La región de decisión resultante de la intersección será una región
convexa con un número de lados a lo sumo igual al número de neuronas de la segunda capa.
A partir de este análisis surge el interrogante respecto a los criterios de selección para las
neuronas de las capas ocultas de una red multicapa, este número en general debe ser lo
suficientemente grande como para que se forme una región compleja que pueda resolver el problema,
sin embargo no debe ser muy grande pues la estimación de los pesos puede ser no confiable para el
conjunto de los patrones de entrada disponibles. Hasta el momento no hay un criterio establecido
para determinar la configuración de la red y esto depende más bien de la experiencia del
diseñador.
El Adaline (elemento lineal adaptativo), originalmente fue concebido por Widrow and Hoff en
el año 1960, es una maquina adaptativa para la clasificación de patrones que usa el algoritmo de
minimización del error medio cuadrático (LMS) para su operación.
El Adaline posee una estructura casi idéntica al perceptrón, la figura 36 presenta el esquema del
Adaline. Es necesario realizar dos modificaciones básicas para transformar el perceptrón en Adaline,
la primera es añadir una función de activación lineal. La segunda modificación consiste en aplicar el
algoritmo de minimización del error medio cuadrático (LMS).
producir una señal de error e . El error e es utilizado para la implementación del algoritmo LMS. La
salida del Adaline y es la misma u k ,obtenida por el paso de la combinación lineal u k a través de la
actual.
Algoritmo o Regla de Aprendizaje de Mínimo Medio Cuadrático (LMS).
Dado un vector de entrada x , determinar un conjunto de pesos w que dé lugar a un valor de
salida concreto o deseado y . Supongamos que se dispone de un conjunto de vectores de entrada
, cada uno de los cuales posee su propio valor correcto d k , k 1,...... p , que quizás sea
x1 , x2 , x3 .....x p
único.
El problema de hallar un único vector de pesos w que pueda asociar con éxito cada vector de
entrada con el valor deseado no es sencillo. En esta sección desarrollaremos el método llamado
algoritmo de aprendizaje del error mínimo medio cuadrático(Least Mean Square, LMS), el cual es un
yp
misma de la salida de la red para el p -ésimo vector de entrada, entonces el término de error
correspondiente es:
ep d p y p
J
1
2
e p 2
ep d p y p
Empleando el error , se puede desarrollar la función J :
J
1
d p y p 2 1 d p 2 d p y p 1 y p 2
2 2 2
xp
Debemos considerar a como un vector columna y a w como un vector fila.
1 2 1
2
d p w x p x tp wt d p x tp wt
2
w
wt R 1 P
J ( w )
Observamos que aunque J (w) es un escalar y es un vector. Lo cual representa el gradiente de
w
J (w) , es decir J (w) que es el vector: J ( w) J , J , J ,......... J . Con esto se ha
w1 w2 w3 wn
demostrado que es posible determinar un punto en el cual la pendiente de la función J (w) es cero.
Debemos de recordar que si tenemos una función f ( x, y ) su gradiente viene dado por
f f
f ( x, y ) i j ; y representa a un vector en la dirección de máxima razón de cambio de la
x y
función. En el ejemplo que sigue se muestra un caso sencillo en el cual el Adaline tiene sólo dos
pesos. En esta situación, la gráfica de la función J (w) es un paraboloide. Además tiene que poseer una
concavidad dirigida hacia arriba, puesto que todas las combinaciones de pesos deben dar lugar a un
valor no negativo para el valor del error mínimo medio cuadrático J (w) . Este resultado es general, y
se obtiene independientemente de las dimensiones del vector de pesos. En caso de que las
dimensiones sean más de dos, el paraboloide se conoce con el nombre de hiperparaboloide.
Utilizamos la ecuación: Rw t P
3 1 w1 4
1 4 w 5
2
de donde se obtiene:
3w1 w2 4
w1 4 w2 5
La solución es :
w1 1
w 1
2
La grafica de J (w) como función de los dos pesos se presenta en la figura 37.
Figura 37.- Para un Adaline con dos pesos, la superficie de error es un paraboloide. Los pesos que
minimizan el error se tienen en el fondo dela superficie paraboloidal.
Dado que el vector de pesos de este procedimiento es variable, lo escribimos como una función
explícita del paso temporal t. El vector inicial de pesos se denota de la forma w(0) y el vector de pesos
constante apropiada . El valor determina la velocidad de convergencia del vector de pesos hacia
el valor de mínimo error. Este procedimiento da lugar a la expresión siguiente:
w(t 1) w(t ) J ( w(t ))
Lo único que se necesita para finalizar lo tratado es determinar el valor de J ( w(t )) en cada
paso sucesivo de iteración. Para el cálculo de J ( w(t )) se utiliza una aproximación de J ( w(t )) ,
operamos el error cuadrado tenemos: J ( w(t )) 2e p x p de modo que: w(t 1) w(t ) 2 e p x p
Observe que se utiliza el signo +, ya que el gradiente siempre se selecciona en sentido contrario al de
máxima pendiente. Es decir en el sentido del descenso en la superficie del error. La figura 39
muestra la ruta seguida en la superficie del error.
Figura 39.- Ruta Hipotética del Vector de Pesos según el Algoritmo LMS
En la figura 39, se observa la ruta hipotética que sigue el vector de pesos en su búsqueda del
error mínimo utilizando el algoritmo LMS, observe que no es una curva suave porque se está
aproximando al gradiente en cada punto, también se puede observar que el tamaño del paso es cada
vez más pequeño a medida que se aproxima a la solución del mínimo error.
2.- Se determina el error cuadrático, e p , empleando el valor actual del vector depesos:
e p (d p wx p )
4.- Se repiten los pasos con el siguiente vector de entrada, hasta que el error quede reducido a un valor
aceptable.
La ecuación anterior es la expresión del algoritmo LMS. El parámetro determina la
estabilidad y la velocidad de convergencia del vector de pesos hacia el valor de error mínimo. Dado
que se ha utilizado una aproximación del gradiente en la ecuación anterior, el camino que sigue el
vector de pesos al bajar por la superficie de pesos hacia el mínimo podría tener una ruta de búsqueda
con el algoritmo LMS como se indica en la figura 39.
Los cambios del vector de pesos deben hacerse relativamente pequeños en cada interacción. Si
los cambios son demasiado grandes, el vector de pesos podría vagar por la superficie sin encontrar
nunca un mínimo, o podría alcanzarlo solo por accidente en lugar de ser el resultado de convergencia
sostenida hacia él. La misión del parámetro es la de evitar esta situación. Por experiencia se ha de
tomar un valor de tal que los pesos no cambien más que una cierta fracción de su valor actual. Esta
regla parece vaga pero la experiencia parece ser el mejor profesor a la hora de seleccionar un valor
adecuado de .
Todos los filtros se pueden caracterizar a partir de su respuesta a la función de impulso unitario,
que se representa por la forma:
La ventaja de esta formulación es que una vez se conoce la respuesta del sistema para el
impulso unitario, la salida del sistema para cualquier entrada está dada por
Esta ecuación describe una convolución entre la señal de entrada y la respuesta del sistema al
impulso unitario. Para este caso, basta tener en cuenta que la convolución es una operación de suma
entre productos, similar al tipo de operación que realiza un Perceptrón cuando calcula su señal de
activación. La red Adaline emplea este mismo calculo para determinar cuanta estimulación de entrada
recibe a partir de una señal instantánea de entrada; esta red tiene diseñado en su interior una forma de
adaptar los coeficientes ponderables (pesos de la red) para hacer aumentar o disminuir la estimulación
que recibirá la próxima vez que se le presente la misma señal. Cuando se emplea una red tipo
Adaline, el problema se convierte, en que la red sea capaz de especificar la señal de salida deseada,
dada una señal de entrada específica.La red Adaline toma la entrada y la salida deseada, y se ajusta a
sí misma para ser capaz de llevar a cabo la transformación deseada. Además, si cambian las
características de la señal, la red Adaline puede adaptarse automáticamente. Al usar la red tipo
Adaline para implementar un filtro adaptivo, se debe incorporar el concepto de retardos en línea, el
cual se visualiza en la figura 40.
Si se combina la red Adaline con un bloque de retardos en línea, se ha creado un filtro adaptivo como
el de la figura 41.
Sin duda la principal aplicación de la red Adaline está en el campo del procesamiento de
señales, en concreto para el diseño y realización de filtros que eliminen el ruido de señales portadoras
de información. Como filtro adaptivo se ha utilizado ésta red en numerosas aplicaciones,
destacándose su uso en filtros de ecualización adaptivos en modems de alta velocidad y canceladores
adaptivos del eco para filtrado de señales en comunicaciones telefónicas de larga distancia y
comunicaciones vía satélite. Una de las primeras aplicaciones de redes neuronales que tuvo éxito en la
industria fue el Adaline para la eliminación de ecos en circuitos telefónicos.
Por otro lado, los filtros adaptivos se pueden usar para predecir el valor futuro de una señal a
partir de su valor actual basándose en un aprendizaje en el que se emplea como entrada el valor
retardado de la señal actual y como salida esperada, el valor actual de la señal, el filtro intentará
minimizar el error entre su salida y la señal anterior. Una vez el filtro predice correctamente la señal
actual, basándose en la señal anterior, se puede utilizar directamente la actual como entrada sin el
retardo, el filtro realizará una predicción del valor futuro de la señal.
Otro ejemplo es el filtro adaptivo utilizado para modelar las respuestas de un sistema basándose
en las señales de entrada, en este caso las entradas al filtro son las mismas que las del sistema,
ajustando los pesos durante el aprendizaje en función de la diferencia entre su salida y la del sistema,
éste será el modelo de filtro adaptivo utilizado en esta aplicación.
Existen sistemas en los cuales es posible determinar la fuente de ruido, por ejemplo cuando son
los mismos elementos de medición los que introducen señales de ruido a la señal original; este ruido
es ocasionado por los niveles de voltaje y de frecuencia del sistema alimentador de los aparatos, el
cual es imprescindible en el proceso.
En la presente aplicación, una señal de ruido ha sido introducida por los cables de conexión de
los aparatos y se ha mezclado con la señal que se desea medir, lo que en este caso es crítico, ya que no
se conoce la forma exacta de la señal de interés y por tanto no es posible determinar cuál debe ser la
señal correcta de salida.
La figura 42, es un esquema de la disposición que se dará al filtro dentro del contexto general
que se ha dispuesto para solucionar el problema. Las variables son:
s: Señal de interés, es decir es la señal que se desea medir, aunque se conoce su naturaleza, su forma
es indeterminada.
v: Fuente de poder de los instrumentos de medida, por sus características de potencia y frecuencia es
una fuente de ruido.
m: La señal v, es indispensable en el proceso de medición ya que sin ella los aparatos de medida no
funcionarían; v es la fuente detectada de ruido, pero su contribución se limita a la parte inducida en
los cables de conexión, que se convierten en el camino de contaminación; de esta forma la señal m es
la fuente de ruido que afecta realmente la señal original s.
e: Diferencia entre la señal contaminada ty la señal que entrega el filtro adaptivo, si el filtro realiza un
buen trabajo, esta señal debe ser la señal restaurada sin ruido. Durante el proceso de aprendizaje la
señal e servirá como referencia para determinar el desempeño del filtro.
La señal ves una señal por lo general de 60Hz, que en este caso alimenta el filtro adaptivo, los
parámetros del filtro deben ajustarse para minimizar la señal de error e, de esta forma y de acuerdo
con el esquema de la figura 42 podría pensarse que la salida esperada del filtro a es la señal
contaminada t, pero debe recordarse que la única fuente efectiva de ruido es la señal m por lo tanto,
lo que realmente se espera del filtro es que reproduzca sólo la parte de t que afecta la medición (t=
s+m), o sea m. Por consiguiente la salida del filtro a debe ser cada vez más cercana a mpara que la
señal de error e, se aproxime a la señal no contaminada s.
La entrada al filtro es el valor de la fuente de ruido, que en este caso se asumirá como una señal
senoidal uniformemente distribuida entre -0.2 y 0.2 para conservarla dentro de límites observables; la
frecuencia de la onda es de 60 Hz, y la frecuencia de muestreo es de 180 Hz.
(1)
determinado por las series de Fourier, así para un sistema de filtrado dado, una señal de entrada
que produce una salida característica del sistema en el dominio del tiempo, se obtendrá un
análogo en el dominio de la frecuencia tal que, F(w) producirá una señal de salida F(w)H(w). En la
figura 43, se observa como el sistema actúa como un filtro de las diferentes componentes de
frecuencia. Para garantizar que el filtrado sea exitoso, el filtro debe atenuar igualmente todas las
componentes de frecuencia, la respuesta debe ser una réplica de la señal de entrada no en magnitud,
Para el filtro adaptivo v(t)es la señal de entrada al filtro y la respuesta debe ser que
en el dominio de la frecuencia, equivale a desfasar la función original 900 y multiplicarla por un factor
k, el cual se escogió como 1/10 para simplificar el proceso de visualización.
Como se indicó anteriormente, la salida del filtro debe ser la señal m para que al final del proceso
pueda obtenerse la señal restaurada, por lo tanto la forma de la señal m será:
Para tener una idea clara de la relación entre m y v, la figura 44 ilustra la proporción de la señal
original de ruido y de la señal efectiva de ruido que afecta la medición.
En la gráfica de la parte superior de la figura 44, se ve como v es una señal senoidal de magnitud 1.2,
mientras que la gráfica inferior muestra la señal m que alcanza solo la décima parte de v con una
magnitud de 0.12 y desfasada 900 con respecto a la señal v, éstas dos ondas representan los patrones
de entrenamiento de la red, siendo v la entrada y m la salida deseada.
Como puede notarse, la red Adaline tiene la estructura básica del Perceptrón, la diferencia es
que su función de transferencia es del tipo lineal, pero por poseer una estructura similar presenta la
misma limitación de la red tipo Perceptrón de poder resolver solo problemas linealmente separables.
A pesar de sus limitaciones innatas, la red Adaline es ampliamente usada en los procesos de
filtrado combinándola con retardos en línea a su entrada, que mejoran la calidad del filtrado, ver
figura 45.
Entrenamiento de la red:
El objetivo del algoritmo diseñado en Matlab es lograr obtener la señal m a la salida del filtro,
minimizando el error medio cuadrático hasta reproducir una buena copia de la señal original s.La red
es creada con la función de las herramientas de redes neuronales newlin, que genera una nueva red
tipo Adaline, a la cual se le han introducido cuatro retardos, para conformar el filtro adaptivo que
filtrará la señal de entrada. El valor de los retardos fue escogido por prueba y error, escogiendo aquel
número que presentará un mejor rendimiento para la red.
Los valores de los pesos iniciales y de las ganancias de la red son inicializados aleatoriamente,
con ayuda de la función rands
net.IW{1,1}=rands(1,5);
net.b{1}=[0];
pi={1 2 3 4};
net.adaptParam.passes=5000;
[net,y,E,pf,af]=adapt(net,p,T,pi);
Para entrenar la red se generaron 101 puntos, algunos de los cuales pueden verse en la siguiente tabla:
1 2 23 51 52 78 101
Entrada a - -
0.6967 1.1345 .... 1.1926 .... 0.2119 0.8583 .... ....
la red (v) 1.1165 0.3137
Valor
- -
esperado 0.0561 .... .... 0.0961 0.0365 .... 0.0107 .... 0.1176
0.0159 0.0653
(m)
Valor
- - -
entregado .... .... 0.0766 0.0293 .... 0.0163 .... 0.1098
0.2592 0.2379 0.0385
(a)
W1=net.IW{1,1} b1=net.b{1}
I1 I2 I3 I4 I5
Mse 0.0022
Para poder juzgar el trabajo realizado por el filtro, la figura 3.3.5 muestra la señal original y la
señal restaurada, que permiten comprobar las bondades del filtro adaptivo.
Es importante diferenciar entre el valor del error del filtro adaptivo, el cual mide su desempeño
y corresponde al error medio cuadrático descrito anteriormente, y e la señal de error del sistema en
general, con la cual se espera reproducir la señal original sin contaminación s, trabajo que depende a
su vez del desempeño del filtro.
En esta red todos los parámetros están muy ligados, por ejemplo en el esquema general de la
figura 42 se observa como la salida e (correspondiente a la diferencia entre a la salida del filtro y m la
señal que se esperaba que este entregará para poder reproducir la señal original s a la salida del
sistema), realimenta a el filtro adaptivo convirtiéndose en un factor decisivo en el proceso de
actualización de los pesos de la red, por otro lado la dimensión del vector de pesos tiene una
influencia directa en el tiempo necesario de entrenamiento, por lo que generalmente se debe tomar un
compromiso entre este aspecto y la aceptabilidad de la solución (normalmente se mejora el error
aumentando el número de pesos).
El valor del parámetro en el algoritmo LMS tiene una gran influencia sobre el entrenamiento.
Si es demasiado grande, es posible que la convergencia no se produzca debido a que se darán altos
en torno al mínimo sin alcanzarlo. Si es demasiado pequeño, se alcanzara convergencia pero a costa
de una etapa de aprendizaje más larga.
El primer algoritmo de entrenamiento para redes multicapas fue desarrollado por Paul Werbos
en 1974, este se desarrolló en un contexto general, para cualquier tipo de redes, siendo las redes
neuronales multicapas una aplicación especial, razón por la cual el algoritmo no fue aceptado dentro
de la comunidad de desarrolladores de redes neuronales. Fue solo hasta mediados de los años 80
cuando el algoritmo backpropagation o algoritmo de propagación inversa o retropropagaciónfue
redescubierto al mismo tiempo por varios investigadores, David Rumelhart, Geoffrey Hinton y Ronal
Williams, David Parker y Yann Le Cun. El algoritmo se popularizó cuando fue incluido en el libro
"ParallelDistributedProcessingGroup" por los sicólogos David Rumelhart y James McClelland. La
publicación de este libro trajo consigo un auge en las investigaciones con redes neuronales, siendo
Red Backpropagation una de las redes más ampliamente empleadas, aun en nuestros días.
La señal de error se propaga hacia atrás, partiendo de la capa de salida, hacia todas las neuronas
de la capa oculta que contribuyen directamente a la salida. Sin embargo las neuronas de la capa oculta
solo reciben una fracción de la señal total del error, basándose aproximadamente en la contribución
relativa que haya aportado cada neurona a la salida original. Este proceso se repite, capa por capa,
hasta que todas las neuronas de la red hayan recibido una señal de error que describa su contribución
relativa al error total. Basándose en la señal de error percibida, se actualizan los pesos de conexión de
cada neurona, para hacer que la red converja hacia un estado que permita clasificar correctamente
todos los patrones de entrenamiento.
Las redes neuronales multicapas o redes perceptronicas multicapas, consisten de una cantidad
de neuronas de entrada que constituyen la capa de entrada, cuyas salidas van hacia una o más
neuronas que constituyen la capa oculta, las salidas de estas se dirigen a la capa de salida que también
está constituida por una cantidad de neurona de salida. En la figura 47 se observa la topología típica
de una red perceptronica multicapas.
Las redes perceptronicas multicapas, han sido aplicadas con éxitos para resolver difíciles y
diversos problemas en el campo de la ingeniería, entrenándolas de una manera supervisada usando el
algoritmo de retropropagacion (back propagation) del error, el cual está basado en la regla de
aprendizaje de la corrección del error.
Algoritmo de Retropropagacion del Error (Back Propagation).
Básicamente el algoritmo de retropropagacion del error consiste en dos pases a través de las
diferentes capas de la red, un pase en adelanto y un pase en atraso. En el pase en adelanto un patrón o
vector de entrada es aplicado a la capa de neuronas de entrada y su efecto se propaga a la red capa por
capa, finalizando con una cantidad de salidas que representan la salida actual de la red.
Durante el pase en adelanto los pesos sinápticos permanecen fijos. En el pase en atraso, una vez
obtenida la respuesta actual o salida de la red, se le resta el valor de respuesta deseado produciéndose
una señal de error, la cual se propaga entonces en atraso a través de la red en la dirección de las
conexiones de las sinapsis, de aquí, su nombre de retropropagacion del error.
Entonces los pesos de las sinapsis son ajustados de acuerdo a como la respuesta actual de la red
se acerca a la respuesta deseada. En la figura 48 se describe una porción de red multicapa en las
cuales se describen dos clases de señales:
1.- Una señal de función: Esta señal es una función de la entrada (estimulo), que se propaga en
forma adelantada (neurona por neurona) a través de la red hasta la salida de la red. Esta señal es
calculada como función de la entrada aplicada y de los pesos asociados a las diferentes neuronas.
neurona j en la interacción n .Nosotros definimos el valor del error medio cuadrático para la
1 2
neurona j como e j ( n) .
2
1 2
Correspondientemente el valor instantáneo (n) es obtenido sumando los e j (n) de todas las
2
neuronas en la capa de salida, la cual viene dado por:
1
( n) e2j (n)
2 jC
(2)
cuadrado av es obtenido por sumatoria de (n) y normalizado con respecto a N, el cual denotamos
por:
El (n) y el av son funciones de todos los parámetros libres de la red (pesos sinápticos y
umbral o bias). Para un set de entrenamiento dado, el error promedio cuadrado av representa la
función de costo como medida del desarrollo del aprendizaje de la red.
El objetivo del proceso de aprendizaje es el de ajustar los pesos sinápticos de la red para
minimizar la función de costo av . Hay que considerar un método simple de entrenamiento en el cual
los pesos son actualizados básicamente patrón por patrón, los ajustes de los pesos son hechos de
acuerdo con el respectivo error calculado para cada patrón presentado a la red.
Consideremos la figura 49, la cual muestra los detalles de las señales de la neurona j. El nivel de
activación interna conocido como (net) viene dado por v j (n) , el cual es producido en la entrada de la
donde:
p es el número total de la dimensión de los patrones de entrada incluyendo el umbral aplicado a la
j aplicado a la neurona j .
esta dada:
en el espacio de los pesos para el peso de la sinapsis w ji ( n) . Diferenciando ambos lados de la ec (2)
(n)
e j ( n) (7)
e j (n)
y j (n)
' j (v j (n)) (9)
v j (n)
v j (n)
yi (n) (10)
w ji (n)
entonces usando las ecuaciones desde la (7) hasta la (10) en la ec (6) tenemos:
(n)
e j (n) 'j (v j (n)) yi (n) (11)
wji (n)
la corrección w ji (n) aplicada a w ji (n) esta definida por la regla Delta, y viene dada por:
(n)
w ji (n) (12)
w ji (n)
De acuerdo con la ec (14) el gradiente local para la salida de la neurona j es igual al producto de
neurona j ( 'j (v j (n)) .De acuerdo con la ec (13) y ec (14) notamos que un factor que está envuelto en
el cálculo del ajuste del peso w ji (n) , es la señal de error e j (n) en la neurona de salida j.
En este contexto nosotros podemos identificar dos casos distintos dependiendo en donde está
localizada la neurona j. En el caso 1, la neurona j está en la salida, en este caso el manejo es simple
porque cada salida de la red está relacionada con una respuesta deseada propia de la salida, siendo
esto un asunto directo para el cálculo de la señal de error e j (n) . En el caso 2, la obtención de la señal
de error es más complicada ya que la neurona j está en la capa oculta y estas neuronas ocultas no son
directamente accesibles.A continuación se estudian ambos casos con más detalles.
Caso 1.- Cuando la neurona j está localizada en la capa de salida de la red, se le puede asignar
una respuesta deseada, entonces se puede utilizar la ec(1) para calcular el error e j (n) asociado con
esta neurona, como se observa en la figura 49, al determinar e j (n) es directo calcular el gradiente
Figura 50.- Detalles de conexión sobre el flujo de señales entreuna neurona de salida k y una neurona
oculta j.
La figura 50 muestra una neurona j como un nodo oculto de la red, de acuerdo con la ec (14)
nosotros podemos redefinir el gradiente local j (n) para la neurona oculta j como:
(n) e (n)
ek k (17)
y j (n) k y j (n)
ek (n)
Usando la regla de la cadena para derivadas parciales y rescribiendo la ec (15) en una forma
y j (n)
equivalente, tenemos:
también vemos de la ec(4) que para la neurona k, que el nivel de activación interna viene dado por:
q
vk (n) wkj (n) y j (n) (21)
j 0
Donde q es la dimensión del patrón entradas (incluyendo el umbral) aplicado a la neurona k. Aquí de
nuevo el peso de la sinapsis wk 0 (n) es igual al umbral k (n) aplicado a la neurona k , y la
correspondiente entrada y0 esta a un valor fijo –1, de cualquier manera diferenciando la ec. (21) con
respecto a y j (n) :
vk (n)
wkj (n) (22)
y j (n)
Usando la ec. (20) y ec. (22) en la ec. (18) obtenemos la derivada parcial deseada:
(23)
Donde observamos al gradiente local k ( n) dado en la ec (14) con el índice k, sustituido por j.
Finalmente usando la ec. (23) en la ec. (15), obtenemos el gradiente local j ( n) para la neurona oculta
donde :
Wji(n)= peso de corrección.
= rata de aprendizaje.
j ( n ) =gradiente local
yi (n) = señal de entrada a la neurona j.
j ' (v j (n)) por la señal de error e j (n) ambos están asociados a la neurona j (ver ec. (14)).
2.- Si la neurona j está en un nodo oculto, j ( n ) es igual al producto de la derivada asociada
j ' (v j (n)) por la suma ponderada de los ’s calculados para la neurona en la próxima capa de salida
peso sináptico que conecta a la neurona i con la neurona j, y yi (n) es la señal de entrada a la neurona
j, o equivalentemente, la señal de función que aparece en la salida de la neurona i. Si la neurona j está
en la primera capa oculta de la red, entonces el índice i se refiere a la i-esimo terminal de entrada de la
red, para lo cual:
yi (n) xi (n) (28)
Donde xi (n) es el i-esimo elemento del vector (patrón) de entrada. Si de otra manera la neurona
j , el índice j se refiere al j-esimo terminal de salida de la red, para lo cual:
yi ( n ) j ( n ) (29)
Donde j ( n ) es el j-esimo elemento del vector de salida (patrón). Esta salida es comparada con la
respuesta deseada d j (n) obteniendo la señal de error e j (n) para la j-esimo neurona de salida.
La fase de adelanto para el cálculo comienza en la primera capa oculta con la presentación del
vector de entrada y termina en la capa de salida calculando la señal de error en cada neurona de esta
capa.La fase en atraso comienza en la capa de salida por el pase de las señales de error a través de la
red hacia la izquierda de la capa de salida, capa por capa y recursivamente calculando el (gradiente
local) para cada neurona.
Este proceso recursivo permite que los pesos sinápticos cambien de acuerdo con la regla Delta
calcular los `s de todas las neuronas de la penúltima capa y cambiar los pesos de todas las
conexiones que la alimentan. Los cálculos recursivos se continúan capa por capa realizándose una
propagación de cambios en todos los pesos sinápticos, note que para la presentación de cada ejemplo
de entrenamiento el patrón de entrada se mantiene fijo durante el proceso de aprendizaje de la red que
involucra el paso en adelanto y el paso en atraso.
Las salidas del clasificador serían S (1) X , S ( 2) X , ....., S ( m) X ,......S ( p ) X . De modo que, cuando
X S ( m ) , solo la m-ésima salida resultaría igual a "n", siempre y cuando las otras clases difieran entre
sí, y asumimos que los elementos de X son iguales a ± l.
Es claro entonces, que el producto escalar de vectores resulte en una medida obvia para la
comparación de los mismos. El producto escalar S ( m) X de dos vectores binarios, bipolares, n
dimensionales puede ser escrito como el número total de posiciones en los cuales los dos vectores son
iguales menos el número de posiciones en las cuales los dos vectores son diferentes. Observe que el
1
donde el factor es conveniente para propósitos de escalamiento.
2
1 ( m)
Ahora la red con vector de entrada "X" produce el valor S X a la entrada del nodo "m",
2
n
para m=l,2,...p. Agregando el valor de sesgo o umbral fijo en cada neurona, se obtiene la entrada
2
total netm a la función de activación.
1 (m) n
netm S X , m 1,2,...... p (6)
2 2
Usando la identidad (4), podemos expresar a netm como:
entonces f (net ) netm , m 1, 2,.... p . Ya que las entradas están entre 0 y n, obtenemos las
1
n
salidas de cada nodo escaladas entre 0 y 1. Más aún, el número del nodo con la salida más alta
realmente indica el número de clase para el cual el patrón "X" posee la menor HD.
Una comparación perfecta del vector de entrada con la clase "m” es equivalente a poseer HD=0
lo que implica que f(net) = l. Un vector de entrada que sea el complemento de un prototipo de clase
"m" produciría f (netm ) =0.
1 .....
1 .....
Wm (8)
:
..... 1
donde “ ” debe estar acotado por 0< < l/p. La cantidad “ ” pueden ser llamada el coeficiente de
interacción lateral. Ahora con una función de activación como la mostrada en la figura 53 y con las
entradas inicializadoras a la Maxnet satisfaciendo las condiciones:
0 yi 0 1, i 1, 2,.... p (9)
la red Maxnet gradualmente suprime todas las excitaciones iniciales exceptuando la mayor de todas.
Cuando la red es inicializada con un vector de entrada " Y 0 " empieza el procesamiento de este vector
con la agregación de una auto-alimentación positiva y una alimentación cruzada negativa. Como
resultado de cierto número de recurrencias, el único nodo no suprimido será aquel cuya entrada inicial
sea la mayor de todas. Esto significa que la única salida diferente de cero será aquella
correspondiente a la del nodo más cercano al argumento del vector de entrada en el sentido de la
distancia de Hamming.
S (1) 1 1 1 1 1 1 1 1 1
T
S ( 2 ) 1 1 1 1 1 1 1 1 1
T
S 1 1 1 1 1 1 1 1 1
( 3) T
………………………………………. Elaborado por: Dr. Armando Briceño A. 85
1
Seleccionemos a 0.2 .
3
Se pide determinar a qué clase pertenece el vector: X=[1 1 1 1 1 1 1 1 1]
Resolver
X X i ( X X i )T ( X X i ) (20)
Esta regla de similitud es simple: mientras menor sea la distancia, más cercanos entre sí son los
patrones. Usando (20) calculamos las distancias entre todos los pares de puntos. Entonces una
distancia "T" puede ser seleccionada para discriminar entre grupos.
El valor 'T” es entendido como la máxima distancia entre patrones dentro de un mismo grupo.
La figura 54 muestra un ejemplo de dos grupos con un valor de "T” seleccionado de modo que “T” es
menor o igual a la distancia típica dentro de los elementos de un grupo, pero la distancia entre grupos
es
Esta regla es útil cuando los grupos se producen a lo largo de un eje principal y otros secundarios, tal
como se ilustra en la figura 55.
para m = l,2,...,M
donde Wm W1m W2m .....Wnm T .
Es de hacer notar que el primer índice del peso indica el número del nodo de entrada, (desde
donde), el segundo índice denota el número del nodo de llegada, (hacia). La función de activación
f(net) para las neuronas de la Maxnet ya ha sido comentada en la clase pasada. También es asumido
que un elemento unitario de retardo almacena cada señal de salida de las neuronas de la Maxnet
durante el tiempo unitario , mientras dura la recursión, antes de que éstas arriben nuevamente a los
nodos de entrada de la capa superior. La entrada de la capa superior es inicializada con el vector y 0 ,
cuyos elementos son calculados como los valores de comparación (50); para luego dar lugar a
actualizaciones recurrentes según lo expresado por la ecuación (10) de la clase pasada. Así tenemos
para esta porción de la red
Y k 1 WmY k (51)
donde la matriz de pesos es definida como en (8) y cumple todas las condiciones relacionadas con la
matriz de pesos de la Maxnet que fueron expuestas anteriormente. El vector inicializador de valores
de comparación Y 0 net , para la ecuación (51) y para las recurrencias de la capa superior está dado
por el mapa sencillo
Y° = WX. (52)
donde "W" es la matriz de procesamiento de la red de Hamming de abajo hacia arriba cuyos
elementos son los w ij , Esto es
T
w11 w21......wn1
w w ......w
12 22 n2
WH :
(53)
:
w1M w2 M .....wnM
Igual que para la Maxnet, una sola salida distinta de cero para un índice de recursión grande k, y kj 1 ,
será producida por la j-ésima neurona de la capa superior. Para esta neurona ganadora tenemos que:
n n
y 0j w ij x i max w im x i , para m 1,2,...., M (54)
i 1 i 1
V 1 (56)
0 1 (57)
Paso 2.
El vector de entrada binario, unipolar "x" es presentado a los nodos de entrada,
xi 0,1, para i 1,2,....n.
Paso 3.
Todos los valores de comparación son calculados como sigue
n
y 0m w im x i , para m 1,2,......M (58)
i 1
En este paso, la selección del mejor grupo existente, j, es realizada de acuerdo al criterio
máximo en la forma siguiente:
y 0j max y 0m , m 1,2,.....M (59)
Paso 4.
La prueba de similitud para la neurona ganadora es realizada en la manera siguiente:
n
1
x
v
i 1
x
ji i (60)
v ji (t 1) xi v ji (t ) (63)
Esto permite actualizar los pesos del j-ésimo grupo. El algoritmo retoma al paso 2.
Paso 6.
El nodo j es desactivado por medio de establecer y j igual a 0. Así, este nodo no participará en
la búsqueda del grupo en progreso. El algoritmo retorna al paso 3 e intentará establecer un nuevo
grupo diferente al j para el patrón que está siendo probado.
Ejemplo.
Este ejemplo ilustra etapas de aprendizaje en tiempo discreto de una red TRA1 con cuatro
neuronas categorizadoras que indican a cuatro grupos y una entrada para vectores de dimensión 25
con elementos iguales a 0 o 1. Asumiremos entonces que las matrices W y V son de tamaño 25 x 4.
Observe que solo hemos considerado que en la capa superior tenemos 4 neuronas (M=4). Si el
número de grupos, después del entrenamiento, resultara menor que la dimensión del vector de salida
de la red, entonces deberíamos reducir el número de neuronas de la capa superior.
Los vectores que representan los mapas de bits de los patrones de entrada, figura 5, son
arreglados en columnas en la secuencia en la que son presentados de izquierda a derecha.
Consideremos primero el caso en donde el valor de vigilancia es alto ( =0.7). Este caso se ilustra en
la figura 5. Los pesos son inicializados como:
1
wij ; v ji 1; i 1,2,......25; j 1, 2, 3, 4
26
Paso 1.
Cuando el patrón "A" es presentado, las cuatro neuronas de la capa superior van a poseer
salidas iguales, esto por el hecho de partir de pesos iniciales iguales, por ser el primer patrón y no
tener ninguna referencia de su membrecía a algún grupo, le asignamos arbitrariamente la neurona
poseen x i =1 con el nodo 1 de la capa superior son incrementados a 2/11. También los pesos v i1 que
van de arriba hacia abajo, ajustados según la ecuación (63), permanecerán en valor unitario si x i =1;
de lo contrario serán cambiados a 0.
La figura 5 muestra la red TRA1 después de completado el primer paso de entrenamiento. Note
que entre los 25x4 = 100 pesos que procesan entradas de abajo hacia arriba, solo 5 han cambiado.
Entre los 100 pesos de arriba hacia abajo, v j ,i , 5 son colocados en valor unitario y 19 son hechos
iguales a cero. Los restantes permanecen con su valor inicial y no son mostrados en la figura.
En resumen
2
w1,1 w7,1 w13,1 w19,1 w25,1
11
los pesos restantes
1
wij y wi1 0
26
para i 2,3,4,5,6,8,9,10,11,12,14,15,16,17,18,20,21,22,23 y 24
presentado
2
w1, 2 w5, 2 w7, 2 w9, 2 w13, 2 w17, 2 w19, 2 w21, 2 w25, 2
19
los pesos remanentes wi 2 0 . Igualmente
Paso 3.
Presentamos el patrón C, y evaluamos la neurona 1 para verificar si el patrón C pertenece a ese
grupo. Sin embargo, la prueba de vigilancia no es pasada ya que
1 25
5
x
v
i 1
x 0.7
j ,1 i
13
El nodo 1 es entonces desactivado, y consecuentemente, el nodo 2 emerge como el ganador
debido a la ausencia de un nodo competidor. La prueba de vigilancia produce como valor
1 25
9
x
v
i 1
x 0.7
j ,1 i
13
Tampoco la prueba de vigilancia no es pasada; indicando en consecuencia una inadecuada
similitud entre la entrada "C” y cualquiera de los dos grupos ya formados.
El resultado es la adición de una nueva neurona de la capa superior para identificación a un
nuevo grupo, (neurona 3); de modo que los pesos wi 3 y v j 3 deberán ser correspondientemente
Figura 58.
[1] E. Davalo; P. Naim, "Neural Networks. MacMillan Education LTD, London, 1991.
[2] W. S. McCulloch; W. Pitts, "A Logical Calculus of the Ideas Imminent in Nervous
Activíty.Bulletin of Mathematical Biophysics, Number 5, pp. 115-133, 1943.
[4] G. Nagy, "Neural Networks-Then and Now". IEEE Trans. On Neural Networks, Vol. 2,
Number 2, pp. 316-318, March 1991.
[6] N. Wiener, "Cybernetics: Or Control and Communication in the Animal and the
Machine". The Mit Press, Cambridge, MA., 1948.
[9] J. J. Hopfield, "Neural Networks and Physical Systems with Emergent Collective
Computational Abilities". Proceedings of the National Academy of Sciences, Vol. 79, pp.
2554-2558, USA, 1982.
[10] P. J. Werbos, "Beyond Regression: New Tools for Prediction and Analysis in the
Behavior Sciences". Ph.D. Thesis, Harvard university, Committee on Applied Mathematics,
USA., 1974.
[12] D. B. Parker, "Learning Logic". Technical Report TR-47, MIT, Cambridge, 1985.
[17] R. P. Lippmann, "An Introduction to Computing with Neural Nets". IEEE ASSP
Magazine, pp. 4-22, April 1987.
[20] B. Widrow; M. Lehr, "30 Years of Adaptive Neural Networks: Perceptron, Madaline,
and Backpropagation". Proc. IEEE, Vol. 78, Number 9, pp. 1415-1442, Sept. 1990.
[22] D. Andes; B. Widrow; M. Lehr; E. Wan, "MRIII: A Robust Algorithm for Training
Analog Neural Networks". Proc. Intl. Joint Conf. on Neural Networks, Vol. 1, pp. 533-536,
Wash DC., Jan.1990.
<»
[35] T. Poggio; F. Girosi, "Networks for Approximation and Learning". Proceedings of The
IEEE, Number 78:(9), pp. 1481- 1497, September 1990.
[36] J. S. Albus, "A New Approach to Manipulator Control: The Cerebellar Model
Articulation Controller (CMAC)". Journal of Dynamic Systems, Meas, Control, pp. 220-227,
1975.