Está en la página 1de 98

CODIGO:21223CODIGO:21223

UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA

DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA

NÚCLEO DE INSTRUMENTACIÓN Y CONTROL

Una Introducción a las Redes Neuronales Artificiales


Noviembre, 2011

Índice de Contenidos

Página

Capítulo 1: Introducción ...................................................................................................... …3


Evolucion Historica de las Redes Neuronales Artificiales (RNA) .............................. 3
Taxonomia de las Redes Neuronales Artificiales (RNA) ............................................ 4
Bases Biologicas .......................................................................................................... 5
La Neurona Artificial................................................................................................... 6
Arquitecturas de las Redes Neuronales............................................................................
El Perceptron....................................................................................................................
Algoritmos de entrenamientos……………………………………………………….
..
Capítulo 2: Clasificación de Patrones ........................................................................................
Modelo de Clasificación, Caracteristicas y Regiones de Decisión ...............................
El Hiperplano .................................................................................................................
Clasificador por Funciones Discriminantes ...................................................................
El Perceptron como Clasificador ...................................................................................
Limitación del Perceptron .............................................................................................

Capítulo 3: El Adaline ...............................................................................................................


Participantes...................................................................................................................
Instrumentos ..................................................................................................................
Procedimientos ..............................................................................................................

Capítulo 4: Redes Perceptronicas Multicapas ...........................................................................


Recolección de los Datos ...............................................................................................
Análisis de los Datos y Resultados ................................................................................

Capítulo 5: Redes Neuronales Autoorganizables………………………………………..…….


Implicaciones de los Hallazgos .....................................................................................
Limitaciones ..................................................................................................................
Recomendaciones ..........................................................................................................

Capitulo 6: Red Neuronal de Descubrimiento de Grupos (TRA1)…………………………..

Bibliografia.. ..............................................................................................................................
Capitulo 1: Introducción.

Evolución Histórica de las Redes Neuronales Artificiales (RNA)


Las redes neuronales artificiales (RNA) están compuestas por varias neuronas interconectadas
formando varias topologías o arquitecturas neuronales. El trabajo pionero sobre redes neuronales fue
presentado en 1943 por McCulloch y Pitts [2], a través de los primeros modelos matemáticos para
estudiar las potencialidades de neuronas artificiales interconectadas para calcular determinadas
funciones lógicas. En 1949 Hebb [25] publicó un estudio indicando la relevancia de las conexiones o
sinapsis para el proceso de aprendizaje e indicando las leyes de adaptación involucradas en los
sistemas neuronales artificiales. Las ideas de McCulloch y Pitts, Hebbs y otros tuvieron influencia en
el trabajo de Rosenblatt, quien publicó su primer reporte técnico sobre el perceptrón en 1957 [3].
En este primer reporte, Rosenblatt usó el término “perceptrón” para referirse a un autómata, en
vez de a una clase de modelo de una neurona biológica. El propósito de su trabajo sin embargo, fue el
de mostrar la factibilidad de diseñar una red neuronal adaptativa, con rica interconectividad y no
linealidades del tipo sinapsis para copiar el comportamiento de algunas funciones definidas.
La era inicial de las RNA concluyó con la publicación de un trabajo por Minsky y Papert en
1969 [5]. Este trabajo mostró las limitaciones teóricas de perceptronesorganizados en una sola capa o
nivel para resolver el problema lógico del “o-exclusivo.
En 1976, Grossberg publicó un trabajo basado en evidencia biológica y psicológica, donde
fueron introducidos detectores neuronales artificiales para explorar noveles características de
diferentes configuraciones de sistemas dinámicos no lineales [8]. Nuevos ímpetus al campo de las
RNA fueron dados cuando Hopfield publicó un trabajo titulado "Neural networks and
physicalsystemswithemergentcollectivecomputationalabilities” en 1982 [9]. En este trabajo, Hopfield
propuso un modelo que era capaz de implementar una memoria de contenido direccionable.
Su idea, aún cuando estuvo basada en varios resultados previos, sugirió la existencia de un
comportamiento dinámico estable del sistema neuronal artificial, cuando estados vecinos tienden a
aproximarse al estado estable. En este trabajo también fue demostrado que durante la evolución de
este comportamiento dinámico estable, una función de energía era localmente minimizada, lo que
permitió que algunos resultados de física estadística fuesen utilizados en las RNA.
Otro impulso fuerte al interés para investigar sobre RNA fue motivado por nuevos resultados y
el redescubrimiento del algoritmo de “retropropagación” por Werbos [10], LeCum en 1985 [11],
Parker en 1985 [12] y Rumelhart, Himton y Williams en 1986 [13]. La colección de trabajos de

………………………………………. Elaborado por: Dr. Armando Briceño A. 3


Anderson y Rosenfeld [14] es una excelente fuente de información para estudiar el desarrollo de
modelos de RNA.
Hoy día, las primeras aplicaciones prácticas de las RNA están emergiendo en una variedad de
campos ingenieriles que van desde dispositivos para el reconocimiento de patrones y el procesamiento
de señales hasta controladores experimentales de robots. En el contexto del control y la identificación
de sistemas dinámicos el trabajo de Narenda y Parthasarathy [15], el libro editado por Miller, Sultton
y Werbos [7] y el trabajo de Hunt, Sbarbaro, Zbikowski y Gowthrop [16], entre otros, representan un
panorama actualizado del estado del arte de las investigaciones sobre RNA en el referido contexto.
En la literatura, diferentes nombres han sido usados para referirse a RNA. Títulos como
modelos conexionistas, modelos de procesamiento paralelo distribuido, sistemas neuromórficos, son
usados como sinónimos para RNA. Estos estudios se han transformado en un área multidisciplinaria
de investigación, con miles de publicaciones periódicas en revistas que abarcan a la biología, la
psicología, las matemáticas, la física y la electrónica entre otras disciplinas.
Taxonomía de las Redes Neuronales Artificiales
La taxonomía o clasificación presentada por Uppmann [17], muestra seis topologías deredes
neuronales clasificadoras para patrones fijos. Esta taxonomía está arreglada en un árbol, con su rama
superior dividida entre redes con entradas de valor binario y redes con entradas de valor continuo.
Debajo de esta rama, las redes están agrupadas en aquellas entrenadas con supervisión y aquellas
entrenas en un ambiente no supervisado. La figura 1 ilustra esta taxonomía.

Figura 1.- Taxonomía de las Redes Neuronales Artificiales.

………………………………………. Elaborado por: Dr. Armando Briceño A. 4


Bases Biológicas
Los trabajos realizados inicialmente sobre las RNA fueron motivados por descubrir como el
cerebro humano procesa la información, estos trabajos fueron basados en los primeros estudios
presentados por Ramón y Cajál (1911), quienes introducen la idea de las neuronas biológicas como
estructuras constituyentes del cerebro humano.
Las neuronas biológicas son células nerviosas que constituyen los elementos primordiales del
sistema nervioso central. En general, las neuronas son capaces de recibir señales provenientes de otras
neuronas, procesar estas señales, generar pulsos nerviosos, conducir estos pulsos, y transmitirlos a
otras neuronas.Típicamente la respuesta de una neurona biológica esta por el orden de 5 a 6
magnitudes por debajo de una compuerta lógica de silicón. Es decir, un evento en un chip de silicón
aparece en el orden de los nanosegundos, mientras que un evento neuronal esta por el orden de los
milisegundos. Sin embargo, el cerebro humano desarrolla muchas funciones con un tiempo,
relativamente bajo de respuesta de operación de la neurona biológica. Esto es debido a que posee una
estructura cerebral con un gran número de neuronas y una inmensa cantidad de interconexiones entre
ellas.
El número de neuronas en el cerebro humano se estima que deben de estar en el orden de los
billones y 60 trillones de sinapsis o interconexiones. Todo esto convierte al cerebro en una enorme y
eficiente estructura de procesar información. Específicamente, la eficiencia energética del cerebro es
16
aproximadamente 10 joules por operación por segundo, mientras que para su correspondiente valor
6
para el mejor computador, esta por el orden de 10 joules por operación por segundo.
Es de notar que en el nacimiento de un ser humano, el cerebro presenta una gran estructura que
es capaz de construir sus propias reglas, las cuales identificamos como experiencias. Estas
experiencias se construyen con los años, obteniéndose los mayores grados de desarrollo (alto grado de
conexiones neuronales) del cerebro en los primeros dos años desde el nacimiento, pero su desarrollo
continúa más allá de este estado. Durante estos primeros escenarios se producen alrededor de 1 millón
de sinapsis o interconexiones por segundo.
Las sinapsis o interconexiones son estructuras o unidades elementales y funcionales, que
median las interacciones entre las neuronas biológicas, la clase más común de sinapsis biológica es la
sinapsis química. La figura 2 ilustra la forma de la estructura de una neurona biológica piramidal, en
la cual podemos observar las diferentes partes que la constituyen y que a continuación se especifican:
a.- Dentritas o zona de recepción (superficie irregular y de muchos brazos).

………………………………………. Elaborado por: Dr. Armando Briceño A. 5


b.- Núcleo o cuerpo de la célula (donde se procesa la información recibida).
c.- Axón, línea de transmisión (superficie lisa, pocos brazos y largos).

Figura 2.- Estructura de una Neurona Biológica Piramidal


En el cerebro humano, las neuronas están interconectadas en complejas topologías espaciales
para formar el sistema nervioso central. La operación de la neurona es usualmente explicada como un
proceso en donde la célula o el cuerpo ejecuta una suma de señales que llegan por sus dentritas.
Cuando ésta suma es mayor que cierto valor o umbral, la neurona responde transmitiendo un pulso a
través de su axón. Si la suma es menor que el umbral, la neurona permanece inactiva.
La Neurona Artificial
Copiando las partes que conforman una neurona biológica, nosotros podemos realizar el modelo
de la neurona artificial, la cual se ilustra en la figura 3.

Figura 3.- Modelo de una Neurona Artificial

………………………………………. Elaborado por: Dr. Armando Briceño A. 6


La neurona artificial es una unidad de procesamiento de información que es fundamental para la
operación de la RNA, podemos identificar los tres elementos básicos que conforman la neurona
artificial:
1.-Un set de sinapsis o enlaces de conexiones: Una sinapsis es una simple conexión que puede
imponer o inhibir una excitación a una neurona receptora, pero no ambas simultáneamente.La sinapsis

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).

………………………………………. Elaborado por: Dr. Armando Briceño A. 7


Figura 4.- Funciones de activación: a) función umbral,
funciónsigmoidal, c) función líneal

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 5.- Modelo de una Neurona de una sola Entrada


Las entradas a la red serán ahora presentadas en el vector (p), que para el caso de una sola
neurona contiene solo un elemento, (w) sigue representando los pesos y la nueva entrada (b) se
conoce como nivel de umbral que refuerza la salida del sumador que ahora la definimos como (net) y
viene dada por net=wp+b; la salida total está determinada por la función de activación (f) , la cual
puede ser una función lineal o no lineal de (net), y que es escogida dependiendo de las
especificaciones del problema que la neurona tenga que resolver. Aunque la neurona artificial se
inspira en modelos biológicos, no existe ninguna limitación para realizar modificaciones en las
funciones de activación de salida, así que se encontrarán modelos artificiales que nada tienen que ver
con las características de los sistemas biológicos.
El efecto de la utilización del nivel de umbral (b)es el de producir una desviación en la función
de activación, lo podemos observar en la figura 6.En la misma se observa el desplazamiento de la

………………………………………. Elaborado por: Dr. Armando Briceño A. 8


función de activación en el eje horizontal, según el valor del umbral (b) en relación con wp. Esto
permite activar la salida de la neurona dependiendo del nivel de umbral.

Figura 6.- Efecto del Uso del Nivel de Umbral sobre la Función de Activación

Función de Activación Umbral o Limitador Fuerte (Hardlim).


La figura 7 muestra como esta función de activación acerca la salida (a) de la red a cero, si el
argumento de la función es menor que cero y la lleva a uno si este argumento es mayor que cero. La
función Hardlim es la expresión utilizada en Matlab para identificar la función umbral o limitador
fuerte.

Figura 7.- Función de ActivaciónHardlim

El icono para la función hardlim reemplazara a la letra f en la expresión general.Una


modificación de esta función puede verse en la figura 8, la que representa la función de transferencia
Hardlims que restringe el espacio de salida a valores entre 1 y –1.

………………………………………. Elaborado por: Dr. Armando Briceño A. 9


Figura 8.- Función de ActivaciónHardlims Modificada
Función de Activación Lineal (purelin).
La salida de una función de transferencia lineal es igual a su entrada,

Figura 9.- Función de Activación Lineal

Función de Activación Sigmoidal (logsig)


Esta función se observa en la figura 10 y toma los valores de entrada entre más y menos
infinito, y restringe la salida a valores entre cero y uno, de acuerdo a la expresión:

Figura 10.- Función de Activación Sigmoidal

………………………………………. Elaborado por: Dr. Armando Briceño A. 10


La tabla 1 hace una relación de las principales funciones de activación empleadas en las
neuronas artificiales utilizando MatLab.

Relación
Nombre Icono Función
Entrada /Salida

Limitador
hardlim
Fuerte

Limitador
Fuerte hardlims
Simétrico

Lineal Positiva poslin

Lineal purelin

Lineal
satlin
Saturado

Lineal
Saturado satlins
Simétrico

Sigmoidal
logsig
Logarítmico

Tangente
Sigmoidal tansig
Hiperbólica

Competitiva compet

Tabla 1.- Diferentes tipos de Funciones de Activación utilizadas por MatLab

………………………………………. Elaborado por: Dr. Armando Briceño A. 11


Arquitectura de las Redes Neuronales
Típicamente una neurona tiene más de una entrada; en la figura 11 se observa una neurona con
R entradas; las entradas individuales p1,p2,...,pR son multiplicadas por los pesos correspondientes w1,1,
w1,2,...w1,R pertenecientes a la matriz de pesos W.

Figura 11.- Neurona con Múltiples Entradas

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,

Esta expresión puede ser escrita en forma matricial

Los subíndices de la matriz de pesos representan los términos involucrados en la conexión, el


primer subíndice representa la neurona destino y el segundo representa la fuente de la señal que
alimenta a la neurona. Por ejemplo, los índices de w1,2 indican que este peso es la conexión desde la
segunda entrada a la primera neurona. Otra forma de expresión utilizando MatLab es la mostrada en
la figura 12, la cual se hace más útil cuando hay más de una neurona, o cuando se tiene una neurona
con demasiados parámetros.

………………………………………. Elaborado por: Dr. Armando Briceño A. 12


Figura 12.- Neurona con Múltiples Entradas, notación abreviada.

En la figura 12 observamos que el vector de entrada p es representado por la barra sólida


vertical a la izquierda. Las dimensiones de p son mostradas en la parte inferior de la variable como
Rx1, indicando que el vector de entrada es un vector columna de R elementos. Las entradas van a la
matriz de pesos W, la cual tiene R columnas y solo una fila para el caso de una sola neurona. Una
constante 1 entra a la neurona multiplicada por la ganancia escalar b. La salida de la red a, es en este
caso un escalar, si la red tuviera más de una neurona a sería un vector.

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 13


Redes perceptrónicas.
Las redes perceptrónicas son conocidas como “redes de alimentación adelantada”, que aceptan
tanto entradas continuas como binarias. Pueden clasificarse en redes perceptronicas de una simple
capa o redes perceptronicas multicapas.

Red Perceptronica de una Simple capa.


En una red perceptronica de una simple capa tenemos conectados los nodos fuentes o capa de
entrada, en donde se presentan los datos de entrada, y una sola capa de neuronas de salida, en la figura
13 se observa su arquitectura o topologia.

Figura 13.-Red Perceptronica de Alimentación adelantada de una Simple Capa.

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:

Capa de entrada:Recibe las señales de la entrada de la red, algunos autores no consideran el


vector de entrada como una capa, pues allí no se lleva a cabo ningún tipo de proceso.

………………………………………. Elaborado por: Dr. Armando Briceño A. 14


Capas ocultas:Estas capas son aquellas que no tienen contacto con el medio exterior, sus
elementos pueden tener diferentes conexiones y son estas las que determinan las diferentes topologías
de la red.

Capa de salida: Recibe la información de la capa oculta y transmite la respuesta al medio


externo.

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.

Figura 14.- Capa de S neuronas

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.

Figura 15.- Capa de S neuronas con notación abreviada

………………………………………. Elaborado por: Dr. Armando Briceño A. 15


En la figura 15 se han dispuesto los símbolos de las variables de tal manera que describan las
características de cada una de ellas, por ejemplo la entrada a la red es el vector p cuya longitud R
aparece en su parte inferior, W es la matriz de pesos con dimensiones SxR expresadas debajo del
símbolo que la representa dentro de la red, a y b son vectores de longitud S. Como se ha dicho
anteriormente S representa el número de neuronas de la red.

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:

1.- La neurona tiene una función de activación lineal.

2.- La neurona tiene una función de activación sigmoidal

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:

 Con respecto a la neurona 1 son: 0.8, 0.2, -1, y -0.9 respectivamente.


 Con respecto a la neurona 2 son: 0.6, 0.5, 1, y 2 respectivamente.
 Con respecto a la neurona 3 son: 0.7, 0.4, -1, y -0.5 respectivamente.
 Con respecto a la neurona 4 son: 1, 0.2, -2, y -0.9 respectivamente.

Se pide: Dibuje la arquitectura de la red y exprese todos componentes en forma vectorial,


además determine el vector de salida de la red neuronal. Desarrolle un programa en Matlab que le
permita hacer el cálculo.

………………………………………. Elaborado por: Dr. Armando Briceño A. 16


Red Perceptronica Multicapa de Alimentación Adelantada.
La segunda clase de redes neuronales de alimentación adelantada se distingue por la presencia
de una o más capas de neuronas ocultas, la capa de neuronas que se encuentra entre la capa de entrada
o de nodos fuentes y la capa de neuronas de salida son llamadas capas de neuronas ocultas, la figura
16 ilustra la topología de la red multicapas de alimentación adelantada, con diez nodos fuentes, cuatro
neuronas en la capa oculta y dos neurona en la capa de salida.
La función de las neuronas de la capa oculta es la de procesar la información entre la capa de
entrada y la capa de salida, los nodos fuentes en la entrada de la red representan los respectivos
elementos del patrón de entrada (vector de entrada), el cual constituye la señal aplicada a la capa
oculta. La salida de la capa oculta son utilizadas como entradas a la tercera capa o capa de salida.
Típicamente las neuronas en cada capa de la red tienen sus entradas de las señales de salida de las
capas precedentes.

Figura 16.- Red Perceptrónica Multicapas de Alimentación Adelantada

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 17


entradas netas n, y un vector de salida a. La versión completa y la versión en notación abreviada de
una red de tres capas, pueden ser visualizadas en las figuras 17 y 18, respectivamente.

Figura 17.- Red de Tres Capas


Para esta red se tienen R entradas, S1 neuronas en la primera capa, S2 neuronas en la segunda
capa, las cuales pueden ser diferentes; las salidas de las capas 1 y 2 son las entradas a las capas 2 y 3
respectivamente, así la capa 2 puede ser vista como una red de una capa con R=S1 entradas, S2
neuronas y una matriz de pesos W2de dimensiones S2xS1, de igual forma la capa 3 puede ser vista
como una red de una capa con R=S2entradas, S3 neuronas y una matriz de pesos W3de dimensiones
S3xS2

Figura 18.- Red de Tres Capas con Notación Abreviada

………………………………………. Elaborado por: Dr. Armando Briceño A. 18


Las redes multicapas son más poderosas que las redes de una sola capa, por ejemplo, una red de
dos capas que tenga una función sigmoidal en la primera capa y una función lineal en la segunda,
puede ser entrenada para aproximar muchas funciones de forma aceptable, una red de una sola capa
no podría hacer esto como se verá en capítulos posteriores.
Problema: Desarrolle una red neuronal multicapas, con un vector de entrada de 4 elementos, 3
neuronas en la primera capa o capa oculta, y dos neuronas en la capa segunda capa o capa de salida.
Todas tienes funciones lineales saturadas. Asuma aleatoriamente el vector de entrada y la matriz de
los pesos sinápticos. Determine el vector de salida.

2.- Redes Recurrentes de Hopfield


Las redes recurrentes se distinguen de una red de alimentación adelantada en que esta tiene al
menos un lazo de realimentación, por ejemplo, una red recurrente puede consistir de una simple capa
de neuronas como se observa en la figura 19, en la cual se observa que existen lazos de
realimentación. Cada neurona es alimentada por las salidas de las otras neuronas, no existe lazos de
autoalimentación. Los lazos de realimentación implican el uso de unidades de retardos (denotados por
Z 1 ), productos de la dinámicas no lineales de la neurona.

Figura 19.- Red Recurrente sin Lazos de Autorealimentación

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 19


Figura 20.- Red Recurrente con Lazos de Realimentación

3.- Redes-Neuronales Auto-organizables.


Las redes neuronales auto-organizables o mapas de Kohonen [29], son diseñadas basadas en el
principio organizacional de las rutas sensoriales del cerebro. Según este principio, el posicionamiento
de las neuronas es ordenado y refleja alguna característica físicas de los estímulos externos que son
sensados. Las entradas a una red de Kohonen son señales de valores continuos, presentadas
secuencialmente en el tiempo, en un ambiente no supervisado que permite entrenamiento estructural.
La arquitectura mostrada en la figura 21, ilustra una posible topología de la red.

Figura 21.- Red de Kohonen

………………………………………. Elaborado por: Dr. Armando Briceño A. 20


El Perceptrón
El perceptrón, es la forma más simple de una red neuronal,el cual es usado para la clasificación
de un tipo especial de patrones, es decir, los que son separables linealmente. Básicamente consiste en
una simple neurona con pesos sinápticos ajustables, un nivel de umbral  k , y función de activación de
tipo umbral o escalón. Las figura 22 ilustra el perceptrón formado por la neurona k.

Figura 22.- Perceptrón de una Simple Capa

