edes Neuronales Multicapa Con Aprendizaje Supervisado 2.1.4. Ejercicios 1. Use un perceptrón simple para clasificar el siguiente conjunto de patrones: a. Trace la frontera de decisión. b. Encuentre la matriz de pesos W y el umbral de activación b . c. Compruebe el funcionamiento del perceptrón con el conjunto de patrones de entrada .
Solución a) Trace la frontera de decisión Se traza sobre la gráfica una línea que separe los patrones que arrojen salida 1 (negro) de los patrones cuya salida deseada sea 0 (Blanco). El trazo de esta línea o frontera de decisión depende del diseñador, siempre y cuando se cumpla la clasificación (separación de patrones con salida 1 de los de salida 0). El trazo de la frontera de decisión implica la determinación inmediata del vector de pesos que da solución al problema (la frontera de
decisión es siempre perpendicular al vector de pesos W). Esto se muestra en la figura 2.6.
Figura 2.6 Trazo de la Frontera de Decisión y Vector de Pesos
b) Encuentre la matriz de pesos W y el umbral de activación b De la gráfica anterior, se obtiene el vector de pesos W:
W=[-2 1] Dado que la frontera de decisión atraviesa por el origen (0,0), el umbral de activación es cero.
b=0 Compruebe el funcionamiento del perceptrón con el conjunto de patrones de entrada. Para el primer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el segundo par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el tercer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el cuarto par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el quinto par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el sexto par de entrada/salida
hola desde qui revisar Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el séptimo par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el octavo par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
CONCLUSIÓN. Después de haber obtenido la matriz de pesos y el umbral que permiten clasificar los patrones mediante el método gráfico se concluye que el problema es linealmente separable y puede ser solucionado por un perceptrón simple, el cual introduce una sola frontera de decisión separado el espacio de los patrones en dos regiones.
Regla de aprendizaje 1. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje en donde los pares de entrada/salida son los siguientes: 2. Usando la regla de aprendizaje del perceptrón, calcule la matriz de pesos y el umbral de activación. 3. Grafique su solución, indicando la frontera la decisión y su vector de pesos.
Solución
1. Usando la regla de aprendizaje del perceptrón, calcule la matriz de pesos W y el umbral de activación b. Considere los parámetros iniciales:
Para el primer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Paso 4. Para el umbral .
Para el segundo par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red (Con los Nuevos Pesos):
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Paso 4. Para el umbral
Para el tercer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Paso 4.Para el umbral
COMENTYARIO. Es necesario verificar, cuando se obtiene un vector de pesos nuevo que, el error e = 0 para todos los pares de entrada/salida, para dar por terminado el proceso de entrenamiento: Para el primer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el segundo par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Para el tercer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Por lo tanto, los valores finales de
y b son:
W = [3 0.2] b=0 1. Grafique su solución, indicando la frontera de decisión, y su vector de pesos.
CONCLUSIÓN. La figura 2.7 muestra la solución del ejercicio. Donde se puede ver el vector de pesos W, la frontera de decisión (perpendicular al vector de pesos ) pasando por el origen, esto último se debe a que el valor del umbral b es cero.
Diseñe una red neuronal que permita clasificar dos tipos de fruta considerando la forma, la textura y el peso. Observe la figura 2.8.
Figura 2.8: Clasificador De Frutas
Las entradas para el perceptrón tienen la forma siguiente:
P= Los valores para cada parámetro son: Forma:
1, si la fruta es redonda. -1, si la fruta es elíptica.
Textura:
1, si la superficie de la fruta es suave. -1, si la superficie es rugosa.
Peso:
1, 1 libra. -1, < 1 libra.
Según lo anterior, los vectores de entrada para las frutas a clasificar son:
Naranja Manzana
Considerando que los valores iniciales del vector de pesos y el umbral son:
Aplique la regla de aprendizaje del perceptrón para calcular el vector de pesos W y el umbral b.
Solución
Primera época Para el primer par de entrada/salida (Primera iteración)
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Paso 4. Para el umbral
Para el segundo par de entrada/salida (segunda iteración)
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Paso 4. Para el umbral
Segunda época Para el primer par de entrada/salida (Primera iteración)
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje del perceptrón, se modifica el vector de pesos:
Paso 4. Para el umbral
Para el segundo par de entrada/salida (segunda iteración)
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
CONCLUSIÓN. De acuerdo a la regla de aprendizaje del perceptrón se ha alcanzado un mínimo por lo que se obtienen valores estables para la matriz de pesos
y el
umbral . Sólo resta comprobar si se cumple para el primer par de entrada .
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
Paso 2. Se calcula el error:
Por lo tanto, los valores finales de W y b son:
Capítulo 2 Capítulo II2 REDES NEURONALES MULTICAPA CON APRENDIZAJE SUPERVISADO2.1 EL PERCEPTRÓN 2.1.1 ARQUITECTURA 2.1.2 ALGORITMO DE APRENDIZAJE 2.1.3 APLICACIONES 2.1.4 EJERCICIOS 2.1.5 SIMULACIONES EN MATLAB2.2 REDES ADALINE 2.2.1 ARQUITECTURA 2.2.2 ALGORITMO DE APRENDIZAJE 2.2.3 APLICACIONES 2.2.4 EJERCICIOS 2.2.5 SIMULACIONES EN MATLABEVALUACIÓN
Redes Neuronales Multicapa Con Aprendizaje Supervisado 2.1.5 Simulaciones en Matlab. 1. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje. Los pares de entrada/salida son:
En el editor de Matlab teclee el siguiente código que resuelve el problema anterior: clear;echo on;clc; %Se definen los vectores de entrada P = [1
-1
2
2
0; -1];
%Se define el vector de salida
T = [1 0 0] % Se inicializa la red con los valores anteriores [w,b]=initp(P,T); %Se entrena la red usando la regla de aprendizaje [w,b,epoch,errors]=trainp(w,b,P,T,-1); %Evalúa un par de entrada para clasificarlo a=simup([-1;0],w,b) echo off
En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue:
La salida del programa (Además del Proceso Descrito en la Ventana de Comandos de Matlab) es una gráfica donde aparecen los patrones de entrada en un plano de dos
dimensiones, con la clasificación correspondiente (Frontera de Decisión). Esto se muestra en la Fig. 2.9.
Figura 2.9 La frontera de decisión y el vector de pesos y umbral que dan solución al problema dependerá de los valores iniciales que Matlab asigna a y .
2. Perceptrón de cuatro clases Clasifique el siguiente grupo de vectores de entrada en cuatro clases.
Para solucionar un problema de 4 clases de entrada, se necesita un perceptrón con al menos dos neuronas, lo que traerá como consecuencia dos vectores de pesos y, por lo tanto, dos fronteras de decisión.
En el editor de Matlab teclee el siguiente código que resuelve el problema anterior: clear;echo on;clc; %Se definen los vectores de entrada P=[1 1 2 2 -1 -2 -1 -2; 1 2 -1 0 2 1 -1 -2];
%Se define los vectores de salida T = [0 0 0 0 1 1 1 1; 0 0 1 1 0 0 1 1];
% Se inicializa la red con los valores anteriores [w,b]=initp(P,T)
%Se entrena la red usando la regla de aprendizaje [w,b,epoch,errors]=trainp(w,b,P,T,-1);
%Evalúa un par de entrada para clasificarlo a=simup([1;1],w,b)
echo off
En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue:
La salida del programa (además del proceso descrito en la ventana de comandos de Matlab) es una gráfica donde aparecen los patrones de entrada de las cuatro clases, con una marca especial para diferenciar cada una de ellas en un plano de dos dimensiones, con la clasificación correspondiente. Ahora se ve una frontera de decisión en rojo, mientras que la otra es de color azul. Esto se muestra en la Fig. 2.10.
Figura 2.10 Las fronteras de decisión al que dan solución al problema dependerá de los valores iniciales que Matlab asigna a W y b.
Redes Neuronales Multicapa Con Aprendizaje Supervisado 2.2 Red ADALINE Las redes Adaline fueron desarrolladas por Bernie Widrow en la Universidad de Stanford poco después de que Rosenblatt desarrollara el Perceptrón. El término Adaline es una sigla; sin embargo, significado ha cambiado ligeramente con el paso de los años. Inicialmente se llamaba ADAptative LInear Neuron (Neurona Lineal Adaptativa); pasó a ser el ADAptative LInear Element (Elemento Lineal Adaptativo) cuando las redes cayeron en desgracia al final de los años setenta.
edes Neuronales Multicapa Con Aprendizaje Supervisado 2.2.1 Arquitectura De La Red La estructura general de la red tipo Adaline puede visualizarse en la Fig. 2.11:
Figura 2.11: Estructura de una Red ADALINE En donde: p: Patrones de entrada
b: Umbrales de activación a: Salida de la neurona
La salida de la red está dada por: (2.8) Para una red Adaline de una sola neurona con dos entradas el diagrama corresponde a la siguiente figura.
Figura 2.12: Adaline de una Neurona y dos Entradas En similitud con el Perceptrón, el límite de la característica de decisión para la red Adaline se presenta cuando n=0 , por lo tanto: WpT +b=0
(2.9) En la siguiente figura, se específica la línea que separa en dos regiones el espacio de entrada, como se muestra en la siguiente figura:
Figura 2.13: Característica de Decisión de una Red Tipo Adaline La salida de la neurona es mayor que cero en el área gris, en el área blanca la salida es menor que cero. Como se mencionó anteriormente, la red Adaline puede clasificar correctamente patrones linealmente separables en dos categorías.
Figura 2.14. La arquitectura neuronal mostrada en la Fig. 2.14 tiene una capa de s neuronas conectadas a R entradas a través de una matriz de pesos W . Esta red es con frecuencia llamada MADALINE o Múltiples ADALINE. A la derecha de la Fig. 2.14 define un vector de salidaa de longitud S. La regla de Widrow – Hoff puede entrenar solamente una capa de redes lineales. Esto no es tanto una desventaja, ya que una red de una sola capa es tan capaz como una red de múltiples capas. Para cada red lineal multicapa, existe una red lineal de una sola capa.
edes Neuronales Multicapa Con Aprendizaje Supervisado
2.2.2 Algoritmo de Aprendizaje 1. Se aplica un patrón de entrada P. 2. Se obtiene la salida del Combinador Lineal Adaptable (ALC) y se calcula la diferencia con respecto a la deseada, es decir, el error. 3. Se actualizan los pesos. 4. Se repiten pasos 1 a 3 con todos los vectores de entrada. Si el error es un valor aceptable, detenerse, si no repetir algoritmo. La regla de aprendizaje de Widrow-Hoff o LMS (Least Mean Square), que utiliza la red Adaline para su entrenamiento, hace posible la realización del paso 3. Por medio de las siguientes ecuaciones, se realiza la actualización de los parámetros de la red: Para el vector de pesos W (2.10) Para el umbral b (2.11) Para el error e (2.12) En donde se conoce como razón o tasa de aprendizaje, tal que, y 0 < a <= 1.
El cálculo de dicho parámetro se realiza mediante una matriz de correlación R: (2.13) Los eigenvalores li de la matriz de correlación serán útiles para la determinación del parámetro a, esto es:
La Regla de Aprendizaje LM
(2.14)
Si tenemos un vector de entradas X puede ser muy sencillo determinar el vector de pesos W que produzcan una salida S. Sin embargo, si se tiene un conjunto de entrada {x1, x2, ..., xL}, a cada uno de los cuales les corresponde una salida correcta dk, con k = 1, ..., L, ya no es tan fácil saber cuáles son los pesos que producirían un mejor resultado; para esto, el Adaline utiliza la regla de mínimos cuadrados, o que minimiza el error cuadrático medio, llamada LMS (Least Mean Square), o regla delta, porque minimiza la delta o diferencia entre el valor obtenido y el deseado. Si queremos que el mejor vector de pesos que realice la proyección de los vectores de entrada x k a las salidas deseadas dk, lo que estamos buscando es minimizar el error en la salida. Si denotamos la salida para el k-ésimo vector de entrada con s k, el error es denotado por la ecuación 2.15. (2.15) Entonces el error cuadrático medio, que es el valor que deseamos minimizar, la cual esta dado por la ecuación 2.16.
(2.16) Considerando a como el tamaño del conjunto de entrenamiento, o sea, el número de vectores de entrada que usaremos para el entrenamiento. Desarrollando, se obtiene la siguiente relación:
(2.17) Ahora, como x representa al error cuadrático medio, su gráfica (Con Dos Entradas y Dos Pesos) debe ser un paraboloide, y como no puede ser negativo, la gráfica debe ser cóncava hacia arriba. De aquí resta que el mínimo encontrado es único, y que no tiene máximos. Pero para obtener un vector de pesos como indica el procedimiento anterior es necesario contar con información estadística acerca de los vectores de entrada. Pero basándonos en lo obtenido, podemos desarrollar un método capaz de aproximar cada vez más el vector de pesos al que nos produce un error cuadrático mínimo. Empezamos suponiendo que el vector de pesos es una función discreta del tiempo, en el que cada paso se actualiza basándose en el vector anterior, como se muestra en la ecuación 2.19 (2.19) Este cambio lo se aproxima mediante el gradiente del error, que nos da la dirección del ascenso más pronunciado, que multiplicado por un factor m nos da la dirección y magnitud correcta; como se define la ecuación 2.20.
(2.20) Pero asumimos que no conocemos las estadísticas de las entradas, por lo que no podemos encontrar el gradiente exacto del error; para librar este inconveniente, aproximamos el error esperado con el error actual, con lo que se obtienen las siguientes ecuaciones respectivamente:
(2.21)
(2.22) Esta es la expresión para el descenso más pronunciado, del algoritmo LMS. Al factor se le conoce como constante de proporcionalidad o tasa de aprendizaje. La actualización de pesos y de umbral para la red Adaline se describe por la ecuación 2.23: (2.23) [1]
NOTA:
(2.24)
Tampoco es necesario que el valor de permanezca estático: conforme el error vaya disminuyendo, el algoritmo dará pasos más cortos, y en esos momentos es cuando es recomendable incrementar ligeramente m en cada paso; pero se debe tener cautela, puesto que si incrementamos demasiado daremos saltos por el fondo de la superficie sin mejorar el error ni llegar al límite buscado.
[1]
Para la elección de un valor de m debemos tener cuidado. Se puede suponer que mientras que el valor de sea mayor, nos acercaremos más rápido al error mínimo, sin embargo no es así: un valor grande de nos puede hacer que la solución viaje por toda la superficie del paraboloide sin converger nunca. Por otro lado, un valor muy pequeño seguramente provocará que se consuma un tiempo mayor durante el entrenamiento
Redes Neuronales Multicapa Con Aprendizaje Supervisado 2.2.3. Aplicaciones Esta red ha sido extensamente utilizada en ciencia, estadística (En el Análisis de Regresión Lineal), ingeniería (El Procesamiento Adaptativo de Señales, Control de Sistemas), y así sucesivamente. En general, la Adaline es usada para ejecutar:
Una aproximación lineal de un pequeño segmento de una superficie no lineal, la cual es generada por una función variable , En este caso, el bias es usualmente necesario, de aquí, wp=1 . Filtrado lineal de datos (señales). Asociación de patrones, esto es, generación de melemento del vector de salida asociados con su respectivo p-elemento del vector de entrada.
Principal aplicación de la red Adaline La red Adaline ha sido ampliamente utilizada en el procesamiento de señales; para valorar el real aporte de esta red en ese campo, se detallarán un poco las herramientas hasta ahora empleadas en los procesos de filtrado. 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 en las señales empleadas de 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 filtrado sigue ocupando un lugar muy importante en la industria, pues siempre será necesario eliminar el ruido en señales portadoras de información. Considérese una transmisión de radio en AM, las técnicas electrónicas de comunicación, bien sean para señales de audio o de datos constan de una codificación y una modulación de la señal. La información que hay que transmitir, se puede codificar en forma de una señal analógica que reproduce exactamente las frecuencias y las amplitudes del sonido original. Dado que los sonidos que se están codificando representan un valor continuo que va desde el silencio, pasando por la voz, hasta la música, la frecuencia instantánea de la señal variará con el tiempo, oscilando entre 0 y 10,000 Hz aproximadamente. En lugar de intentar transmitir directamente esta señal codificada, se transmite la señal en forma más adecuada para la transmisión por radio; esto se logra modulando la amplitud de una señal portadora de alta frecuencia con la señal de información analógica. Para la radio AM, la frecuencia portadora estará en el intervalo de los 550 a los 1650 kHz , dado que la frecuencia de la portadora es muy superior a la frecuencia máxima de la señal de información, se pierde muy poca información como consecuencia de la modulación; la señal modulada puede ser transmitida después a una estación receptora (o se puede retransmitir a cualquiera que tenga un receptor de radio), en la cual la señal se demodula y se reproduce en forma de sonido. La razón más evidente para utilizar un filtro en una radio de AM es que cada persona tiene sus preferencias de música y diversión y dado que hay tantas emisoras de radio diferentes es necesario permitir que cada usuario sintonice su receptor a una cierta frecuencia seleccionable. Al sintonizar la radio, lo que se esta haciendo es, modificar las características de respuesta en
frecuencia de un filtro pasa banda que está dentro de la radio, este filtro solo deja pasar las señales procedentes de la emisora en la que se este interesado y elimina todas las demás señales que estén siendo transmitidas dentro del espectro AM.
Figura 2.15: Técnicas de Codificación de Información y Modulación en Amplitud La herramienta matemática para el diseño de filtros más utilizada es la Serie de Fourier, que describe la naturaleza de las señales periódicas en el dominio frecuencial y está definida como:
(2.25) En donde: f 0: Frecuencia fundamental de la señal en el dominio del tiempo. an y bn: Coeficientes necesarios para modular la amplitud de los
términos individuales de la serie. Las primeras realizaciones de los cuatro filtros básicos de las siguientes figuras poseían una gran limitación: Solo eran ajustables en un pequeño intervalo.
Todos los filtros se pueden caracterizar a partir de su respuesta a la función de impulso unitario, que se representa por δ(n) en la forma: (2.26)
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:
(2.27) En donde x(n) 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 cálculo 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. La utilidad de esta capacidad se pone de manifiesto cuando se diseña un filtro digital por medio de software; con un programa normal, el programador debe saber exactamente como se específica el algoritmo de filtrado y cuales son los detalles de las características de las señales; si se necesitaran modificaciones, o si cambian las características de la señal, es necesario reprogramar; 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. En orden a 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 Fig. 2.20:
FFigura 2.20: Retardos en Línea Si se combina la red Adaline con un bloque de retardos en línea, se ha creado un filtro adaptable como el de la Fig 2.21.
FFigura 2.21: Filtro Adaptativo Cuya salida está dada por:
2.2.4. Ejercicios
1. Clasifique el siguiente conjunto de patrones usando el algoritmo LMS y una red Adaline.
Los parámetros iniciales son:
a)
Calcule el vector de pesos W y el umbral b
Primera época Para el primer par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
=
Paso 2. Se calcula el error:
Paso 3. Usando la regla de aprendizaje de Widrow-Hoff, se modifica el vector de pesos y el umbral:
Para el segundo par de entrada/salida
Paso 1. Se calcula la salida utilizando la función de activación propia de la red:
=
Paso 2. Se calcula el error: