Partes: 1, 2

 Regla de aprendizaje

Existen muchas definiciones del concepto aprendizaje, una de ellas podría ser: La modificación del comportamiento inducido por la interacción con el entorno y como resultado de experiencias conducente al establecimiento de nuevos modelos de respuesta a estímulos externos.

Biológicamente, se suele aceptar que la información memorizada en el cerebro está mas relacionada con los valores sinápticos de las conexiones entre las neuronas que con ellas mismas. En el caso de las RNA, se puede considerar que el conocimiento se encuentra representado en los pesos de las conexiones entre neuronas. Todo proceso de aprendizaje implica cierto número de cambios en estas conexiones. Puede decirse que se aprende modificando los valores de los pesos de la red.

Estructura de una Red Neuronal Artificial

Niveles o capas de neuronas

La distribución de neuronas dentro de la red se realiza formando niveles o capas de un número determinado cada una. Se pueden distinguir tres tipos de capas:

De Entrada: es la capa que recibe directamente la información proveniente de las fuentes externas de la red.

Ocultas: son internas a la red, no tiene contacto directo con el exterior. El número de niveles ocultos puede ser de cero a un número elevado. Las neuronas de las capas ocultas pueden estar interconectadas de distintas maneras, lo que determina junto a su número, las distintas topologías.

De Salida: transfieren información de la red hacia el exterior.

Se dice que una red es totalmente conectada si todas las salidas desde un nivel llegan a todos y cada uno de los nodos del mismo nivel siguiente.

Formas de Conexión entre neuronas

La conectividad entre los nodos de una red neuronal está relacionada con la forma en que las salidas de las neuronas están canalizadas para convertirse en entradas de otras neuronas. La señal de salida de un nodo puede ser una entrada de otro elemento de proceso, o incluso de sí mismo (conexión auto-recurrente).

Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de niveles precedentes, la red se describe como propagación hacia delante. Cuando las salidas pueden estar conectadas como entradas de neuronas de niveles previos o del mismo nivel, incluyéndose ellas mismas, la red es de propagación hacia atrás. Las redes de propagación hacia atrás que tiene lazos cerrados son sistemas recurrentes.

En la siguiente figura se muestran ejemplos de conexiones.

  1. Conexiones hacia delante.
  2. Conexiones laterales.
  3. Conexiones hacia atrás (o recurrentes).

Características de las Redes Neuronales

Existen cuatro elementos que caracterizan una red neuronal: su topología, el mecanismo de aprendizaje, tipo de asociación realizada ente la información de entrada y salida y la forma de representación de estas informaciones.

Topología de las Redes Neuronales

Consiste en la organización de las neuronas en la red formando capas o agrupaciones de neuronas más o menos alejadas de la entrada y salida de la red. Los parámetros fundamentales de la red son: el número de capas, el número de neuronas por capa, el grado de conectividad y el tipo de conexiones ente neuronas.

En términos topológicos podemos clasificar las redes entre: redes de una sola capa y las redes con múltiples capas.

Redes monocapa

En las redes monocapa, como la red HOPFIELD y la red BRAIN-STATE-IN-A-BOX, se establecen conexiones laterales entre las neuronas que pertenecen a la única capa de la red. Además pueden existir conexiones auto recurrente.

Las redes monocapa se utilizan típicamente en tareas relacionadas con lo que se conoce como auto asociación, por ejemplo para regenerar informaciones de entrada que se presentan distorsionadas o incompletas.

A continuación se muestran modelos de redes monocapa más conocidos.

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

 

Redes Multicapa

Son aquellas que disponen las neuronas agrupadas en varias capas. Una las forma para distinguir la capa a la que pertenece una neurona, consistiría en fijarse en el origen de las señales que recibe a la entrada y el destino de la señal de salida. Normalmente, todas las neuronas de una capa reciben señales de entrada de otra capa anterior, más cercana a la entrada de la red, y envían su señal de salida a una capa posterior, más cercana a la salida de la red. A estas conexiones se les denominan conexiones hacia delante o feedforward.

Sin embargo en un gran número de estas redes también existe la posibilidad de conectar las salidas de las neuronas de capas posteriores a las entradas de capas anteriores, a estas conexiones se les denomina conexiones hacia atrás o feedback.

Estas dos posibilidades permiten distinguir entre dos tipos de redes: las redes con conexiones hacia adelantes (redes feedforward), y las redes que disponen de conexiones tanto hacia delante como hacia atrás (redes feedforward/feedback).

Redes con conexiones hacia delante (feedforward)

Las señales través de se propagan hacia adelante a través de las capas de la red. No existen conexiones hacia atrás, y normalmente tampoco auto recurrentes, ni laterales, excepto los modelos de red propuestos por Kohonen.

Las redes feedforward más conocidas son: PERCEPTRON, ADALINE, MADALINE, LINEAR ADAPTATIVE MEMORY, DRIVE-REINFORCEMENT, BACKPROPAGATION. Todas ellas son útiles en aplicaciones de reconocimiento o clasificación de patrones.

Redes con conexiones hacia adelante y hacia atrás (feedforward/feedback)

En éste tipo de redes circula información tanto hacia delante como hacia atrás durante el funcionamiento de la red. Para que eso sea posible existen conexiones feedforward y feedback entre las neuronas.

En general, suelen ser bicapas, existiendo por lo tanto dos conjuntos de pesos: los correspondientes a las conexiones feedforward de la primera capa ( capa de entrada) hacia la segunda (capa de salida) y los de las conexiones feedback de la segunda a la primera. Los valores de los pesos de estos tipos de conexiones no tienen porqué coincidir, siendo diferentes en la mayor parte de los casos.

Este tipo de estructura (bicapa) es particularmente adecuada para realizar una asociación de una información o patrón de entrada (en la primer capa) con otra información o patrón de salida en la segunda capa (lo cual se conoce como heteroasociación), aunque también pueden ser utilizadas para la clasificación de patrones.

Algunas redes tienen un funcionamiento basado en lo que se denomina resonancia, de tal forma que las informaciones en la primera y segundas capas interactúen entre sí hasta que alcanzan un estado estable. Esto permite un mejor acceso a las informaciones almacenadas en la red.

Los dos modelos de red de dos capas más conocidos son la red ART(Adaptative Resonante Theory) y la red BAM (Bidirectional Associative Memory).

También en este grupo de redes existen algunas conexiones laterales entre neuronas de la misma capa. Estas conexiones se diseñan como conexiones excitadotas (con peso positivo) o inhibidoras (con peso negativo), estableciéndose una competición entre las neuronas correspondientes.

Mecanismo de Aprendizaje

Es el proceso por el cual una red neuronal modifica sus pesos en respuesta a una información de entrada. Los cambios que se producen durante el proceso de aprendizaje se reducen a destrucción, modificación y creación de conexiones entre las neuronas. La creación de una nueva conexión implica que el peso de la misma pasa a tener un valor distinto de cero; una conexión se destruye cuando su peso pasa a ser cero. El proceso de aprendizaje ha terminado (la red ha aprendido) cuando los valores de los pesos permanecen estables ().