Matemáticamente podemos describir la neurona k, por el siguiente par de ecuaciones:

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

ajustables de la neurona k, uk es la combinación lineal a la salida del sumador,  k es el nivel de

umbral, el cual es una aplicación externa.  ( ) es la función de activación la cual es del tipo umbral o

escalón , y yk es la señal de salida de la neurona k.


Podemos reformular el modelo anterior de la forma que se muestra en la figura 23, en la misma
podemos describir la neurona k de la forma:
p
vk  w
j 0
kj xj

y k   (v k )

………………………………………. Elaborado por: Dr. Armando Briceño A. 21


Note que se ha incluido una nueva entrada x0   1 , la cual se ha incorporado en el subíndice 0,

y se ha asignado un nuevo peso wk 0  k

Figura 23.- Otro Modelo del Perceptrón de una Simple Capa

Algoritmos de Entrenamiento Neuronal


Nosotros podemos definir el “Aprendizaje” de una red neuronal como un proceso mediante el
cual los parámetros libres de la red neuronal (pesos), son adaptados o ajustados a través de un proceso
continuo de estimulación dado por el ambiente en el cual la red se encuentra operando.
Frecuentemente el aprendizaje es denominado “Entrenamiento”. En la figura 24 se observa los
diagramas de un ambiente supervisado y no supervisado.

Figura 24.- Ambientes de Aprendizaje

………………………………………. Elaborado por: Dr. Armando Briceño A. 22


Veamos con más detalle en qué consisten los algoritmos de entrenamiento neuronal.
Consideremos el esquema presentado en la figura 25, en la misma se ilustra la k-esima neurona de
una red, esta neurona está siendo alimentada por un vector X de entrada de forma
T
x   x1 , x2 ,........x p  , el vector de peso referente a sus entradas y a la neurona k, viene dado por

 
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 )

Donde: wkp (t ) es el valor viejo del peso.

wkp (t  1) es el valor nuevo o actualizado del peso.

wkp (t ) es el ajuste del pesoque viene definido como el resultado de la estimulación del ambiente

donde opera la red.


Una vez que no exista la estimulación del ambiente para actualizar los pesos y que estos
permanezcan fijos, se dice que ha terminado el proceso de aprendizaje y que la red esta entrenada.

Figura 25.- Esquema para un Ajuste de pesos para un Ambiente Supervisado

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 23


algoritmos de entrenamiento difieren uno del otro en la manera de calcular los ajustes de los pesos
sinápticos wkp (t ) , y cómo está relacionada la red con su ambiente.

Regla General para el Entrenamiento o Aprendizaje.

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

la salida de la neurona en un instante t cuando se está en un aprendizaje supervisado. Es decir,


w(t )  C * r ( w(t ), x(t ), d (t )) * x(t )

donde: x(t ) es el vector de entrada en un instante t.


w(t ) es el vector de pesos en un instante t.

d (t ) es el valor deseado de salida en un instante t

r ( w(t ), x(t ), d (t )) función de aprendizaje.

c es un número positivo llamado constante de aprendizaje, el cual determina la rata o velocidad de


aprendizaje de lared. De tal manera que el vector de peso actualizado en el próximo instante
viene dado por:
w(t  1)  w(t )  C * r ( w(t ), x(t ), d (t )) * x(t )

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

y  f w * x . Por tanto el ajuste de los pesos viene dado por:


w  C * f w * x* x
o también podemos escribir:
wij  C * f wij * x j * x j

2.- Regla de entrenamiento del Perceptrón.


La función de aprendizaje está dada por la diferencia entre el valor deseado (d) y la respuesta de
salida actual de la neurona y  f w * x =  , es decir:

………………………………………. Elaborado por: Dr. Armando Briceño A. 24


r  d 

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

3.- Regla de entrenamiento Delta.


La función de aprendizaje es llamada delta, y viene definida por:
r  d i  f ( w * x) f ' ( w * x)

El término f ' ( w * x) es la derivada de la función de activación. La regla de entrenamiento delta es


válida solamente para funciones de activación continuamente diferenciales y se debe de aplicar bajo
un entrenamiento supervisado. Entonces para la regla Delta el ajuste de los pesos viene dado por:
wij  C * (d i   ) * f ' (wij * x j ) * x j

4.- Regla de entrenamiento de Widrow-Hoff.


Esta regla funciona bajo entrenamiento supervisado y es independiente de la función de
activación puesto que la función de aprendizaje viene dada por el error entre el valor deseado ( d ) y la
variable ( uk ). Entonces la función de aprendizaje viene dada por:

r  d  u  d  w* x
El ajuste de los pesos viene dado por:
wij  C * (d i  wij * x j ) * x j

5.- Regla de entrenamiento de Correlación.


En esta regla se sustituye la función de aprendizaje r, por el valor deseado d , en el ajuste de los
pesos, es decir:
wij  C * d i * 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 )

………………………………………. Elaborado por: Dr. Armando Briceño A. 25


Donde  es una constante de aprendizaje y wij es el vector de peso asociada a la neurona (i) ganadora,

los pesos de las otras neuronas que compiten no son ajustados.


Capitulo 2: Clasificación de Patrones.
La función principal de un sistemadiseñado para la clasificación de patrones es la de proveer
información sobre la clase de membrecía de los patrones de entrada. Conceptualmente, el problema
puede ser descrito como una transformación de conjuntos o funciones de un espacio de entrada en un
espacio de salida llamado el espacio de clasificación. Este proceso de clasificación resulta altamente
complejo y lo desarrollaremos gradualmente introduciendo primeramente las funciones
discriminantes lineales con reglas de corrección sencillas para realizar entrenamiento de redes
neuronales. El entrenamiento o adaptación de la red será presentado como una secuencia de ajustes
iterativos de los pesos. Analizaremos algunos aspectos geométricos relacionados con el proceso de
clasificación.
Modelo de Clasificación, Características y Regiones de Decisión.
Una de las tareas más útiles que puede ser realizada por redes neuronales de elementos de
procesamiento no lineales interconectados es la de clasificación de patrones. Un patrón es la
descripción cuantitativa de un objeto, evento o fenómeno. La clasificación puede involucrar patrones
espaciales o temporales. Ejemplos de patrones espaciales son cuadros, imágenes de video, mapas,
huellas digitales, caracteres, etc. Ejemplos de patrones temporales incluyen señales de voz, señales
temporales producidas por elementos sensores de un proceso, electrocardiogramas, sismogramas etc.
Los patrones temporales usualmente involucran secuencias ordenadas de datos en el tiempo.
Una forma de generar los vectores patrones en el caso de objetos espaciales es como se ilustra
en la figura 25. En el espacio de dos dimensiones se muestra el carácter T.

Figura 25.- Ejemplo de un Patrón Espacial

………………………………………. Elaborado por: Dr. Armando Briceño A. 26


Observe que cada componente “ xi ” del vector x  [ x1 x2 .....xn ]T tiene asignado el valor “1” si la

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

ilustra en la figura 26 en donde x  [ f (t1 ) f (t2 ).... f (tn )]T

Figura 26.- Ejemplo de un Patrón Temporal

El objetivo de la clasificación de patrones es de asignarle a un objeto físico, evento o fenómeno


una de las clases (o categorías) pre-especificadas.El problema de la clasificación de patrones puede
ser visto como la discriminación de datos de entrada que pertenecen a una población, con el objeto de
buscar atributos invariantes dentro de los miembros de esa población.
El estudio del proceso de clasificación conduce al desarrollo de un modelo matemático
abstracto que provee las bases teóricas para el diseño de clasificadores. Por ejemplo, las señales
electrocardiográficas, fotografías biomédicas o el diagnóstico de algunas enfermedades pueden ser
manejados satisfactoriamente usando máquinas clasificadoras. La figura 27 ilustra el diagrama de
bloques,en forma general, de un sistema de clasificación y reconocimiento de patrones.

Figura 27.- Diagrama de Bloque de un Clasificador


El reconocimiento consiste en la asignación de una clase para patrones de entrada que no son
idénticos a los patrones usados para el entrenamiento del clasificador. El sistema clasificador consiste

………………………………………. Elaborado por: Dr. Armando Briceño A. 27


de un transductor de entrada que provee los datos del patrón de entrada al extractor de características.
Típicamente, las entradas al extractor de características son conjuntos de vectores de datos ( x ) que
pertenecen a cierta categoría.La clasificación a la salida del sistema (clase) es realizada por el
clasificador implementando una función de decisión i0 ( x) . Los valores discretos de la respuesta i0 son
1 ó 2 ó R, dependiendo de las cantidades de clases o categorías que existan para la clasificación. Las
respuestas representan las clases o las categorías en las cuales los patrones de entrada deben ser
colocados. La función de clasificación es prevista por la transformación de la “n” componentes del
vector “ x ” en una de las categorías “ i0 ”, entendiéndose por x  [ x1 x2 .....xn ]T .
El Hiperplano
Este concepto aparece ocasionalmente en la literatura, y puede ser útil para evaluar el
rendimiento de ciertas redes neuronales. En el espacio tridimensional que nos es familiar, un plano es
un objeto de dos dimensiones. Un único plano puede descomponer al espacio tridimensional en dos
regiones distintas, dos planos pueden dar origen a tres o cuatro regiones distintas, dependiendo de sus
orientaciones relativas, y así sucesivamente. Por consiguiente en un espacio n dimensional, los
hiperplanos son objetos de (n-1) dimensión (los espacios n dimensionales se les suele llamar
hiperespacios). Una colocación adecuada de los hiperplanos permite descomponer los espacios n
dimensional en varias regiones diferentes. Hay muchos problemas reales que implican la separación
de regiones de puntos de un hiperespacio en categorías individuales o clases, que deben distinguirse
de otras clases.
Clasificador por Funciones Discriminantes.
Asumiremos que tanto el conjunto n-dimensional de patrones x1 , x2 ,.....x p , como la clasificación

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

patrón “x” pertenecerá a la categoría “i” si y solo si gi ( x)  g j ( x) para i, j  1, 2....R i  j . Así,

………………………………………. Elaborado por: Dr. Armando Briceño A. 28


dentro de una región Hi, la función discriminante “i” poseerá el valor máximo. Esta propiedad de
valor máximo del discriminante será usada para clasificar un patrón “x” en una categoría “i”.
Las funciones discriminantes gi ( x) y g j ( x ) para regiones de decisión contiguas Hi. yHj;

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 .

Ejemplo: La figura 28 ilustra la clasificación de 6 patrones en una de dos clases posibles. En


este caso, la superficie de decisión es una línea recta. Observe que n  R  2 , de modo que en la
figura se ilustra una función discriminante lineal.

Figura 28.- Clasificación de 6 patrones en dos superficie de decisión


La ecuación g ( x)  x2  2 x1  2  0 representa una línea recta que divide al plano x1 , x2 en dos

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 29


Figura 29.- Clasificador por selector de máximo valor.
Esto es, para un patrón dado, el discriminador " i0 " calcula el valor de la funcióndiscriminante

gi ( x) , y el selector de máximo valor selecciona la mayor de sus entradas y produce una respuesta

igual al número de la categoría “ i0 ” a la cual pertenece el patrón.


Un clasificador de dos clases (R=2), es llamado un dicotomizador. De modo que la regla
general de clasificación para el dicotomizador puede ser escrita como:
g ( x )  0; clase 1
g ( x )  0; clase 2

Ahora bien, la evaluación del signopuede, en este caso, reemplazar la evaluación de la


condición del máximo valor de la función discriminante.Hemos mencionado que la condición de
clasificación para este caso específico puede ser reducida a la inspección del signo de la función
discriminante:La evaluación de esta condición en la práctica puede hacerse usando una unidad de
umbral lógica, según se ilustra en la figura 30:

Figura 30.- Modelo de un clasificador tipo dicotomizador

Es claro que en la ilustración se cumple que:

1 para g ( x)  0 Clase 1

i0  Sgn [ g ( x)]   Indefinido g ( x)  0 indefinida
  1 para g ( x)  0 Clase 2

………………………………………. Elaborado por: Dr. Armando Briceño A. 30


Entonces si comparamos el dicotomizador de la figura 30 con un perceptron, con un vector de
entrada de dos dimensiones, podemos concluir que el perceptron es un clasificafor tipo
dicotomizador.

Ejercicio: Demostrar la relación de un perceptron con un vector de entrada de dos dimensiones


con respecto a la ecuación discriminante de la figura 28.

El Perceptrón como Clasificador

Figura 20.- El Perceptrón como Clasificador

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 31


estas regiones se visualiza qué patrones pertenecen a una clase y cuáles a otra, el Perceptrón separa
las regiones por un hiperplano cuya ecuación queda determinada por los pesos de las conexiones y el
valor umbral de la función de activación de la neurona, en este caso los valores de los pesos pueden
fijarse o adaptarse empleando diferentes algoritmos de entrenamiento.

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

De esta forma y empleando la función de transferencia hardlimla salida de la neurona i de la


capa de salida

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 32


El perceptrón es un tipo de red de aprendizaje supervisado, es decir, necesita conocer los
valores esperados para cada una de las entradas presentadas; su comportamiento está definido por
pares de esta forma:

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.

Figura 21.- Función OR

Para este caso las entradas a la red serán valores binarios, la salida de la red está determinada
por

………………………………………. Elaborado por: Dr. Armando Briceño A. 33


Si w1p1+w2p2 es mayor que 0 la salida será 1, en caso contrario la salida será –1. Como puede verse la
sumatoria que se le pasa a la función hardlims (función de salida) es la expresión matemática de una
recta, donde w1 y w2 son variables y p1 y p2 son constantes. En la etapa de aprendizaje se irán
variando los valores de los pesos obteniendo distintas rectas, lo que se pretende al modificar los pesos
de las conexiones es encontrar una recta que divida el plano en dos espacios de las dos clases de
valores de entrada, concretamente para la función OR se deben separar los valores 01, 10, y 11 del
valor 00; elperceptrón que realiza esta tarea y la gráfica característica pueden observarse en la figura
22, allí puede verse como las posibles rectas pasarán por el origen de coordenadas, por lo que la
entrada 00 quedará sobre la propia recta por no poseer valor de umbral (b).

Figura 22.-Perceptrón aplicado a la función OR

Se aplicará este método para resolver también el problema de la función AND, el cual se describe en
la figura 23.

………………………………………. Elaborado por: Dr. Armando Briceño A. 34


Figura 23.- Espacio de salida de una compuerta AND

Analizando el comportamiento de la AND se llega a la conclusión de que es imposible que una


recta que pase por el origen, separe los valores 00,01 y 10 del valor 11, por lo que se hace necesario
introducir un nivel de umbral para realizar esta tarea. El nivel de umbral se representa por la letra b;
este nuevo término permite desplazar la recta del origen de coordenadas dando una solución para el
caso de la función AND y ampliando el número de soluciones de la función OR. Ahora la salida de la
neurona está dada por

las soluciones obtenidas para las funciones AND y OR se observan en la figura 24.

Figura 24.- Solución para una función AND y una OR

En el proceso de entrenamiento el perceptrón se expone a un conjunto de patrones de entrada y


los pesos de la red son ajustados de forma que al final de entrenamiento se obtengan las salidas
esperadas para cada uno de esos patrones de entrada.

El algoritmo de entrenamiento del perceptrón puede resumirse en los siguientes pasos:

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 35


3. Se calcula la salida de la red por medio de

dondef puede ser la función hardlim o hardlims

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:

En una sola expresión la regla de entrenamiento puede resumirse así:

Y extendiendo la regla a el nivel de umbral:

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.

, , ,

Figura 25.- Patrones de entrenamiento

………………………………………. Elaborado por: Dr. Armando Briceño A. 36


En este caso las salidas toman valores bipolares de 1 o –1, por lo tanto la función de
transferencia a utilizar será hardlims. Según la dimensiones de los patrones de entrenamiento la red
debe contener dos entradas y una salida.

Figura 26.- El perceptrón para resolver el problema de clasificación de patrones

Para decidir si elperceptrón puede aplicarse al problema de interés, se debe comprobar si el


problema es linealmente separable, esto puede determinarse gráficamente de la figura 25, en donde se
observa que existe un gran número de líneas rectas que pueden separar los patrones de una categoría
de la otra. El siguiente paso es asumir arbitrariamente los valores para los pesos y para el nivel de
umbral iníciales de entrada a la red; el proceso terminará cuando se hayan obtenido los pesos y
ganancias finales que permitan a la red clasificar correctamente todos los patrones presentados.

Los valores iníciales asignados aleatoriamente a los parámetros de la red son:

Con base en el procedimiento descrito anteriormente, el proceso de aprendizaje de la red es el


siguiente:

 Iteración 0

La red clasificará los patrones de entrenamiento según la característica de decisión mostrada en la


figura 27, la cual depende de los valores de pesos y ganancias iniciales interceptados con el eje
horizontal y vertical en los puntos:

………………………………………. Elaborado por: Dr. Armando Briceño A. 37


Figura 27.- Clasificación de los patrones de acuerdo a la 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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 38


La iteración 1 lleva a la característica de decisión de la figura 28. Interceptados con el eje horizontal y
vertical en los puntos:

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.

Figura 28.- Característica de decisión de la iteración 1

………………………………………. Elaborado por: Dr. Armando Briceño A. 39


 Iteración 2

Se presenta p2 a la red, y es clasificado correctamente, como se observó gráficamente

Este patrón ha sido clasificado correctamente y por lo tanto no hay actualización del set de
entrenamiento

 Iteración 3

Se presenta p3 a la red y es clasificado correctamente, como se observó gráficamente

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 40


Se presenta a la red p4,

La red ha clasificado incorrectamente este patrón y por lo tanto deben modificarse pesos y ganancias

En esta iteración la red se comportara de acuerdo a la característica de decisión de la figura 29.


Interceptados con el eje horizontal y vertical en los puntos:

………………………………………. Elaborado por: Dr. Armando Briceño A. 41


Figura 29.- Característica de decisión final

De la figura 29 se observa que la red ha clasificado correctamente los patrones de


entrenamiento, después de entrenada la red con los pesos y ganancias finales, cualquier otro valor de
entrada será clasificado según la característica de decisión mostrada.Es de importancia notar que en
este caso los patrones de entrada se encuentran en dos dimensiones y por lo tanto es fácil determinar
gráficamente cuando han sido clasificados correctamente, en el caso donde los patrones se encuentren
en tres dimensiones esta visualización se dificulta y en el caso de que los patrones sean de orden
superior (Hiperespacio) la visualización resulta imposible; para estos casos se debe comprobar
matemáticamente que el error correspondiente a cada patrón de entrenamiento para los pesos finales
es nulo.

Limitación del Perceptrón

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;

………………………………………. Elaborado por: Dr. Armando Briceño A. 42


Ejemplos de problemas de este tipo son las funciones lógicas OR y AND estudiadas
anteriormente; para ilustrar más claramente que significa que un problema sea linealmente separable
se analizará un caso que no lo sea, el caso de la compuerta XOR, el cual se visualiza en la figura 30.

Figura 30.- Compuerta XOR

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

Figura 31.- Plano formado por el problema de la XOR

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 43


esta función, debido a esta limitación del perceptrón y a su amplia publicación en el libro de Minsky y
Papert, el estudio de las redes neuronales se estancó

durante casi 20 años.

El proceso para determinar si un problema es linealmente separable o no, se realiza


gráficamente sin problema, cuando los patrones de entrada generan un espacio de dos dimensiones,
como en el caso de las funciones AND, OR o de la XOR; sin embargo, esta visualización se dificulta
cuando el conjunto de patrones de entrada es de tres dimensiones, y resulta imposible de observar
gráficamente cuando los patrones de entrada son de dimensiones superiores; en este caso se requiere
plantear condiciones de desigualdad que permitan comprobar la separabilidad lineal de los patrones,
esto se realiza con base en la ecuación de salida del perceptrón

, para aquellos patrones cuya salida deseada sea 1

, para aquellos patrones cuya salida deseada sea 0

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)

Es de notar que si no hay contradicción en las desigualdades anteriores, el problema es


linealmente separable, pero como se observa de las desigualdades p2, p3 y p4, es imposible que

, 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.

La solución al problema de clasificación de patrones de la función XOR se encontraría


fácilmente si se descompone el espacio en tres regiones; una región pertenecería a una de las clases de
salida y las otras dos pertenecen a la segunda clase, así que si en lugar de utilizar únicamente una

………………………………………. Elaborado por: Dr. Armando Briceño A. 44


neurona de salida se utilizaran dos, se obtendrían dos rectas por lo que podrían delimitarse tres zonas.
Para poder elegir entre una zona u otra de las tres, es necesario utilizar otra capa con una neurona
cuyas entradas serán las salidas de las neuronas anteriores; las dos zonas o regiones que contienen los
puntos (0,0) y (1,1) se asocian a una salida nula de la red y la zona central se asocia a la salida con
valor 1, de esta forma es posible encontrar una solución al problema de la función XOR, por tanto se
ha de utilizar una red de tres neuronas, distribuidas en dos capas para solucionar este problema. En la
figura 32 se observa un esquema de lo que sería una red perceptrón multicapa, con los valores de
pesos y ganancias que clasifican correctamente los patrones de la compuerta XOR

Figura 32.- Perceptrón multicapa para la XOR

Los valores de la matriz de pesos y del vector de ganancias son:

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 45


Perceptrón multicapa

En el problema de la función XOR se explicó como un Perceptrón multicapa había sido


implementado para hallar una solución. El esquema general de un Perceptrón multicapa es una red
con múltiples entradas y que incluya una entrada adicional representada por la ganancia b, este
esquema general se ve en la figura 33 en donde se notan las conexiones entre sus nodos de entrada y
las neuronas de salida.

Figura 33 Conexiones del Perceptrón

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.

Un esquema simplificado del modelo del Perceptrón de la figura 33 se observa en la figura 34

………………………………………. Elaborado por: Dr. Armando Briceño A. 46


Figura 34.- Notación compacta para la red tipo Perceptrón

La salida de la red está dada por:

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

