Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 término Adaline es una sigla, Adaptive Linear Element (Elemento Lineal Adaptivo), 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 obtenida por el paso de la combinación lineal u k a través de la función de
activación lineal.
El objetivo del proceso de adaptación en el Adaline puede describirse como: Dado un conjunto
de patrones de entrada y las salidas deseada asociadas, encontrar un conjunto óptimos de pesos
sinápticos w1 , w2 ,......wp , y un nivel de umbral b, que minimice el valor medio cuadrático del error
actual.
Algoritmo o Regla de Aprendizaje de Mínimo Medio Cuadrático (LMS).
El problema de hallar un único vector de pesos w que pueda asociar con éxito cada vector de
entrada con el valor de salida 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
yp
denominamos para el p -ésimo vector de entrada, entonces el término de error correspondiente es:
ep d p y p
J
1
e p 2
2
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
Definimos una matriz R x p x tp , llamada matriz de correlación de entrada, y un vector P d p x tp . Y
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 funcion 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.
Ejemplo:
Supongamos que se tiene un Adaline de dos entradas y otras magnitudes definidas en la
siguiente forma:
3 1 4
R P d k 2 10
1 4 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 de la 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:
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 )) 2ep 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.
En resumen el algoritmo LMS cumple los siguientes pasos en el proceso de interacción:
2.- Se determina el error cuadrático, e p 2 , empleando el valor actual del vector de pesos:
e 2p (d p wx p ) 2
Todos los filtros se pueden caracterizar a partir de su respuesta a la función de impulso unitario,
que se representa por la forma:
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.
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
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.
t: Señal resultante de la suma de la señal de interés s y de m que es el porcentaje efectivo de ruido que
afecta la medición.
e: Diferencia entre la señal contaminada t y 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 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,
pero si en forma; en general puede haber un retraso de tiempo asociado con esta réplica, por lo tanto,
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.
Figura 44.- Señal original de ruido y señal que afecta el proceso de medición
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.
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.
net=newlin([-1,2],1);
net.inputWeights{1,1}.delays=[0 1 2 3 4];
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 - -
0.0561 .... .... 0.0961 0.0365 .... 0.0107 .... 0.1176
esperado 0.0159 0.0653
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.
Al final del proceso iterativo el máximo error entregado por la red equivale a 1.41e-07, este es
un valor bastante aceptable teniendo en cuenta que el error difícilmente será cero, puesto que el
algoritmo LMS emplea un valor aproximado para el gradiente, que como se dijo en el capítulo 2
recibe el nombre de gradiente instantáneo, en lugar del valor real para realizar la actualización de los
pesos; este valor del gradiente es una versión distorsionada del verdadero gradiente que ocasionará
que los pesos sigan variando suavemente, a pesar de que el error medio cuadrático haya alcanzado el
mínimo valor posible.
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.
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 back propagation o algoritmo de propagación inversa o retropropagación fue
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
"Parallel Distributed Processing Group" 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 red back propagation es un tipo de red de aprendizaje supervisado, que emplea un ciclo
propagación y adaptación de pesos de dos fases. Una vez que se ha aplicado un patrón a la entrada de
la red como estímulo, este se propaga desde la primera capa a través de las capas siguientes de la red,
hasta generar una salida. La salida de la red se compara con la salida deseada y se calcula una señal de
error para cada una de las salidas.
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.
Varias investigaciones han demostrado que, durante el proceso de entrenamiento, la red back
propagation tiende a desarrollar relaciones internas entre neuronas con el fin de organizar los datos de
entrenamiento en clases. Esta tendencia se puede extrapolar, para llegar a la hipótesis consistente de
que todas las unidades de la capa oculta de una back propagation son asociadas de alguna manera a
características específicas del patrón de entrada, como consecuencia del entrenamiento. Lo que sea o
no, la asociación puede no resultar evidente para el observador humano, lo importante es que la red ha
encontrado una representación interna que le permite generar las salidas deseadas cuando se le dan las
entradas en el proceso de entrenamiento. Esta misma representación interna se puede aplicar a
entradas que la red no haya visto antes, y la red clasificará estas entradas según las características que
compartan con los ejemplos 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
neurona j como e2j (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:
w ji (n) para el peso sináptico w ji (n) , el cual es proporcional al gradiente instantáneo (n)
. De
w ji (n)
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)
w ji (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 wji(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 46, al determinar e j (n) es directo calcular el gradiente
Figura 50.- Detalles de conexión sobre el flujo de señales entre una 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:
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.
Segundo: el gradiente local j (n) depende de donde se encuentre la neurona j, en un nodo de salida o
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
de la ec (25). Para una neurona localizada en la capa de salida, el es simplemente igual a la señal
de error de esa neurona multiplicado por la primera derivada de su función no lineal. Entonces usando
la ec. (25) se calculan los cambios de los pesos sinápticos de todas las conexiones que alimentan la
capa de salida.
Dados los `s para las neuronas de la capa de salida, a continuación usamos la ec (24) para
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.
Taza de Aprendizaje y Momentum
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
net m S X , m 1,2,...... p (6)
2 2
Usando la identidad (4), podemos expresar a netm como:
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 ( 2 ) 1 1 1 1 1 1 1 1 1
T
S (3) 1 1 1 1 1 1 1 1 1
T
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 fuera
mayor que la distancia típica dentro de los grupos, pero menor que la distancia entre grupos.
X T Xi
cos (21)
X Xi
y 0m WmT X (50)
para m = l,2,...,M
donde Wm W1m W2m .....Wnm T .
………………………………………. Elaborado por: Dr. Armando Briceño A. 41
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 ijx i max w im x i , para m 1,2,...., M (54)
i 1 i1
Ahora una secuencia de pasos que puede ser implementada para poner en marcha al algoritmo
de descubrimiento de grupos es la siguiente:
Paso 1.
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
ji xi (60)
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 el número de vectores de entrada,
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, una de las cuatro neuronas de la capa superior va a poseer
la salida más grande. Denotaremos arbitrariamente a esta neurona como la número 1. La prueba de
vigilancia es pasada incondicionalmente ya que el lado izquierdo de la ecuación (60) es de valor
unitario en la primera presentación. Esto produce una definición incondicional del primer grupo. El
resultado de ajuste de pasos calculado usando la ecuación (62) es que todos los pesos w i1 que
conectan las entradas que poseen x i =1 con el nodo 1 de la capa superior son incrementados a 2/11.
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 w 5,2 w1,2 w 7,2 w 9,2 w13,2 w17,2 w19,2 w 21,2 w 25,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 5 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 5 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.