Un aspecto importante respecto al aprendizaje es conocer cómo se modifican los valores de los pesos; cuáles son los criterios para cambiar el valor asignado a las conexiones cuando se pretende que la red aprenda una nueva información.

Estos criterios determinan la regla de aprendizaje. Se suelen considerar dos tipos de reglas, las que responden a lo que se conoce como aprendizaje supervisado y aprendizaje no supervisado. Una de las clasificaciones de redes neuronales obedece al tipo de aprendizaje utilizado. Así se pueden distinguir:

  • Neuronas con aprendizaje supervisado
  • Neuronas con aprendizaje no supervisado

La diferencia fundamental entre ambos tipos es la existencia o no de un agente externo (supervisor) que controle el proceso de aprendizaje.

Otro criterio para diferenciar las reglas de aprendizaje se basan en considerar si la red puede aprender durante su funcionamiento habitual (aprendizaje ON LINE) ,o si el aprendizaje supone una desconexión de la red; es decir su inhabilitación hasta que el proceso termine (aprendizaje OFF LINE).

Cuando el aprendizaje es OFF LINE se distingue entre una fase de aprendizaje o entrenamiento y una fase de operación o funcionamiento, existiendo un conjunto de datos de entrenamiento y un conjunto de datos de prueba que serán utilizados en la correspondiente fase. En las redes con aprendizaje OFF LINE, los pesos de las conexiones permanecen fijos después que termina el entrenamiento. Debido a su carácter estático, éstos sistemas no presentan problemas de estabilidad en su funcionamiento.

En las redes con aprendizaje ON LINE no se distingue entre fase entrenamiento y operación. Los pesos varían siempre que se presenta una nueva información al sistema. Debido a su carácter dinámico, el estudio de la estabilidad es un aspecto fundamental de estudio.

Redes con aprendizaje supervisado

El proceso de aprendizaje se realiza mediante un entrenamiento controlado por un agente externo (supervisor o maestro) que determina la respuesta que debería generar la red a partir de una entrada determinada. El supervisor comprueba la salida de la red y en caso de que ésta no coincida con la deseada, se procederá a modificar los pesos de las conexiones, con el fin de que la salida obtenida se aproxime a la deseada.

Se suelen considerar tres formas de llevar a cabo el aprendizaje:

  • Aprendizaje por corrección de error
  • Aprendizaje por refuerzo
  • Aprendizaje estocástico.

Aprendizaje por corrección de error

Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia entre los valores deseado y los obtenidos en la salida de la red; es decir, en función del error cometido en la salida.

Una regla o algoritmo simple podría ser el siguiente:

.

Siendo:

: Variación del peso de la conexión ente las neuronas i y j ().

Valor de la salida de la neurona i.

Valor de salida deseado para la neurona j.

Valor de salida obtenido para la neurona j.

Factor de aprendizaje (0 < 1) que regula la velocidad del aprendizaje.

Un algoritmo muy conocido que permite un aprendizaje rápido es propuesto por [Widrow 60], denominado regla delta o regla del mínimo error cuadrado (LMS Error: Least-Mean-Squared Error), que se aplicó en las redes desarrolladas por los mismos, conocidas como ADALINE y MADALINE).

[Widrow 60] definieron una función que permitiría cuantificar el error global cometido en cualquier momento durante el proceso de entrenamiento de la red, lo cual es importante, ya que cuanta más información se tenga sobre el error cometido, más rápido se puede aprender.

Este error medio se expresa de la siguiente forma:

Siendo:

N: Número de neuronas de salida(en el caso de ADALINE N=1).

P: Número de informaciones que debe aprender la red.

:

Error cometido en el aprendizaje de la información k-ésima.

Se trata de encontrar pesos para las conexiones que minimicen esta función de error. Para ello, el ajuste de los pesos de las conexiones de la red se puede hacer de forma proporcional a la variación relativa del error que se obtiene al variar el peso correspondiente:

Mediante este procedimiento, se llegan a obtener un conjunto de pesos con los que se consigue minimizar el error medio.

Otro algoritmo de aprendizaje por corrección de error lo constituye el denominado regla delta generalizada o algoritmo de retropropagación del error (error backpropagation). Se trata de una generalización de la regla delta para poder aplicarla a redes de conexiones hacia delante(feedforward) con capas o niveles internos ocultos de neuronas que no tienen relación con el exterior.

Estas redes multicapa pueden utilizarse en muchas aplicaciones, pero su proceso de aprendizaje es mucho más lento, debido a que durante el mismo se debe explorar el espacio de posibles formas de utilización de neuronas de las capas ocultas; es decir, establecer cuál es su papel en la red.

Aprendizaje por refuerzo

Es un aprendizaje más lento que el anterior, que se basa en la idea de no disponer de un ejemplo completo del comportamiento deseado; es decir, de no indicar durante el entrenamiento exactamente la salida que se desea que proporcione la red ante una determinada entrada.

En el aprendizaje por refuerzo la función del supervisor se reduce a indicar mediante una señal de refuerzo si la salida obtenida en la red se ajusta a la deseada (éxito = +1 o fracaso = -1), y en función de ello se ajustan los pesos basándose en un mecanismo de probabilidades.

Un ejemplo de algoritmo es el Linear Reward-Penality o (algoritmo lineal con recompensa y penalización) presentado por Narendra y Thathacher en 1974. Este algoritmo ha sido ampliado por Barto y Anandan, quienes en 1985 desarrollaron el denominado Associative Reward-Penality o (algoritmo asociativo con recompensa y penalización), que se aplica en redes con conexiones hacia delante de dos capas cuyas neuronas de salida presentan una función de activación estocástica.

Otro algoritmo conocido es el Adaptive Heuristic Critic, introducido por Barto, Sutton y Anderson en 1983, que se utiliza en redes feedforward de tres capas especialmente diseñadas para que una parte de la red sea capaz de generar una valor interno de refuerzo que es aplicado a las neuronas de salida de la red.

Aprendizaje estocástico

Este tipo de aprendizaje consiste básicamente en realizar cambios aleatorios en los valores de los pesos de las conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones de probabilidad.

En el aprendizaje estocástico se suele hacer una analogía en términos termodinámicos, asociando la red neuronal con un sólido físico que tiene cierto estado energético. En el de caso de la red, la energía de la misma representaría el grado de estabilidad de la red, de tal forma que el estado de mínima energía correspondería a una situación en la que los pesos de las conexiones consiguen que su funcionamiento sea el que más se ajusta al objetivo deseado.

Según lo anterior, el aprendizaje consistiría en realizar un cambio aleatorio de los valores de los pesos y determinar la energía de la red. Si la energía es menor después del cambio; es decir, si el comportamiento de la red se acerca al deseado, se acepta el cambio; de lo contrario, se aceptaría el cambio en función de una determinada y preestablecida distribución de probabilidades.

Redes con aprendizaje no supervisado