p: Vector de entradas a la red de dimensiones Rx1

b: Vector de ganancias de la red de dimensiones Sx1

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.

Clases con Formas de


Regiones de Problema
Estructura Regiones Regiones más
Decisión de la XOR
Mezcladas Generales

Medio Plano
Limitado por
un Hiperplano

………………………………………. Elaborado por: Dr. Armando Briceño A. 47


Regiones
Cerradas o
Convexas

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 48


Capitulo 3: El Adaline.

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 es similar al perceptrón, excepto en su función de activación o transferencia, la cual


es una función de tipo lineal en lugar de un limitador fuerte como en el caso del perceptrón. A
diferencia del perceptron, a la hora de modificar los pesos durante el entrenamiento el Adaline tiene
en cuenta el grado de corrección de la salida estimada respecto a la deseada. Dado que el objetivo del
Adaline es poder estimar de la manera más exacta la salida, se busca minimizar la desviación de la red
para todos los patrones de entrada, eligiendo una medida del error global, la cual es el error medio
cuadrático. El Adaline presenta la misma limitación del perceptrón en cuanto al tipo de problemas que
pueden resolver, ambas redes pueden solo resolver problemas linealmente separables, sin embargo el
algoritmo LMS es más potente que la regla de aprendizaje del perceptrón ya que minimiza el error
medio cuadrático, la regla sirvió de inspiración para el desarrollo de otros algoritmos, éste es el gran
aporte de esta red.

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).

El Adaline consiste en un combinador lineal (sumador), una función de activación lineal de


salida y un mecanismo para ajustar los pesos (LMS). En particular, a la combinación lineal a la salida
del sumador u k producida en respuesta al vector de entrada, se le resta la salida deseada d , para

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

función de activación lineal.

………………………………………. Elaborado por: Dr. Armando Briceño A. 49


Figura 36.- Diagrama en Bloque de un Adaline

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 ,......w p , 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).
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

método para hallar el vector de pesos w deseado.


Aludiremos a este proceso para hallar el vector de pesos, qué estamos entrenando el Adaline. La
regla de aprendizaje o algoritmo de entrenamiento se puede incorporar directamente al propio
dispositivo,que entonces puede auto adaptarse a medida que se le vayan presentando las entradas y
salidas deseadas. Se hacen pequeños ajustes en los valores de los pesos cada vez que se procesa una

………………………………………. Elaborado por: Dr. Armando Briceño A. 50


combinación entrada-salida, hasta que el Adaline da una salida correcta. En cierto sentido, este
proceso es un verdadero proceso de entrenamiento, porque no necesitamos calcular explícitamente el
valor del vector de pesos. Antes de describir con detalle el proceso de entrenamiento, vamos a llevar a
cabo el cálculo manualmente.

Cálculo del vector de pesos ( w ).

Para empezar, vamos a formular el problema: dados los ejemplos ( x1 , d1 ), ( x2 , d 2 ),....( x p , d p ) de


xp
alguna función de procesamiento que asocia a los vectores de entrada (o los proyecta sobre) a los
dp
valores de salida deseados , entonces ¿cuál es el mejor vector de pesos, w para que un Adalinelleve
a cabo esta proyección?
Para responder a esta pregunta, primero hay que definir lo que constituye el mejor vector de
pesos. Está claro que, una vez que se haya encontrado el mejor, desearíamos que al aplicar todos los
vectores de entrada se obtuviese como resultado un valor de salida que fuese, con precisión, el valor
correcto. Por tanto, es necesario eliminar, o por lo menos minimizar, la diferencia entre la salida
deseada y la salida real para todos los vectores de entrada.
La aproximación que se emplea aquí consiste en minimizar el valor del error medio cuadrático
para el conjunto de valores de entrada. Si el valor de la salida del combinador lineal (u k ) que es la

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

El valor del error medio cuadrático viene dado por la función J :

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 51


Definimos una matriz R  x p x tp , llamada matriz de correlación de entrada, y un vector P  d p x tp . Y

ahora rescribimos la función:


1 2 1
J d p  wRw t  Pwt
2 2

como se observa, J , es una función de w , es decir, J  J (w) .


1 2 1
J  J ( w)  d p  wRw t  Pwt
2 2
Para hallar el vector de pesos correspondiente al mínimo valor del error medio cuadrático, se debe
derivar J  J (w) con respecto a w , e igualar a cero y obtener el vector w , veamos:
J ( w)
 Rw t  P ; Rw  P  0 ; Rw  P
t t

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 52


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 

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 53


Calculo de w Mediante el Método del Descenso más Pronunciado
Como se puede imaginar, el cálculo analítico para determinar los pesos óptimos de un cierto
problema es en general bastante difícil, tal como la engorrosa manipulación de matrices para
dimensiones grandes. Una aproximación mejor consistiría en dejar que el Adaline buscase por sí
mismo los pesos óptimos haciendo que explorase la superficie de pesos para hallar los pesosque
garantizan el error mínimo medio cuadrático. Empezaremos por asignar unos valores arbitrarios a los
pesos. A partir ese punto de la superficie de pesos, se determina la dirección de la pendiente más
pronunciada en dirección hacia abajo. Luego se modifican ligeramente los pesos para que el nuevo
vector de pesos se encuentre un poco más abajo en la superficie. Este proceso se repite hasta haber
alcanzado el mínimo. El procedimiento se muestra en la Figura 38.

Figura 38.- Diagrama para visualizar el descenso más pronunciado, la


selección inicial del vector de pesos da lugar a un J min

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

en el instante t es w(t ) . En cada paso, el próximo vector de pesos se calcula según:


w(t  1)  w(t )  w(t )

………………………………………. Elaborado por: Dr. Armando Briceño A. 54


en donde w(t ) es el cambio que sufre w en el t-ésimo instante.
Estamos buscando la dirección del descenso más pronunciado en cada punto de la superficie, así
que necesitamos calcular el gradiente de la superficie (el gradiente proporciona la dirección de la
pendiente más pronunciada hacia arriba). La dirección opuesta del gradiente es la dirección de
descenso más pronunciado. Para obtener la magnitud del cambio, se multiplica el gradiente por una

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 )) ,

empleando e 2p  (d p  wx p ) 2 como la aproximación. Es decir J ( w(t ))   e 2p  e 2p , por tanto, si

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 55


En resumen el algoritmo LMS cumple los siguientes pasos en el proceso de interacción:

1.- Se aplica un vector de entrada x p , en las entradas del Adaline.

2.- Se determina el error cuadrático, e p , empleando el valor actual del vector depesos:

e p  (d p  wx p )

3.- Se actualiza el vector de pesos según:


w(t  1)  w(t )  2 e p x 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  .

Principal Aplicación de la Red Adaline

La red Adaline ha sido ampliamente utilizada en el procesamiento de señales.A comienzos del


estudio de las comunicaciones electrónicas, se diseñaban filtros analógicos empleando circuitos RLC
(Resistencias, Inductores, Condensadores) para eliminar el ruido de las señales empleadas enlas
comunicaciones; este procesamiento se ha transformado en una técnica de múltiples facetas,
destacándose en la actualidad el uso de procesadores digitales de señales (DSP), que pueden llevar a
cabo los mismos tipos de aplicaciones de filtrado ejecutando filtros de convolución realizados
mediante programación convencional, en cualquier lenguaje de programación conocido.El proceso de

………………………………………. Elaborado por: Dr. Armando Briceño A. 56


filtrado sigue ocupando un lugar muy importante en la industria, pues siempre será necesario eliminar
el ruido en señales portadoras de información.

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

Donde es la entrada al sistema

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 57


Figura 40.- Retardos en línea

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.

Figura 41.- Filtro adaptativo

Cuya salida viene dada por:+

………………………………………. Elaborado por: Dr. Armando Briceño A. 58


Ejemplo: Filtro Adaptativo

Descripción del problema:

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 59


Aprovechando que la fuente de ruido ha sido completamente determinada, se utilizará este
conocimiento para implementar un procedimiento de filtrado que por medio de un filtro adaptivo
permita recuperar la señal original.

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:

Figura 42.- Diagrama de Bloques de un filtro adaptivo

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 60


t: Señal resultante de la suma de la señal de interés s y dem que es el porcentaje efectivo de ruido que
afecta la medición.

a: Salida del filtro.

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)

El estudio de los procesos de filtrado se ha basado en un análisis en el dominio de la frecuencia,

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,

………………………………………. Elaborado por: Dr. Armando Briceño A. 61


pero si en forma; en general puede haber un retraso de tiempo asociado con esta réplica, por lo tanto,

se habrá filtrado exitosamente una señal , si la respuesta es ; la respuesta es una


réplica de la entrada con magnitud k veces la señal original y un retraso de t0 segundos.

Figura 43.- Representación de un sistema de filtrado en el dominio del tiempo y en el dominio


frecuencial

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 62


Figura 44.- Señal original de ruido y señal que afecta el proceso de medición

Justificación del tipo de red la red Adaline

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 63


Figura 45.- Estructura de un filtro adaptivo con una red Adaline

Cuando no es posible determinar la forma de onda de la señal original, ya que este es


precisamente el propósito de la medición, un filtro adaptivo se hace bastante útil, pues como su
nombre lo dice se adapta a cualquier forma de señal que se le presente, sobrepasando así las
limitaciones de los filtros tradicionales.

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 64


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};

Los valores correspondientes a la entrada y a la salida de la red se obtuvieron evaluando la


ecuación (1) para valores desde hasta . La red se entrenó para 5000 iteraciones, mediante
las cuales el filtro logró una excelente aproximación de la función original.

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 65


N1 -0.0405 -0.0127 -0.0319 -0.0389 -0.0097 N1 0.0032

Mse 0.0022

Tabla 1.- Resultados del proceso de entrenamiento

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.

En la figura 46 se observa como la señal e (verde) reproduce la señal original s (naranja)


logrando una excelente aproximación, a partir de la cual puede retomarse el proceso de medición,
pues en este punto cualquier tratamiento que se le haga a la señal de interés es altamente confiable, ya
que ésta se encuentra libre de ruido.

Figura 46.- Señal recuperada por el filtro

………………………………………. Elaborado por: Dr. Armando Briceño A. 66


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.

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 67


Capitulo 4: Redes Perceptronicas Multicapas.

Antecedentes:La regla de aprendizaje del Perceptrón de Rosenblatt y el algoritmo LMS de Widrow y


Hoff fueron diseñados para entrenar redes de una sola capa. Como se discutió anteriormente, estas
redes tienen la desventaja que solo pueden resolver problemas linealmente separables, fue esto lo que
llevo al surgimiento de las redes multicapa para sobrepasar esta dificultad en las redes hasta entonces
conocidas.

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 red backpropagation 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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 68


La importancia de este proceso consiste en que, a medida que se entrena la red, las neuronas de
las capas intermedias se organizan a sí mismas de tal modo que las distintas neuronas aprenden a
reconocer distintas características del espacio total de entrada. Después del entrenamiento, cuando se
les presente un patrón arbitrario de entrada que contenga ruido o que esté incompleto, las neuronas de
la capa oculta de la red responderán con una salida activa si la nueva entrada contiene un patrón que
se asemeje a aquella característica que las neuronas individuales hayan aprendido a reconocer durante
su entrenamiento. Y a la inversa, las unidades de las capas ocultas tienen una tendencia a inhibir su
salida sí el patrón de entrada no contiene características para reconocer.