Las redes con dicho aprendizaje no requieren de influencia externa para ajustar los pesos de las conexiones entre sus neuronas. La red no recibe ninguna información por parte del entorno que le indique si la salida generada en respuesta de una entrada es o no correcta. Suele decirse que estas redes son capaces de autoorganizarse.

Estas redes deben encontrar las características, regularidades, correlaciones o categorías que se pueden establecer entre los datos que se presentan en su entrada.

En algunos casos, la salida representa el grado de familiaridad o similitud entre la información que se le está presentando en la entrada y las que se le han mostrado en el pasado. En otro caso podría realizar una clusterización, indicando la red la salida a qué categoría pertenece la información presentada a la entrada, siendo la propia red quien debe encontrar las categorías apropiadas a partir de correlaciones entre las informaciones presentadas. Una variación de esta categorización es el prototipado. En este caso, la red obtiene prototipos representantes de las clases a las que pertenecen las informaciones de entrada.

También el aprendizaje sin supervisión permite realizar una codificación de los datos de entrada, generando a la salida una versión codificada de la entrada, con menos bits, pero manteniendo la información relevante de los datos.

Algunas redes con aprendizaje no supervisado, realizan un mapeo de características, obteniéndose en las neuronas de salida una disposición geométrica que representa un mapa topográfico de las características de los datos de entrada, de tal forma que si se presentan a la red informaciones similares, siempre sean afectadas neuronas de salidas próximas entre sí, en la misma zona del mapa

Suelen considerarse dos algoritmos de aprendizaje no supervisado:

  • Aprendizaje hebbiano
  • Aprendizaje competitivo y cooperativo.

Aprendizaje hebbiano

Este tipo de aprendizaje se basa en el postulado formulado por Donald O. Hebb en 1949: "Cuando un axón de una celda A está suficientemente cerca como para conseguir excitar a una celda B y repetida o persistemente toma parte en su activación, algún proceso de crecimiento o cambio metabólico tiene lugares en una o ambas celdas, de tal forma que la eficiencia de A, cuando la celda a activar es B, aumenta. Por celdas, Hebb entiende un conjunto de neuronas fuertemente conexionadas a través de una estructura compleja. La eficiencia podría identificarse por la intensidad o magnitud de la conexión, es decir, con el peso.

Se puede decir que el aprendizaje consiste en el ajuste de los pesos de las conexiones de acuerdo con la correlación ( multiplicación en el caso de valores binarios +1 y –1) de los valores de activación (salidas) de las neuronas conectadas.

Esta expresión responde a la idea de Hebb, puesto que si las dos unidades son activas (positivas), se refuerza la conexión; por el contrario, cuando una es activa y la otra pasiva, se debilita la conexión.

Existen muchas variaciones de dicho aprendizaje, por ejemplo, Sejnowski en 1977 utilizó la correlación de covarianza de los valores de activación de las neuronas. Sutton y Barto en 1981 utilizaron la correlación el valor medio de una neurona con la varianza de la otra. Klopf en 1986 propuso una correlación entre las variaciones de los valores de activación en dos instantes de tiempo sucesivos, aprendizaje que denominó drive-reinforcement y que utilizó en redes del mismo nombre con topología feedforward de dos capas.

Otra versión e este aprendizaje es el hebbiano diferencial, que utiliza la correlación de las derivadas en el tiempo de las funciones de activación de las neuronas.

Aprendizaje competitivo y cooperativo

En dicho aprendizaje suele decirse que las neuronas compiten (y cooperan) unas con otras con el fin de llevar a cabo una tarea dada.

La competición ente neuronas se realiza en todas las capas de la red, existiendo en estas neuronas conexiones recurrentes de autoexcitación y conexiones de inhibición por parte de neuronas vecinas. Si el aprendizaje es cooperativo, estas conexiones con las vecinas serán de excitación.

El objetivo de este aprendizaje es clusterizar los datos que se introducen en la red. De esta forma, las informaciones similares son clasificadas formando parte de la misma categoría, y por tanto deben activar la misma neurona de salida. Las categorías deben ser creadas por la misma red, puesto que se trata de aprendizaje no supervisado, a través de las correlaciones ente los datos.

En este tipo de redes, cada neurona tiene asignado un peso total, suma de todos los pesos de las conexiones que tiene a su entrada. El aprendizaje afecta sólo a las neuronas ganadoras (activas), redistribuyendo este peso total entre todas las conexiones que llegan a al neurona vencedora y repartiendo esta cantidad por igual entre todas las conexiones procedentes de unidades activas. Por tanto, la variación del peso de una conexión ente una unidad i y otra j será nula si la neurona j no recibe excitación por parte de la neurona i y otra j será nula si la neurona j no recibe excitación por parte de la neurona i, y se modificará si es excitada por dicha neurona i.

Existe otro caso particular de aprendizaje competitivo, denominado teoría de la resonancia adaptativa, desarrollado por Carpenter y Grossberg en 1986 y utilizado en la red feedforward /feedback de dos capas conocida como ART. Esta red realiza un prototipado de las informaciones que recibe a la entrada, generando como salida un ejemplar o prototipo que representa a todas las informaciones que podrían considerarse pertenecientes a la misma categoría.

Red ADALINE

Las redes ADALINE (Adaptative Linear Element), fueron desarrolladas por Bernie Widrow en la Universidad de Stanford. Dicha red usa neuronas con función de transferencia escalón, y está limitada a una única neurona de salida.

Utiliza la denominada regla Delta de Widrow-Hoff o regla del mínimo error cuadrado medio (LMS), basada en la búsqueda del mínimo de una expresión del error entre la salida deseada y la salida lineal obtenida antes de aplicarle la función de activación escalón. Estas redes pueden procesar información analógica, tanto de entrada como de salida, utilizando una función de activación lineal o sigmoidal.

En cuanto a su estructura, está formada por un elemento denominado combinador adaptativo lineal (ALC) que obtiene una salida lineal(s) que pueda ser aplicada a otro elemento de conmutación bipolar, de forma que si la salida del ALC es positiva, la salida de la red ADALINE es +1; si la salida es negativa, entonces la salida de la red ADALINE es –1.

En la figura siguiente se muestra la red ADALINE, compuesta por un combinador adaptativo lineal y una función de salida bipolar.

El ALC realiza el cálculo de la suma ponderada de las entradas:

El umbral de la función de transferencia se representa a través de una conexión ficticia de peso . Si tenemos en cuenta que para esta entrada se toma el valor de , se puede escribir la anterior ecuación de la forma:

Esta es la salida lineal que genera el ALC. La salida binaria correspondiente de la red ADALINE es, por tanto:

La red ADALINE se puede utilizar para generar una salida analógica utilizando un conmutador sigmoidal, en lugar de binario; en tal caso, la salida y se obtendrá aplicando una función tipo sigmoidal, como la tangente hiperbólica (tanh(s)) o la exponencial (1/1+).

Aprendizaje de la red ADALINE

La red ADALINE utiliza un aprendizaje OFF LINE con supervisión denominado LMS (Least Mean Squared) o regla del mínimo cuadrado medio. También se conoce como regla delta porque trata de minimizar una delta o diferencia entre el valor observado y el deseado en la salida de la red. La salida considerada es el valor previo a la aplicación de la función de activación de la neurona.

La regla aprendizaje de mínimos cuadrados es un método para hallar el vector de pesos W deseado, el cual deberá ser único y asociar con éxito cada vector del conjunto de vectores o patrones de entrada con su correspondiente valor de salida correcto (o deseado) , k=1,...L. El problema hallar un conjunto de pesos W que para un único vector de entrada X dé lugar a un vector de salida correcto resulta sencillo, lo que no ocurre cuando se dispone de un conjunto de vectores de entrada, cada uno con su propio valor de salida asociado. El entrenamiento de la red consiste en adaptar los pesos a medida que se vayan presentando los patrones de entrenamiento y salidas deseadas para cada uno de ellos. Para cada combinación entrada-salida se realiza un proceso automático de pequeños ajustes en los valores de los pesos hasta que se obtienen las salidas correctas.

La primera cuestión a resolver es definir qué significa obtener el mejor vector de pesos obtenido a partir de unas parejas de valores ejemplode forma que, una vez encontrado, desearemos que al aplicar todos los vectores de entrada se obtenga como resultado el valor de salida correcto. Se trata de eliminar, o por lo menos, minimizar la diferencia entre la salida deseada y la real para todos los vectores de entrada.

La regla de aprendizaje LMS minimiza el error cuadrado medio, definido como:

donde L es el número de vectores de entrada (patrones) que forman el conjunto de entrenamiento, y la diferencia entre la salida deseada y la obtenida cuando se introduce el patrón k-ésimo, que, se expresa como , siendo la salida del ALC; es decir:

La función de error es una función matemática definida en el espacio de pesos multidimensional para un conjunto de patrones dados. Es una superficie que tendrá muchos mínimos (global y locales), y la regla de aprendizaje va a buscar el punto en el espacio de pesos donde se encuentra el mínimo global de esta superficie. Aunque la superficie de error es desconocida, el método de gradiente decreciente consigue obtener información local de dicha superficie a través del gradiente. Con esta información se decide qué dirección tomar para llegar hasta el mínimo global de ducha superficie.

Basándose en el método del gradiente decreciente, se obtiene una regla para modificar los pesos de tal manera que hallamos un nuevo punto en el espacio de pesos más próximo al punto mínimo. Es decir, las modificaciones en los pesos son proporcionales al gradiente decreciente de la función error . Por tanto, se deriva la función error con respecto a los pesos para ver cómo varía el error con el cambio de pesos.

Aplicamos la regla de la cadena para el cálculo de dicha derivada:

Se calcula la primer derivada:

por tanto, queda:

Teniendo en cuenta que es la salida lineal:

calculamos la segunda derivada de la expresión de :

Así pues, el valor del gradiente el error producido por un patrón dado (k) es:

Las modificaciones en los pesos son proporcionales al gradiente descendente de la función error:

siendo la constante de proporcionalidad o tasa de aprendizaje.

En notación matricial, quedaría:

Esta expresión representa la modificación de pesos obtenida al aplicar el algoritmo LMS. es el parámetro que determina la estabilidad y la velocidad de convergencia del vector de pesos hacia el valor de error mínimo. Los cambios en dicho vector deben hacerse relativamente pequeños en cada iteración, sino podría ocurrir que no se encontrase nunca un mínimo, o se encontrase sólo por accidente, en lugar de ser el resultado de una convergencia sostenida hacia él.

La aplicación el proceso iterativo de aprendizaje consta de los siguientes pasos:

Se aplica un vector o patrón de entrada, , en las entradas del ADALINE.

Se obtiene la salida lineal y se calcula la diferencia con respecto a la deseada .

Se actualizan los pesos

.

Se repiten los pasos del 1 al 3 con todos los vectores de entrada (L).

Si el error cuadrado medio: es un valor reducido aceptable, termina el proceso de aprendizaje; sino, se repite otra vez desde el paso 1 con todos los patrones.

Cuando se utiliza una red ADALINE para resolver un problema concreto, es necesario determinar una serie de aspectos prácticos, como el número de vectores de entrenamiento necesarios, hallar la forma de generar la salida deseada para cada vector de entrenamiento, o la dimensión óptima del vector de pesos, o cuales deberían ser los valores iniciales de los pesos, así como si es necesario o no un umbral , o cuál debe ser el valor de , o cuándo se debe finalizar el entrenamiento, etc.

Respecto al número de componentes del vector de pesos, si el número de entradas está bien definido, entonces habrá un peso por cada entrada, con la opción de añadir o no un peso para la entrada del umbral.

La solución es diferente cuando sólo se dispone de una señal de entrada. En estos casos, la aplicación más común es el filtro adaptativo para, por ejemplo, eliminar ruido de la señal de entrada.

La dimensión del vector de pesos tiene una influencia directa en el tiempo necesario de entrenamiento, 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 tiene una gran influencia sobre el entrenamiento. Si es demasiado grande, la convergencia es posible que no se produzca, debido a que se darán saltos en torno al mínimo sin alcanzarlo. Si es demasiado pequeño, alcanzaremos la convergencia, pero la etapa de aprendizaje será más larga.

En cuanto al momento en el que debemos detener el entrenamiento, depende de los requerimientos del sistema. El entrenamiento se detiene cuando el error observado es menor que el admisible en la señal de salida de forma sostenida. Se suele tomar el error cuadrático medio como la magnitud que determina el instante en el que un sistema ha convergido.

Aplicaciones de la red ADALINE

La principal aplicación de las redes 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 en señales portadoras de información.

Se destaca su uso como filtros de ecuación adaptativos en módems de alta velocidad y canceladores adaptativos del eco para el filtrado de señales en comunicaciones telefónicas de larga distancia y comunicaciones vía satélite.

También se han utilizado para la eliminación del ruido materno de las grabaciones electrocardiográficas (ECG) del latido del corazón del feto humano.

Por otro lado los filtros adaptativos también se suelen utilizar 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(la señal en algún momento anterior), y como salida esperada, el valor actual de la señal. El filtro intentará minimizar el error entre su salida y la señal actual, basándose en una entrada que es el valor de la señal en algún instante anterior. Una vez que el filtro predice correctamente la señal actual, basándose en la señal anterior, se puede utilizar directamente la actual como entrada sin retardo. El filtro realizará una predicción del valor futuro de la señal.

La Red Backpropagation

En 1986, Rumelhart, Hinton y Williams, formalizaron un método para que una red neuronal aprendiera la asociación que existe entre los patrones de entrada y las clases correspondientes, utilizando varios niveles de neuronas.

El método backpropagation (propagación del error hacia atrás), basado en la generalización de la regla delta, a pesar de sus limitaciones, ha ampliado de forma considerable el rangote aplicaciones de las redes neuronales.