Varias investigaciones han demostrado que, durante el proceso de entrenamiento, la red


backpropagation 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 backpropagation 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.

Estructura de la Red Multicapas:

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 69


Figura 47.- 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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 70


2.- Una señal de error: Esta señal de error se origina en las neuronas de salida de la red, y se
propaga en atraso capa por capa. Esta señal de error es procesada por cada neurona de la red como
una señal que depende del error, ya sea de alguna forma o de otra.

Figura 48.- Dirección del flujo de las dos señales básicas en la


redperceptronica multicapas.

Derivación del Algoritmo de Retropropagacion del Error.

La señal de error e j (n) en la salida de una neurona j en la interacción n (presentandoel

patron n de entrenamiento) está definido por:


e j ( n)  d j ( n)  y j ( n) (1)

Donde d j (n) = Salida deseada de la neurona j en la interacción n. Y y j (n) = Salida actual de la

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 jC
(2)

Donde C incluye todas las neuronas de la capa de salida de la red.


Denotamos N como el número total de patrones en el conjunto entrenamiento, el error promedio

cuadrado  av es obtenido por sumatoria de  (n) y normalizado con respecto a N, el cual denotamos
por:

………………………………………. Elaborado por: Dr. Armando Briceño A. 71


N
1
 av 
N
  ( n)
n 1
(3)

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

no-linealidad  (.) , asociada con la neurona j y viene dada por:


p
v j ( n)   w ji ( n) yi (n) (4)
i 0

donde:
p es el número total de la dimensión de los patrones de entrada incluyendo el umbral aplicado a la

neurona j. wj0 es el peso sináptico correspondiente a el valor fijo de entrada y0  1 , y es igual a

 j aplicado a la neurona j .

Figura 49. Detalle del flujo de la señal de función.

Entonces la señal de función y j (n) que aparece a la salida de la neurona j en la interacción n,

esta dada:

………………………………………. Elaborado por: Dr. Armando Briceño A. 72


y j (n)   j (v j (n)) (5)

De una manera similar al LMS, el algoritmo de retropropagación es aplicado a la corrección

w ji (n) para el peso sináptico w ji ( n) , el cual es proporcional al gradiente instantáneo  (n)


. De
w ji (n)

acuerdo con la regla de la cadena podemos expresar el gradiente como:


 (n)  (n) e j (n) y j (n) v j (n)
 (6)
w ji (n) e j (n) y j (n) v j (n) w ji (n)

El gradiente  (n) representa el factor de sensibilidad, el cual determina la dirección de búsqueda


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)

con respecto a e j ( n) tenemos:

 (n)
 e j ( n) (7)
e j (n)

diferenciando ambos lados de la ec. (1) con respecto a yi (n) tenemos:


e j (n)
 1 (8)
y j (n)

Diferenciando ambos lados de la ec. (5) con respecto a v j ( n) tenemos:

y j (n)
  ' j (v j (n)) (9)
v j (n)

y finalmente diferenciando la ec. (4) con respecto a w ji ( n) tenemos:

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)

………………………………………. Elaborado por: Dr. Armando Briceño A. 73


En donde  es una constante que determina la rata de aprendizaje y es conocida como el
parámetro de la rata de aprendizaje del algoritmo de retropropagación, el uso del signo menos en la ec
(12) indica el descenso del gradiente en el espacio de los pesos. Usando la ec (11) en la ec (12)
tenemos:
w ji   j (n) yi (n) (13)

en donde  j ( n ) es el gradiente local y está definido por:

 (n) e j (n) y j (n)


 j ( n)    e j (n) 'j (v j (n)) (14)
e j (n) y j (n) v j (n)

De acuerdo con la ec (14) el gradiente local para la salida de la neurona j es igual al producto de

la función de error correspondiente e j (n) por la derivada de la función de activación asociada a la

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

 j (n) usando la ec(14).


Caso 2.- Cuando la neurona j está localizada en la capa oculta de la red, no se le puede asignar
una respuesta deseada, entonces la señal de error podría ser determinada recursivamente en términos
de las señales de error de todas las neuronas para lo cual esas neuronas ocultas están directamente
conectadas, es aquí donde el algoritmo de retropropagación se torna complicado.

………………………………………. Elaborado por: Dr. Armando Briceño A. 74


Consideremos la situación de la figura 50.

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) y j (n)  ( n) '


 j ( n)     j (v j (n)) (15)
y j (n) v j (n) y j (n)

Donde la neurona j esta oculta.


 (n)
Para calcular procedemos de la siguiente manera: de la ec (2) vemos que;
y j (n)
1
 ( n)   ek2 (n) (16)
2 kC

Donde la neurona k es una salida.


La ec 16esta rescrita de la ec (2), excepto por el uso de k en lugar de j. Tenemos que tener pendiente
esto para evitar confusiones con el uso del subíndice j, que se refiere a la neurona oculta bajo el Caso
2, de cualquier manera diferenciando la ec (16) con respecto a la señal de función y j (n) tenemos:

 (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:

………………………………………. Elaborado por: Dr. Armando Briceño A. 75


 (n) e (n) vk (n)
  ek k (18)
y j (n) k vk (n) y j (n)
Sin embargo de la figura 50, notamos que:
ek (n)  dk (n)  yk (n)  d k (n)   k (vk (n)) (19)
la neurona k es un nodo de salida.Puesto que:
ek (n)
  k ' (vk (n)) (20)
vk (n)

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

j. El cual podemos expresarlo como:


 j (n)   j ' (v j (n)) k (n)wkj (n) (24)
k

Donde la neurona j esta oculta.


El factor  j ' (v j (n)) envuelto en el cálculo del gradiente local  j ( n ) de la ec. (24) depende

únicamente de la función de activación asociada con la neurona oculta j.


El factor de mantenimiento envuelto en este cálculo, es decir, la sumatoria sobre k, depende de
dos términos, el primer término  k (n) que requiere del conocimiento de la señal de error ek (n) de

………………………………………. Elaborado por: Dr. Armando Briceño A. 76


todas las neuronas que están a la derecha de la neurona oculta j. El segundo termino el wkj (n) consiste

de los pesos sinápticos asociados con esas conexiones.


Se puede generalizar las relaciones que hemos derivado del algoritmo de retropropagacion de la
siguiente forma:
Primero: la corrección wji ( n) está definida por la regla delta:
wji (n)   j (n) yi (n) (25)

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 ) va a depender de donde se encuentre la neurona j, en un nodo de

salida o en un nodo oculto, entonces:


1.- Si la neurona j está en un nodo de salida,  j ( n ) es igual al producto de la derivada

 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

u oculta que están conectadas a la neurona j (ver ec. (24)).


Los Dos Pases del Algoritmo de Retropropagación.
En la aplicación del algoritmo de retropropagacion se pueden distinguir dos pases para el
cálculo, el primero es referido como pase adelantado y el segundo como pase en atraso. En el pase
adelantado los pesos sinápticos se mantienen inalterable a través de la red, y las señales de función de
la red son calculadas básicamente neurona por neurona, específicamente la función de señales aparece
en la neurona de salida j, calculada como:
y j (n)   (v j (n)) (26)

Donde el nivel de activación interna de la neurona j viene definido por:


p
v j (n)   w ji (n) yi (n) (27)
i 0

………………………………………. Elaborado por: Dr. Armando Briceño A. 77


Donde P es el número total de entrada (incluyendo el umbral) aplicadas a la neurona j, y w ji (n) es el

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 78


Taza de Aprendizaje y Momentum
El algoritmo de retropropagacion provee una aproximación de la trayectoria en el espacio de los
pesos, calculada por el método de la pendiente descendiente. Disminuyendo el parámetro  (taza de
aprendizaje) podría cambiar los pesos sinápticos en la red de una interacción a otra y alisando la
trayectoria en el espacio de los pesos. Este mejoramiento, sin embargo, se logra con el costo de una
baja rata de aprendizaje, por el contrario, si se aumenta el parámetro  podría producir grandes
cambios en los pesos sinápticos llevando a la red a un estado inestable.
Un método simple para incrementar la rata de aprendizaje y evitar los peligros de la
inestabilidad, podría consistir en modificar la regla delta de la ec (13) incluyendo un término del
momento, conocido como el método del momento.
w ji (n)  w ji (n  1)   j (n) yi (n) (30)

Donde  es usualmente un número positivo llamado constante de momentun y la ec. (30) es


llamada regla Delta Generalizada, esta incluye a la regla Delta de la ec. (13) como un caso especial
cuando = 0, y w ji (n  1) indica el ajuste de los pesos en la interacción (n-1).

Parámetros que Afectan el Desempeño de la Red Multicapa.


1.- El método del momento.
2.- Tasa de aprendizaje
3.- Modalidades de entrenamiento
3.1 Por patrón
3.2 Por lotes
4.- Criterios de parada
4.1 Números de interacciones
4.2 Error mínimo
4.3 Norma del gradiente
4.4 Variación del error absoluto
4.5 Desempeño en el conjunto de evaluación
5.- Iniciación de los pesos
6.- Números de neuronas en la capa escondida
7.- Números de capas escondidas
8.- Generalización
9.- Normalización

………………………………………. Elaborado por: Dr. Armando Briceño A. 79


Capítulo 5: Redes Neuronales Autoorganizables.
Las redes neuronales estudiadas en los capítulos anteriores representan topologías y algoritmos
de entrenamientos diferentes entre sí. En este sentido hemos estudiado redes unicapas y redes
perceptrónicas multicapas, que constituyen topologías entrenadas bajo un ambiente de supervisión.
Las redes que consideraremos a continuación, representan una combinación de las arquitecturas
topológicas y los modos de acceso a información almacenada ya estudiados. La nueva particularidad
la constituirá el modo de entrenamiento no supervisado.
De esta manera, presentaremos redes cuyo aprendizaje no está basado ni en las técnicas de
descenso por gradiente, ni en la familiar regla de correlación. De hecho, no proveeremos ninguna
retroalimentación del ambiente durante la fase de entrenamiento. La red por si misma deberá
descubrir las relaciones de interés que puedan existir en sus datos de entrada. Nuestro interés es
entonces, diseñar redes que sean capaces de transformar las relaciones descubiertas en salidas.
Veremos que el descubrimiento de patrones, características, categorías, etc, pueden realizarse
sin supervisión. Las redes entrenadas sin supervisión usualmente aprenden comparando ciertos
criterios explícitos de familiaridad (parecido). Estas redes pueden producir salidas que nos dicen de su
parecido con el patrón de entrada presentado. Esto es realizado comparando el patrón de entrada
presentado con patrones típicos ya conocidos (vistos en el pasado).
Una medida importante de comparación (similitud) usada para entrenamiento es el máximo
valor del producto escalar de los pesos por el vector de entrada. Usando la medida del producto
escalar, los pesos pueden ser entrenados en un modo no supervisado para semejarlos con patrones de
entrada frecuentes, o con agrupaciones de patrones. Un aspecto peculiar del aprendizaje no
supervisado que utilizaremos es que los indicadores deberán ser creados basados en la historia de la
experiencia del aprendizaje. Estos indicadores son calculados basados en la medida de proximidad
para diferenciar entre características más o menos importantes de los datos. La falta de un supervisor
forza a la red a aprender gradualmente por si misma aquellas características necesarias para clasificar
o reconocer patrones.
Estudiaremos las siguientes arquitecturas de redes: Redes de Hamming y la Maxnet y la Red de
Teoría de Resonancia Adaptativa (TRA) para el descubrimiento de agrupaciones y la clasificación de
vectores binarios.