El funcionamiento de la red backpropagartion (BPN) consiste en el aprendizaje de un conjunto predefinido de pares de entradas-salidas dados como ejemplo: primero se aplica un patrón de entrada como estímulo para la primera capa de las neuronas de la red, se va propagando a través de todas las capas superiores hasta generar una salida, se compara el resultado en las neuronas de salida con la salida que se desea obtener y se calcula un valor de error para cada neurona de salida. A continuación, éstos errores se transmiten hacia atrás, partiendo de la capa de salida hacia todas las neuronas de la capa intermedia que contribuyan directamente a la salida, recibiendo de error aproximado a la neurona intermedia a la salida original. Este proceso se repite, capa por capa, hasta que todas las neuronas de la red hayan recibido un error que describa su aportación relativa al error total. Basándose en el valor del error recibido, se reajustan los pesos de conexión de cada neurona, de manera que en la siguiente vez que se presente el mismo patrón, la más salida esté cercana a la deseada.

La importancia de la red backpropagation consiste en su capacidad de autoadaptar los pesos de las neuronas de las capas intermedias para aprender la relación que existe ente un conjunto de patrones de entrada y sus salidas correspondientes. Es importante la capacidad de generalización, facilidad de dar salidas satisfactorias a entradas que el sistema no ha visto nunca en su fase de entrenamiento. La red debe encontrar una representación interna que le permita generar las salidas deseadas cuando se le dan entradas de entrenamiento, y que pueda aplicar, además, a entradas no presentadas durante la etapa de aprendizaje para clasificarlas.

La Regla Delta Generalizada

La regla propuesta por Widrow en 1960 ha sido extendida a redes con capas intermedias con conexiones hacia delante (feedforward) y cuyas células tienen funciones de activación continuas (lineales o sigmoidales), dando lugar a la retropopagación. Estas funciones continuas son no decrecientes y derivables.

Este algoritmo utiliza una función de error asociada a la red, buscando el estado estable de mínima energía o de mínimo error a través del camino descendente de la superficie del error. Por ello realimenta el error del sistema para realizar la modificación de los pesos en un valor proporcional al gradiente decreciente de dicha función de error.

Funcionamiento del algoritmo

El método que sigue la regla delta generalizada para ajustar los pesos es exactamente el mismo que el de la regla utilizada en ADALINE; los pesos se actualizan de forma proporcional a la delta, o diferencia entre la salida deseada y la obtenida (= salida deseada – salida obtenida).

Dada una neurona (unidad ) y la salida que produce,, el cambio que se produce en le peso de la conexión que una salida de dicha neurona con la unidad para un patrón de aprendizaje p determinado es:

En donde el subíndice p se refiere al patrón de aprendizaje concreto, y es la constante o tasa de aprendizaje.

En redes multinivel en principio no se puede conocer la salida deseada de las neuronas ocultas para poder determinar los pesos en la función de error cometido. Inicialmente podemos conocer la salida deseada de las neuronas de salida. Según esto, si consideramos la unidad de salida, entonces definimos:

donde es la salida deseada de la neurona j para el patrón p y es la entrada neta que recibe la neurona j.

Esta fórmula es como la de la regla delta, excepto a los se refiere a la derivada de la función de transferencia. Este término representa la modificación que hay que realizar en la entrada que recibe la neurona j. En caso de que dicha neurona no sea de salida, el error que se produce estará en función del error que se cometa en las neuronas que reciban como entrada la salida de dicha neurona. Esto es lo que se denomina como procedimiento de propagación de error hacia atrás.

Según esto, en el caso de que no sea una neurona de salida, el error que se produce está en función del error que se comete en las neuronas que reciben como entrada la salida de :

donde el rango de k cubre a todas las neuronas a las que está conectada la salida de . De esta forma el error que se produce en una neurona oculta es la suma de los errores que se producen en las neuronas a las que está conectada la salida de ésta, multiplicado cada uno de ellos por el peso de la conexión.

Adición de un momento en la regla delta generalizada

El método de retropopagación del error requiere un importante número de cálculos para lograr el ajuste de los pesos de la red. En la implementación del algoritmo, se toma una amplitud de paso que viene dada por la tasa de aprendizaje. A mayor tasa de aprendizaje, mayor es la modificación de los pesos en cada iteración, con lo que el aprendizaje será más rápido, pero por otro lado, puede dar lugar a oscilaciones. Rumelhart, Hinton y Williams sugirieron que para filtrar estas oscilaciones se añada en la expresión de incremento de los pesos un término (momento),, de manera que dicha expresión quede:

donde es una constante que determina el efecto t+1 del cambio de los pesos en el instante t.

Con este momento se consigue la convergencia de la red en menor número de iteraciones, ya que si en t el incremento de un peso era positivo y en t+1 también, entonces el descenso por la superficie de error en t+1 es mayor. Sin embargo, si en t era positivo y en t+1 es negativo, el paso que se da en t+1 es más pequeño, lo cual es adecuado, ya que significa que se ha pasado por un mínimo y que los pesos deben ser menores para poder alcanzarlo.

Resumiendo, el algoritmo Backpropagation queda finalmente:

donde:

si es una neurona de salida.

si no es una neurona de salida.

Estructura y aprendizaje de la red backpropagation

En una red Backpropagation existe una capa de entrada con n neuronas y una capa de salida con m neuronas y al menos una capa oculta de neuronas internas. Cada neurona de una capa (excepto las de entrada) recibe entradas de todas las neuronas de la capa anterior y envía su salida a todas las neuronas de la capa posterior (excepto las de salida). No hay conexiones hacia atrás feedback ni laterales entre las neuronas de la misma capa.

La aplicación del algoritmo tiene dos fases, una hacia delante y otra hacia atrás. Durante la primera fase el patrón de entrada es presentado a la red y propagado a través de las capas hasta llegar a la capa de salida. Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose éstos valores con la salida esperada para obtener el error. Se ajustan los pesos de la última capa proporcionalmente al error. Se pasa a la capa anterior con una retropopagación del error, ajustando los pesos y continuando con este proceso hasta llegar a la primer capa. De esta manera se han modificado los pesos de las conexiones de la red para cada patrón de aprendizaje del problema, del que conocíamos su valor de entrada y la salida deseada que debería generar la red ante dicho patrón.

La técnica Backpropagation requiere el uso de neuronas cuya función de activación sea continua, y por lo tanto, diferenciable. Generalmente, la función utilizada será del tipo sigmoidal.

Pasos para aplicar el algoritmo de entrenamiento

Paso 1

Inicializar los pesos de la red con valores pequeños aleatorios.

Paso 2

Presentar un patrón de entrada y especificar la salida deseada que debe generar la red.

Paso 3

Calcular la salida actual de la red. Para ello presentamos las entradas a la red y vamos calculando la salida que presenta cada capa hasta llegar a la capa de salida, ésta será la salida de la red. Los pasos son los siguientes:

Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas de entrada. Para una neurona j oculta:

en donde el índice h se refiere a magnitudes de la capa oculta; el subíndice p, al p-ésimo vector de entrenamiento, y j a la j-ésima neurona oculta. El término puede ser opcional, pues actúa como una entrada más.

Se calculan las salidas de las neuronas ocultas: .

Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida:

Paso 4

Calcular los términos de error para todas las neuronas.

Si la neurona k es una neurona de la capa de salida, el valor de la delta es:

La función f debe ser derivable. En general disponemos de dos formas de función de salida:

La función lineal :

La función sigmoidal :

La selección de la función depende de la forma que se decida representar la salida: si se desea que las neuronas de salida sean binarias, se utiliza la función sigmoidal, en otros casos, la lineal.

Para una función lineal, tenemos: , mientras que la derivada de una función sigmoidal es: por lo que los términos de error para las neuronas de salida quedan:

para la salida lineal.

para la salida sigmoidal.

Si la neurona j no es de salida, entonces la derivada parcial del error no puede ser evaluada directamente, por tanto se obtiene el desarrollo a partir de valores que son conocidos y otros que pueden ser evaluados.

La expresión obtenida en este caso es: donde observamos que el error en las capas ocultas depende de todos los términos de error de la capa de salida. De aquí surge el término propagación hacia atrás.

Paso 5

Actualización de los pesos: para ello utilizamos un algoritmo recursivo, comenzando por las neuronas de salida y trabajando hacia atrás hasta llegar a la capa de entrada, ajustando los pesos de la siguiente forma:

Para los pesos de las neuronas de la capa de salida:

Para los pesos de las neuronas de la capa oculta:

En ambos casos, para acelerar el proceso de aprendizaje se puede añadir un término momento.

Paso 6

El proceso se repite hasta que el término de error resulta aceptablemente pequeño para cada uno de los patrones aprendidos.

Consideraciones sobre el algoritmo de aprendizaje

El algoritmo encuentra un valor mínimo de error (local o global) mediante una aplicación de pasos (gradiente) descendentes. Cada punto de la superficie de la función corresponde a un conjunto de valores de los pesos de la red. Con el gradiente descendente, siempre que se realiza un cambio en todos los pesos de la red, se asegura el descenso por la superficie del error hasta encontrar el valle más cercano, lo que puede hacer que el proceso de aprendizaje se detenga en un mínimo local de error.

Uno de los problemas del algoritmo es que en busca de minimizar la función de error, puede caer en un mínimo local o en algún punto estacionario, con lo cual no se llega a encontrar el mínimo global de la función de error. Sin embargo, no tiene porqué alcanzarse el mínimo global en todas las aplicaciones, sino que puede ser suficiente con un error mínimo preestablecido.

Control de Convergencia

En las técnicas de gradiente decreciente es conveniente avanzar por la superficie del error con incrementos de pesos pequeños. Esto se debe a que tenemos una información local de la superficie y no se sabe lo lejos o cerca que se está del punto mínimo. Con incrementos grandes se corre el riesgo de pasar por encima del punto mínimo sin conseguir estacionarse en él. Con incrementos pequeños, aunque se tarda más en llegar, se evita que ocurra esto.

El incremento del paso adecuado influye en la velocidad de convergencia del algoritmo. La velocidad se controla con la tasa de aprendizaje . Normalmente , debe ser un número pequeño (del orden de 0,05 a 0,25), para asegurar que la red llegue a asentarse en una solución.

Lo habitual es aumentar el valor de a medida que disminuye el error de la red durante la fase de aprendizaje. Así aceleramos la convergencia aunque sin llegar nunca a valores de demasiado grandes, que hicieran que la red oscilase alejándose del mínimo.

En la práctica, si una red deja de aprender antes de llegar a una solución aceptable, se realiza un cambio en el número de neuronas ocultas o en los parámetros de aprendizaje, o simplemente, se vuelve a empezar con un conjunto distinto de pesos originales y se suele resolver el problema.

Dimensionamiento de la red. Número de neuronas ocultas

No se pueden dar reglas concretas para determinar el número de neuronas o número de capas de una red para resolver un problema concreto.

Respecto al número de capas de la red, en general tres capas son suficientes (entrada -oculta-salida). Sin embargo, hay veces que un problema es más fácil de resolver con más de una capa oculta. El tamaño de las capas, tanto de entrada como de salida, suelen venir determinado por la naturaleza de la aplicación. En cambio, decidir cuántas neuronas debe tener una capa oculta no suele ser tan evidente.

El número de neuronas ocultas interviene en la eficiencia de aprendizaje y de generalización de la red. No hay ninguna regla que indique el número óptimo, en cada problema se debe ensayar.

Aplicaciones de la red Backpropagation

Actualmente, este tipo de redes se están aplicando en distintas clases de problema debido al la naturaleza general del proceso de aprendizaje. Algunos de los campos generales de aplicación son:

Codificación de Información.

Traducción de texto a lenguaje hablado.

Reconocimiento de lenguaje hablado.

Reconocimiento óptico de caracteres (OCR).

Software de Redes Neuronales

Para poder ver como trabajan las Redes Neuronales, y obtener una herramienta de uso público se realizó una búsqueda en Internet.

A continuación se listarán alguno de ellos:

  • Rochester Connectionist Simulator (implementa el algoritmo backpropagation)
  • NeurDs
  • PlaNet5.7
  • GENESIS (implementa el algoritmo backpropagation)
  • Cascade Correlation Simulator
  • QuickProp (variación del algoritmo backpropagation)
  • Aspirin/MIGRAINES
  • NeuronalShell
  • Xerion
  • Neocognitron Simulator
  • Multi-Module Neuronal Computing Environment (MUME)
  • LVQ_PAK, SOM_PAK.
  • SESAME
  • Nevada Backpropagation
  • Fuzzy ARTmap
  • PYGMALION (implementa el algoritmo backpropagation)
  • Matriz Backpropagation (implementa el algoritmo backpropagation)
  • WinNN
  • BIOSIM
  • The Brain
  • FuNeGen 1.0
  • NeuDL- Neuronal Network Description Language
  • NeoC Explorer (implementación de Fukushima´s Neocognitron)
  • SNNSv4.2.Win32-bin
  • SprinN 2.5
  • xdemo32
  • Teruel
  • Tiberius

Los últimos cinco programas citados en la lista fueron probados y luego de una selección, se optó por la utilización de Tiberius Versión 1.3.83 (demo).

Tiberius es desarrollado por Phil Brierley y Anderw Lewis y modela una red backpropagation, con límite de 5 neuronas de entrada, 250 patrones y 4 neuronas ocultas.

Caso de Estudio 1

Análisis del negocio

Objetivos del negocio

Predecir si una empresa quebrará en base a los siguientes ratios financieros:

  • Flujo de Caja / Deuda Total
  • Ingreso Neto / Activo Total
  • Activo Corriente / Pasivo Corriente
  • Activo Corriente / Ventas Netas

Inventario de recursos

1 estudiante avanzado de Ingeniería en Sistemas, capacitándose en el área de Data Mining.

Herramienta Tiberius Versión 1.3.83 (demo): con límite de 5 neuronas de entrada, 250 patrones y 4 neuronas ocultas.

Ratios financieros de 46 empresas, y situación de las mismas (quiebre o no quiebre de la empresa).

Restricciones sobre el caso de estudio

Es un proyecto académico, por lo cual, el personal a realizar el mismo, no es experto en el área sino que se está capacitando en la misma.

En cuanto a las herramientas a utilizar son de evaluación, por lo que no brindan todas las funcionalidades y tiene capacidad de procesamiento restringida.

Beneficios

Poder predecir el quiebre de empresas sin tener grandes conocimientos en el área de finanzas, conociendo los siguientes ratios financieros:

  • Flujo de Caja / Deuda Total
  • Ingreso Neto / Activo Total
  • Activo Corriente / Pasivo Corriente
  • Activo Corriente / Ventas Netas

Entendimiento de los datos

Colección inicial de datos

Los datos son brindados por una persona con conocimientos en finanzas. Los mismos son datos reales de 46 empresas.

Descripción de datos.

Los datos fueron suministrados en un archivo ASCII que contiene el siguiente formato:

OBS X1 X2 X3 X4 GRUPO

1 -0,4485 -0,4106 1,0865 0,4526 1

22 0,5135 0,1001 2,4871 0,5368 2

Siendo:

OBS: Empresa

X1 : Flujo de Caja/Deuda Total

X2 : Ingreso Neto /Activo Total

X3 : Activo Corriente / Pasivo Corriente

X4 : Activo Corriente / Ventas Netas

Grupo : Indica si la empresa quebró o no. (1 = quebró. 2= no quebró).

Preparación de los datos

Formato de datos

Para que la herramienta seleccionada pueda trabajar con los datos, los mismos debieron ser levantados a una tabla, en una base de datos Access.

Se renombraron las columnas por nombres más descriptivos, y se realizó una modificación en los valores de la columna de la salida, para clarificar más el modelo, siendo 0 cuando la empresa quiebra o 1 si la empresa no quiebra.

Ejemplo:

Empresa

Flujo de Caja / Deuda Total

Ingreso Neto / Activo Total

Activo Corriente / Pasivo Corriente

Activo Corriente / Ventas Netas

Quebró

1

-0,47

-0,41

1,09

0,45

0

2

-0,56

-0,31

1,51

0,16

0

3

0,17

0,04

2,45

0,14

1

4

0.58

0,04

5,06

0,13

1

Selección de datos

Para el entrenamiento de la red, se han seleccionado 42 patrones (empresas), los cuatro restantes se reservan para testear el modelo. (Ver Anexo 1).

Modelado

Selección de técnica de modelado

La herramienta de trabajo para la extracción de patrones es Tiberius Versión 1.3.83, la misma modela una red neuronal del tipo Backpropagation.

Construcción del modelo

El modelo consiste en un conjunto de datos (tabla con los datos de entrenamiento y Testing), una herramienta de análisis y un conjunto de parámetros que serán citados más adelante.

Para crear el modelo en Tiberius, se debe especificar:

  1. La base de datos que contienen los patrones de entrada a ser "aprendidos" por la red.
  2. Se debe indicar cuáles son las entradas a la red y cuál es la salida.
  3. El caso que se quieran excluir patrones, se debe indicar, y en que condiciones se quieren excluir los mismos.

Tiberius presenta las columnas de la tabla que contiene los patrones, para poder seleccionar las entradas y la salida. Como entradas a la red se seleccionaron los ratios financieros y como salida el resultado (si la empresa quebró o no). No se excluyeron patrones.

Parámetros

Se realizaron varias configuraciones de redes para resolver éste caso de estudio, y luego de analizar los porcentajes de aciertos en los resultados se escogió uno.

Modelo

Learning Rate

Cantidad de Neuronas

Ocultas

% True

% False

% Total

1

0,700000

1

82,6

100

90,5

2

0,0000001

1

95,7

89,5

92,9

3

0,0000001

2

91,3

100

95,2

4

0,700000

2

91,3

100

95,2

5

0,700000

3

95,7

100

97,6

6

0,0000001

3

100

94,7

97,6

7

0,700000

4

95,7

100

97,6

8

0,0000001

4

91,3

100

95,2

  • Learning Rate es la Tasa de Aprendizaje ().
  • % True representa el porcentaje de aciertos de empresas que no dieron quiebra.
  • % False representa el porcentaje de aciertos de empresas que dieron quiebra.
  • % Total es el porcentaje total de aciertos.

Gráficamente la red se ve de la siguiente manera:

Ejecución del Modelo

De acuerdo a la tabla anterior, se escogió el modelo 6.

Los resultados obtenidos con el mismo modelo son los siguientes:

Los patrones 8, 19, 41 y 46 fueron ingresados como patrones de prueba.

Empresa

(patrón)

FlujoCaja/

DeudaTotal

IngresoNeto/

ActivoTotal

ActivoCorriente/

PasivoCorriente

ActivoCorriente/

VentasNetas

Resultado

Esperado

8

-0,0653

-0,0566

1,3737

0,4032

False

18

0,0451

0,0263

1,6756

0,9494

False

41

0,4785

0,091

1,2444

0,1847

True

46

0,5808

0,0371

5,0594

0,1268

True

Podemos observar que la predicción de los mismos fue correcta.

Caso de Estudio 2

Análisis del negocio

Objetivos del negocio

Predecir si una persona de acuerdo a su perfil, tiene interés de comprar un auto.

Inventario de recursos

1 estudiante avanzado de Ingeniería en Sistemas, capacitándose en el área de Data Mining.

Herramienta Tiberius Versión 1.3.83 (demo): con límite de 5 neuronas de entrada, 250 patrones y 4 neuronas ocultas.

Datos reales de 479 personas; de las cuales se conoce: edad, nivel de ingresos, sexo, si ya tiene automóvil, instrucción (estudios), rol que cumple en el hogar, si posee tarjeta de crédito, y si tiene o no, interés de compra.

Restricciones sobre el caso de estudio

Es un proyecto académico, por lo cual, el personal a realizar el mismo, no es experto en el área sino que se está capacitando en la misma.

En cuanto a las herramientas a utilizar son de evaluación, por lo que no brindan todas las funcionalidades y tiene capacidad de procesamiento restringida.

Beneficios

Poder predecir si una persona tiene interés de compra de un auto de acuerdo a su perfil, para poder ofrecerle autos.

Entendimiento de los datos

Colección inicial de datos

Datos reales de 479 personas; de las cuales se conoce: edad, nivel de ingresos, sexo, si ya tiene automóvil, instrucción (estudios), rol que cumple en el hogar, si posee tarjeta de crédito, y si tiene o no, interés de compra.

Descripción de datos.

Los datos fueron suministrados en un archivo ASCII que contiene el siguiente formato:

EDAD

NSE

SEXO