………………………………………. Elaborado por: Dr. Armando Briceño A. 80


La Red de Hamming y la Maxnet.
En esta sección cubriremos un clasificador de dos capas usado para vectores binarios bipolares,
para lo cual necesitamos recordar la definición de la distancia de Hamming para dos vectores binarios
bipolares X y Y , éstase define como:
1 n
HD( X , Y )   xi  yi
2 i 1
(1)

La distancia de Hamming es proporcional a la disimilitud (diferencia) entre dos vectores y


representa un entero igual al número de bits de posiciones diferentes entre dos vectores binarios de la
misma longitud. Esto significa que el máximo valor de HD entre dos vectores cualesquiera es igual a
"n” (dimensión del vector) y corresponde a la distancia entre un vector y su complemento (diferencia
total entre vectores).
El clasificador que estudiaremos en esta sección opera seleccionando las clases almacenadas que
se encuentran a su distancia de Hamming mínima al vector presentando a la entrada de la red. Esta
selección de clases es enteramente ejecutada por la red de Hamming, la cual constituye un
clasificador de un nivel de tipo alimentación adelantada.
Una red de Hamming para "p” clases posee "p” neuronas de salida. La respuesta más fuerte de
una neurona es indicativa del valor mínimo de HD entre la entrada y la categoría que esta neurona
representa (utilizando el producto escalar como referencia). La figura 51 representa un diagrama de la
red de Hamming y Maxnet

Figura 51.- Red de Hamming y Maxnet


Aprecie que el segundo nivel del clasificador es llamado Maxnet y opera como una red
recurrente (retorna su salida). Su única función es suprimir valores a la salida de Maxnet diferentes a
aquellos del nodo de máxima salida del primer nivel. Como fue ya indicado, la parte propia del
clasificador es la red de Hamming, responsable de comparar el vector de entrada con los vectores

………………………………………. Elaborado por: Dr. Armando Briceño A. 81


almacenados.La figura 52 ilustra un diagrama expandido de la red de Hamming para la clasificación
de vectores n-dimensionales, binarios y bipolares. El propósito de este nivel es el de calcular, en
forma de alimentación adelantada, el valor de (n-HD), donde HD es la distancia de Hamming entre el
argumento de búsqueda (patrón de entrada) y el vector prototipo codificado (almacenado) en la red.

Figura52.- Clasificador de Hamming


Ahora asumamos que el vector prototipo de la clase "m” es el vector S ( m ) para m= l,2, ...,p y que
el vector n-dimensional de entrada es X. Note que los elementos del vector de pesos " Wm " definido
por:
Wm  wm1 wm 2 ..... wmn  ; m  1,2,.... p (2)
conectan las entradas a la m-ésima neurona.
Antes de que expresemos el valor de la distancia de Hamming por medio del producto escalar de
X y S ( m ) , formalicemos la medida a utilizar introducida aquí. Un vector clasificador con "p” salidas,
una para cada clase, puede ser diseñado de modo que su m-ésima salida sea igual a "n" si y solo si
X  S ( m ) . Esto requeriría que los pesos fueran:
Wm  S (m ) .

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 82


número de posiciones diferentes es el valor de HD. Se entiende entonces que el número de posiciones
en las cuales los dos vectores son iguales es (n-HD). Así, podemos escribir
S ( m) X  (n  HD( X , S ( m) ))  HD( X , S ( m) ) (3)
1 (m) n
S X   HD ( X , S ( m ) ) (4)
2 2
Podemos entonces apreciar que la matriz de pesos WH de la red de Hamming, de la figura 52,
puede ser creada codificando los vectores prototipos (clases) como filas, en la forma siguiente:
 S1(1) S2(1) .....Sn (1) 
 (2) (2) (2)

1  S1 S2 .....Sn 
WH   
(5)
2 :
 
 S1( p ) S2 ( p ) .....S n ( p ) 

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:

netm  n  HD( X , S m ) (7)


Aprecie ahora que si la función de activación de cada neurona es como la ilustrada en la figura 52,

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 83


La respuesta de la red de Hamming esencialmente determina la clasificación en la cual solo el
primer nivel de la red, de la figura 51, calcula los valores relevantes de la comparación de clases. La
Maxnet es necesaria utilizarla como un segundo nivel para los casos en los cuales es requerida una
mejora de la respuesta dominante inicial de la m-ésima neurona. Como resultado del procesamiento
recurrente de la Maxnet, la m-ésima neurona responderá positivamente, contrario a las remanentes
neuronas cuyas respuestas deberán caer a cero.
Tal como se ilustra en la figura 53, la Maxnet es una red recurrente que involucra conexiones
excitatorias e inhibitorias. La conexión excitatoria dentro de la red es implementada en la forma de un
lazo de auto-alimentación positiva con coeficiente de ponderación (peso) igual a 1. Todas las
conexiones remanentes de la red completamente conectada son inhibitorias. Ellas son representadas
por M-l sinapsis de alimentación cruzada con coeficientes "  " desde cada salida.
La matriz de pesos del segundo nivel “ Wm ” es de orden pxp y de la forma:

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.

………………………………………. Elaborado por: Dr. Armando Briceño A. 84


Figura53.- Red Maxnet
El procesamiento recurrente de la Maxnet que produce la respuesta está dado por
Y k 1  f (WmY k ) (10)
cuyos elementos "f(.)" están dados por:
0 net  0
f (net )   
net net  0 
Cada elemento del vector actualizado Y k 1 decrece en el k-ésimo paso de la recursión dada en
(10), bajo el algoritmo de actualización de laMaxnet. Es claro que el mayor elemento decrecerá a cero
menos rápido que los otros. Esto es debido a la condición impuesta en los elementos de la matriz Wm
(condición (8)). Debemos tener en cuenta que una red de Hamming es un clasificador puro y no posee
ningún mecanismo de restauración de los datos. Notemos que los pesos de la red de Hamming y de la
Maxnet fueron diseñados grabando sus valores y no por medio de un mecanismo de ajuste de pesos.
El siguiente ejemplo explica el diseño y operación del clasificador estudiado.Diseñemos un
clasificador por mínima distancia de Hamming para los caracteres C, I, T mostrado en la siguiente
figura.

Los vectores clase o prototipos bipolares, binarios correspondientes son:

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

Aprendizaje no Supervisado de Grupos


Hasta ahora, nuestra discusión se ha centrado en las tareas de clasificación y reconocimiento
realizadas por redes neuronales que han sido previamente entrenadas. El entrenamiento ha sido o bajo
supervisión o de modo que los parámetros de la red han sido explícitamente calculados basados en los
requerimientos del diseño, hemos consistentemente asumido la existencia de un conjunto de
entrenamiento que contiene tanto entradas como salidas requeridas.
En esta sección presentaremos al aprendizaje no supervisado para clasificación. Este aprendizaje
está basado en el aglutinamiento de los datos de entrada. Se asumirá que no conocemos ninguna
información a priori con relación a la membresía de alguna entrada sobre alguna clase particular. En
vez de eso, gradualmente detectaremos características de los datos de entrada y una historia del
entrenamiento será usada para asistir a la red en la definición de clases y los posibles límites entre
éstas.
La clasificación no supervisada es llamada aglutinamiento. Se cree que la evolución del
aprendizaje en los humanos debe haberse originado miles de años atrás en forma no supervisada, toda
vez que no habían maestros ni libros, etc. Sobre los años, por ejemplo, los seres vivos han sido
clasificados en ciertos grupos de acuerdo a características observadas. El criterio más simple y
sensible utilizado ha sido el de las similitudes de los objetos dentro de un grupo.
El objetivo de las redes neuronales de aglutinamiento discutidas acá es el de categorizar o
producir grupos de datos. Las clases deben primero ser encontradas de las correlaciones de una
corriente (fuente) de datos de entrada. Debido a que la red trata con datos no etiquetados, el
aglutinamiento bebería ser seguido con la identificación de esos grupos con números o nombres
apropiados de categorías. El proceso de proveer de etiquetas a categorías de objetos es llamado
calibración.
Medidas de Aglutinamiento y Similitud

………………………………………. Elaborado por: Dr. Armando Briceño A. 86


El aglutinamiento es entendido como la agrupación de objetos similares y la separación de
aquellos distintos entre sí. Supongamos que nos dan cierto conjunto de patrones sin ninguna
información sobre el número de clases que pueden estar presentes en el conjunto. En este caso, el
problema de aglutinamiento consiste en identificar el número de clases de acuerdo a cierto criterio, y
de asignar la membresía de los patrones en estas clases. Por ejemplo si el conjunto de patrones
 X1, X 2 ,....X N  es presentado a la entrada para identificar posibles grupos. Ya que no hay información
disponible acerca de las respuestas de clasificación deseadas que provenga de algún supervisor,
usaremos la similitud entre los patrones presentados como criterios para la agrupación de los mismos.
Para definir un grupo necesitamos establecer una base para asignar patrones al dominio de un
grupo particular. Básicamente existen dos bases, la primera es la regla de similitud más común, la
distancia Euclidiana entre dos patrones "X" y "Xi”, definida como:

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

mayor que “T”.

Figura 54.- Formación de grupos basado en una distancia máxima T.


La segunda regla de similitud es el coseno del ángulo entre " X ” y “ X i ”,

………………………………………. Elaborado por: Dr. Armando Briceño A. 87


X T Xi
cos  (21)
X Xi

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.

Figura 55.- Formación de grupos basado en el ángulo entre dos vectores


Por ejemplo, para cos 2  cos1 , el patrón "X" es más similar a " X 2 " que a " X1 " y
consiguientemente, sería natural agrupar al patrón "X" con el segundo grupo. Para facilitar esta
decisión, el ángulo de umbral " T " puede ser escogido para definir la distancia angular mínima entre
grupos. Deberíamos notar sin embargo, que la medida definida en (21) debería ser usada de acuerdo a
ciertas calificaciones adicionales. Estos es, para que el criterio angular (21) sea eficiente, los vectores
" X1 ”, “ X 2 “y “ X ” deberían ser de longitudes idénticas, comparables.Cabe resaltar q existen varios
algoritmos de búsquedas de grupos como el de distancias k-medias y el de datos iguales (isodatos)
que corrientemente se utilizan para el reconocimiento de patrones pero que no lo estudiaremos en este
texto.
Red Neuronal de Descubrimiento de Grupos (TRA1)
La red estudiada en esta sección fue desarrollada por Carpenter y Grossberg (1987 -1988), y es
llamada red de teoría de resonancia adaptativa 1, TRA1. (Las siglas en Ingles corresponden a red
ART1). Esta red es usada con el propósito de hacer descubrimiento de grupos (EL GANADOR
TOMA TODO) estas redes aprenden en un modo no supervisado. La propiedad novedosa de las redes
TRA1 la constituye el descubrimiento controlado de grupos. Además, la red TRA1 puede acomodar
nuevos grupos sin afectar el almacenamiento o las capacidades de acceso para patrones ya aprendidos.