AUTOMOVI

INSTRUCC

ROL

TARJETA

INTCOM

38

1

1

1

6

1

2

5

39

1

1

1

7

1

2

5

28

1

1

2

7

4

1

3

30

1

1

1

9

1

1

5

34

1

1

2

7

1

2

4

Siendo:

  • EDAD: Edad de la persona.
  • NSE: Nivel de ingreso.

Posibles Valores

1

ALTO

2

MEDIO

3

BAJO

  • SEXO : Sexo de la persona.

Posibles Valores

1

MASCULINO

2

FEMENINO

  • AUTOMOVI: Indica si la persona ya posee un automóvil.

Posibles Valores

1

TIENE

2

NO TIENE

  • INSTRUCC: Indica la instrucción de la persona.

Posibles Valores

1

SIN INSTRUCCION

2

PRIMARIA INCOMPLETA

3

PRIMARIA COMPLETA

4

SECUNDARIA INCOMPLETA

5

SECUNDARIA COMPLETA

6

UNIVERSITARIA INCOMPLETA

7

UNIVERSITARIA COMPLETA

8

TERCIARIA NO UNIV INCOMPLETA

9

TERCIARIA NO UNIV COMPL

10

UTU INCOMPLETA

11

UTU COMPLETA

  • ROL : Rol que cumple la persona en el hogar.

Posibles Valores

1

JEFE DE FLIA

2

AMA Y JEFE

3

AMA DE CASA

4

HIJO/A

5

OTRO

  • TARJETA: Indica si la persona posee tarjeta de crédito.

Posibles Valores

1

2

NO

  • INTCOM: Indica si la persona tiene interés de compra.

Posibles Valores

1

MUY INTERESADO

2

INTERESADO

3

MAS O MENOS

4

POCO INTERESADO

5

NADA INTERESADO

Preparación de los datos

Formato de datos

Para que la herramienta seleccionada pueda trabajar con los datos, los mismos debieron ser levantados a una tabla, en una base de datos Access.

Dado a que la función de salida que utiliza Tiberius es de tipo sigmoidal, los resultados que se obtienen tienden a ser binarios, por lo que no se puede predecir el grado de interés que una persona tiene. Para poder construir un modelo que me permita predecir si una persona tiene interés de compra de un automóvil, realizaremos una clasificación con los datos de la columna INTCOM. La misma quedará de la siguiente forma:

Posibles Valores

1

MUY INTERESADO

2

INTERESADO

3

MAS O MENOS

4

POCO INTERESADO

5

NADA INTERESADO

De ésta manera, la columna INTCOM quedará de la siguiente manera:

Posibles Valores

1

INTERESADO

0

SIN ÏNTERÉS

Selección de datos

Para el entrenamiento de la red, se han seleccionado los primeros 250 patrones (personas), de los cuales, existen 30, que no tienen información sobre el interés de compra. (Ver Anexo 2).

Se seleccionarán 20 patrones que no pertenecen a los datos de entrenamiento, para realizar el Testing del modelo. (Ver Anexo 3).

Modelado

Selección de técnica de modelado

La herramienta de trabajo para la extracción de patrones es Tiberius Versión 1.3.83, la misma modela una red neuronal del tipo Backpropagation.

Construcción del modelo

El modelo consiste en un conjunto de datos (tabla con los datos de entrenamiento y Testing), una herramienta de análisis y un conjunto de parámetros que serán citados más adelante.

Para crear el modelo en Tiberius, se debe especificar:

  1. La base de datos que contienen los patrones de entrada a ser "aprendidos" por la red.
  2. Se debe indicar cuáles son las entradas a la red y cuál es la salida.
  3. El caso que se quieran excluir patrones, se debe indicar, y en que condiciones se quieren excluir los mismos.

Como Tiberius trabaja hasta con 5 entradas, para la construcción del modelo no se pudieron utilizar todas las columnas de los patrones. Se fueron tomando varias combinaciones de columnas y probando diversos modelos hasta llegar al más óptimo.

Las entradas seleccionadas para la construcción del modelo fueron:

  • NSE
  • SEXO
  • EDAD
  • AUTOMOVI
  • INSTRUCC

Parámetros

Se realizaron varias configuraciones de redes para resolver éste caso de estudio, y luego de analizar los porcentajes de aciertos en los resultados se escogió uno.

Los parámetros fueron:

  • Tasa de aprendizaje: 0,700000
  • Cantidad de neuronas ocultas: 4.

Ejecución del Modelo

Gráficamente, el modelo se ve de la siguiente manera:

Learning Rate

Cantidad de Neuronas

Ocultas

% True

% False

% Total

0,700000

4

82,6

51,8

55

Luego de entrenar la red, el modelo obtenido nos permite predecir correctamente el 82,6% de las personas que tiene interés de compra, y un 51,8 % de las personas que no tienen interés de compra.

Testing

Para realizar el Testing del modelo, se utilizó la herramienta "Development kit" de Tibeirus, que permite generar una planilla Excel o página html para predecir.

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

 

Para cada patrón se ingresan los datos en la planilla y se obtiene la predicción correspondiente. El resultado de la ejecución del Testing es el siguiente:

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

 

Si se realiza un análisis del resultado del Testing, vemos que:

  • Un 80% de las personas que tienen interés de compra fueron predichas correctamente.
  • Un 33,3% de las personas que no tienen interés fueron predichas correctamente.
  • El total de predicciones correctas fue de un 45% de las predicciones de testing.

Agradecimientos

Agradezco a la profesora Esther Hochsztain por la colaboración brindada para la realización de éste trabajo.

Referencias

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

 

Anexos

Anexo 1 - Datos para el Caso de Estudio 1

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

Los datos en negrita corresponden a patrones utilizados para el Testing. El resto son patrones de entrada para la fase de aprendizaje de la red.

Anexo 2 - Datos para el Caso de Estudio 2

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

Anexo 3 – Datos para realizar el Testing del Caso de Estudio 2

Para ver el gráfico seleccione la opción "Bajar trabajo" del menú superior

 

 

Autor

Ana Bollella

goica21[arroba]adinet.com.uy

Partes: 1, 2


 Página anterior Volver al principio del trabajoPágina siguiente 

Comentarios


Trabajos relacionados

  • Introducción Al Procamail

    Versiones del Procmail. Configuración Del Sistema Procmail; Archivo .procmailrc. A pesar de lo eficiente y atractivos q...

  • XML - Lenguaje de Marcas Extensible

    XML será el lenguaje que nos garantizará el intercambio de cualquier tipo de información, sin que ocasione problemas de ...

  • Aplicaciones del protocolo TCP/IP

    TELNET. FTP (File Transfer Protocol). FTP Offline. TFTP (Trivial File Transfer Protocol). SNMP (Simple Network Managemen...

Ver mas trabajos de Redes

 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.


Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Iniciar sesión

Ingrese el e-mail y contraseña con el que está registrado en Monografias.com

   
 

Regístrese gratis

¿Olvidó su contraseña?

Ayuda