………………………………………. Elaborado por: Dr. Armando Briceño A. 88


La red produce grupos por sí misma, sí tales grupos son identificados en los datos de entrada,
además almacena la información de agrupación de los patrones sin información a priori sobre el
posible número y tipo de grupo. Esencialmente la red es una "seguidora del líder" una vez que el
primer grupo es encontrado con los primeros patrones de entrada recibidos, el segundo grupo es
entonces creado sí la distancia del segundo patrón excede cierto umbral; de lo contrario, el patrón es
agrupado con el primer grupo.
Este proceso de inspección de patrones seguido ya sea por el descubrimiento de nuevos grupos
o la aceptación de un patrón a un grupo ya descubierto representa el paso principal de la red TRA1.La
parte central de la red TRA1 calcula el puntaje de comparación que refleja el grado de similitud de la
presente entrada con los grupos previamente codificados. Esto es realizado por la red ilustrada en la
figura 56, la cual realiza un procesamiento de abajo hacia arriba.

Figura 56.- Red TRA1.(Solo se muestran algunos Pesos).

Esta parte de la red es funcionalmente idéntica a la red de Hamming y la Maxnet. La entrada


inicializadora al m-ésimo nodo de la Maxnet es la familiar medida de similitud en términos del

producto escalar entre la entrada "X” y el vector “ Wm ”.


Así tendremos los valores iníciales del puntaje de comparación

………………………………………. Elaborado por: Dr. Armando Briceño A. 89


y 0m  WmT X (50)

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 

………………………………………. Elaborado por: Dr. Armando Briceño A. 90


Ahora una secuencia de pasos que puede ser implementada para poner en marcha al algoritmo
de descubrimiento de grupos es la siguiente:
Paso 1.
Establecer el umbral de vigilancia ρ y para los vectores de entrada n-dimensionales y las M
neuronas de la capa superior, inicializamos los pesos. Las matrices W T y V T son (Mxn) y cada una
es inicializada con elementos idénticos:
 1  (55)
W 
1  n 

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)

donde  es el parámetro de vigilancia y la norma es definida para propósitos del algoritmo


n
como x   x i . (61)
i 1

Si la prueba (60) es pasada, el algoritmo va al paso 5. Si la prueba falla, el algoritmo va al paso


6 solo si el nivel superior tiene más de un nodo activo. En caso contrario, el algoritmo va al paso 5.

………………………………………. Elaborado por: Dr. Armando Briceño A. 91


Paso 5.
Los elementos de las matrices de peso son actualizados para los índices j que pasan la prueba
del paso 4. Las actualizaciones son solo para los elementos (i, j), donde i=l,2,...,M y son calculadas
como sigue:
v ji (t ) xi
wij t  1  n
(62)
0.5   v ji (t ) xi
i 1

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

………………………………………. Elaborado por: Dr. Armando Briceño A. 92


número 1, las salidas de las demás neuronas las inhibimos . 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. 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

v1,1  v1,7  v1.13  v1,19  v1, 25  1

los restantes pesos son


v1,i  0 y v j ,i  1
.
para i  2,3,4,5,6,8,9,10,11,12,14,15,16,17,18,20,21,22,23 y 24
Paso 2.
Durante la presentación del patrón de entrada "B” no existe nodo de la capa superior que este
compitiendo por hacer grupos, (solo hay un nodo activo, el 1).
1 25
1
La prueba de vigilancia resulta en
x
v
i 1
x  5   0.7 . Debido a que la prueba de
j ,1 i
9
vigilancia falla y a la ausencia de otros nodos para posterior evaluación y para desabilitación de
potencial, el patrón "B" es tratado como un nuevo grupo.

………………………………………. Elaborado por: Dr. Armando Briceño A. 93


El grupo es consiguientemente representado por otra neurona, arbitrariamente enumerada con 2.
Sus pesos de interconexión son recalculados como w i 2 y v j2 . En resumen, cuando el patrón "B" es

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

v2,1  v2,5  v2,7  v2,9  v2,13  v2,17  v2,19  v2, 21  v2, 25  1;

los pesos restantes son v2i  0 .

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

actualizados. A diferencia de los rechazos anteriores, el patrón "D" es clasificado en la categoría 3


debido a su similitud con el patrón "C". Esto es debido al hecho de que la prueba de vigilancia fue
pasada y a la resonancia del patrón "D" con la existente categoría 3.
Ejercicio: realizar el ejemplo anterior para un valor de vigilancia igual a 0.3 (   0.3 ).

………………………………………. Elaborado por: Dr. Armando Briceño A. 94


Figura 57

Figura 58.

………………………………………. Elaborado por: Dr. Armando Briceño A. 95


BIBLIOGRAFÍA

[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.

[3] F. Rosenblatt, "The Perceptron, a Perceiving and Recognizing Automation”. Cornell


Aeronautical Laboratory Report Number 85-460-1, Jan., 1957.

[4] G. Nagy, "Neural Networks-Then and Now". IEEE Trans. On Neural Networks, Vol. 2,
Number 2, pp. 316-318, March 1991.

[5] M. L Minsky; S. A. Papert, "Perceptrons: An Introduction to Computational Geometry".


The MIT Press, Cambridge, MA., 1969. An expanded edition was published by the MIT Press
in 1988.

[6] N. Wiener, "Cybernetics: Or Control and Communication in the Animal and the
Machine". The Mit Press, Cambridge, MA., 1948.

[7] W. T. Miller; R. S. Sutton; P. W. Werbos, "Neural Networks for Control". Chapter 1, By


A. G. Bario, pp. 5-58, Mit Press, Cambridge, MA., 1990.

[8] S. Grossberg, "Adaptive Pattem Classification and Universal Recording: Parallel


Development and Coding of Neural Feature Detectors". Biological Cybernetics, Number 23,
pp. 121-134, 1976.

[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.

[11] Y. LeCum, "Une Procedure D'apprentissage Pour Reseau a SequilAssymetrique".


Proceedings of Cognitiva, Number 85, pp. 599-604, París, 1985.

[12] D. B. Parker, "Learning Logic". Technical Report TR-47, MIT, Cambridge, 1985.

[13] D. E. Rumelhart; G. E. Hinton; R. J. Williams. "Learning Intemal Representations by


Error Propagation". Parallel Distributed Processing: Explorations in the Microstructure of
Cognition, Vol. 1: Foundations, Mit Press, Cambridge, MA., 1986.

………………………………………. Elaborado por: Dr. Armando Briceño A. 96


[14] J. A. Anderson; E. Rosenfeld, "Neurocomputing: Foundations of Research". Mit Press,
Cambridge, MA., 1988.

[15] K. S. Narendra; K. Parthasarathy, "Identification and Control for Dynamic Systems


Using Neural Networks".IEEE Trans. On Neural Networks, number 1, pp. 4-27, 1990.

[16] K. J. Hunt; D. Sbarbaro; R. Zbikowski; P. J. Gawthrop, "Neural Networks for Control


Systems-A Survey".Automática, Vol. 28, Number 6, pp. 1083-1112, 1992.

[17] R. P. Lippmann, "An Introduction to Computing with Neural Nets". IEEE ASSP
Magazine, pp. 4-22, April 1987.

[18] T. Kohonen, "Self Organization and Associative Memory". Springer-Verlag, Berlin,


1984.

[19] P. Simpson, "Foundations of Neural Networks". In Artificial Neural Networks:


Paradigms, Applications, and Hardware Implementation, Edited by E. Sanchez-Sinencio and
C. Lau. IEEE Press, N. J. 1992.

[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.

[21] F. Rosenblatt, "On the Convergence of Reinforcement Procedures in Simple


Perceptrons". Cornell Aeronautical Laboratory Report, VG-1196-G-4, Buffalo, NY., Feb. 1960.

[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.

[23] G. G. Lorentz, "The 13 th Problem of Hilbert". In F. E. Browder Editor, Mathematical


Developments Arising from Hilbert Problems, American Mathematical Society, Providence, R.
I., 1976.

[24] K. Homik; M. Stinchcombe; H. White, "Multilayer Feedforward Networks are Universal


Approximators".

[25] D. O. Hebb, "The Organisation of Bechaviour". Wiley, New York, 1949.

[26] J. J. Hopfield; D. I. Feinstein; R. G. Palmer, "unlearning Has a Stabilizing Effect in


Collective memories". Nature, Vol. 304, pp.158-159, USA., 1983.

………………………………………. Elaborado por: Dr. Armando Briceño A. 97


[27] S. Kirkpatrick; C. D. Gellatt; M. P. Vecchi, "Optimisation by Simulated
Annealing".Science, Vol. 220, pp. 671-680, USA., 1983.

[28] D. H. Ackiey; G. E. Hinton; T. J. Sejnowski, "A Learning Algorithm for Boitzinann


Machines". Cognitive Science, Vol. 9, pp. 147-169, USA., 1985.

[29] T. Kohonen, "Self-Organization and Associative memory". Springer-Verlag, Berlin,


1984.

[30] K. Fukushima, "Cognitron: A Self-Organizing Multilayered Neural Network". Biological


Cybemeücs, Vol. 20, pp. 121-136, 1975.

[31] K. Fukushima, "Neocognitron: A Self-Organizing Neural Network Model for a


Mechanism of Pattern Recognition unaffected by Shift in Position". Biological Cybernetics,
Vol. 36,pp.193-202, 1980.

[32] K. Fukushima, "Neocognitron: A Hierarchical Neural Network Capable of Visual Pattern


Recognition". Neural Network, Vol. 1, pp. 119-130, Pergamon Press, 1988.

[33] G. A. Carpenter; S. Grossberg, "A Massively Parallel Architecture for a Self-Organizing


Neural Pattern Recognition Machine". Computer Vision, Graphics and Processing, Vol. 37,
pp. 54-115, USA., 1987.

[34] G. A. Carpenter; S. Grossberg, "ART2: Self-Organization of Stable Category


Recognition Codes for Analog Patterns". Applied Optics, Vol. 26, pp. 4919-4930, USA., 1987.

[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.

[37] H. Sira-Ramirez; S. Zak, "The Adaptation of Perceptrons with Applications to Inverse


Dynamic Identification of Unknown Dynamic Systems". IEEE Trans. on Systems, Man, and
Cybemetics, Vol. 21, Number 3, pp. 634-643, May-June 1991.

[38] E. Colina-Morles; N. Mort, "Neural Network-Based Adaptive Control Design".Journal of


Systems Engineering, Vol. 2, Number 1, pp. 9-14, Springer-Verlag, London, 1993.

………………………………………. Elaborado por: Dr. Armando Briceño A. 98