jueves, 17 de diciembre de 2009

Red neuronal polinomial

El procesamiento de información de carácter redundante, imprecisa y distorsionada posee un papel primordial para la resolución de problemas reales de clasificación o de predicción en muchas áreas científicas. Una de las metodologías con un mayor auge en la última década son los modelos de redes neuronales, que en esencia son estructuras formales de carácter matemático y estadístico con la propiedad de aprendizaje, es decir, la adquisición de conocimientos que en la mayoría de los casos es a partir de ejemplos. Este aprendizaje se produce mediante un estilo de computación denominado en paralelo que intenta simular algunas de las capacidades que posee el cerebro humano. Por esta razón se las definen como redes neuronales artificiales para distinguirlas de los modelos biológicos.

Dichas redes neuronales artificiales constituyen un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que funciona el sistema nervioso, no solo del ser humano sino también de los animales. Se trata de un sistema de interconexión de neuronas en una red que colabora para producir un estímulo de salida. En inteligencia artificial es frecuente referirse a ellas como redes de neuronas o redes neuronales. Las redes neuronales consisten en una simulación de las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales, como un circuito integrado, una computadora o un conjunto de válvulas. El objetivo es conseguir que las máquinas proporcionen respuestas similares a las que es capaz de dar el cerebro que se caracteriza por su gran capacidad de generalización y robustez.

Una red neuronal se compone de varias unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones: (1) Una función de propagación, también conocida como función de activación, que por lo general consiste en la sumatoria de cada entrada multiplicada por el peso de su interconexión. Si el peso es positivo, la conexión se denomina activadora; si es negativo, se denomina inhibitoria. Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación. Una función de transferencia, que se aplica al valor devuelto por la función de activación, se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que se quiera darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea, para obtener valores en el intervalo cero-uno y la tangente hiperbólica, para obtener valores en el intervalo menos uno-uno.

Muchas aplicaciones requieren que las redes neuronales diseñadas respondan a secuencias en el tiempo de patrones, es decir, series temporales. Si se utiliza el algoritmo de aprendizaje de retropropagación, se puede convertir una red perceptron multicapa en una red neuronal con tiempo de retardo simplemente utilizando entradas con retardos. Adicionalmente existen otros tipos de redes hacia adelante, agrupadas bajo el nombre de redes polinomiales. Ejemplos de ellas son: las redes de vínculos-funcionales, que son redes con una sola capa oculta en la que las entradas se procesan con un conjunto de funciones elegidas en función del problema; las redes neuronales arbóreas, que utilizan pequeñas redes perceptron multicapa en cada nodo de partición para una clasificación binaria que permita extraer las características no lineales; las redes neuronales Wavelet, constituyen una alternativa a las redes neuronales hacia delante para aproximarse de forma arbitraria a funciones no lineales. Y por último, las redes con “método de grupo para el manejo de datos” que son tratadas de forma individual en posteriores párrafos.

La red neuronal artificial polinomial es una red neuronal que ha demostrado ser una poderosa herramienta para la predicción de series de tiempo. Esto se consigue debido a que la red neuronal artificial polinomial codifica la información sobre la naturaleza de una serie de tiempo en su arquitectura; sin embargo, el problema con este tipo de red es que los términos que necesitan ser analizados crecen exponencialmente dependiendo del grado seleccionado para la aproximación polinómica.

Las redes neuronales polinómicas utilizan el algoritmo “método de grupo para el manejo de datos”. Las primeras investigaciones estuvieron a cargo de R. Shankar el año 1972, el cual presentó el algoritmo “método de grupo para el manejo de datos” como un procedimiento que permitía describir de forma sucesiva un sistema complejo de relaciones a partir de simples operaciones matemáticas. Este tipo de redes, constituye un buen método para solucionar problemas del estilo, identificación, predicción a corto y a largo plazo de procesos aleatorios, reconocimiento de patrones en entornos complejos, etc. La teoría matemática fue desarrollada de forma conjunta por muchos investigadores, siendo su máximo exponente A.G. Ivakhnenko, hacia el año 1960. El contenido del algoritmo se desarrolló como vehículo para identificar relaciones no lineales entre entradas y salidas, generando una estructura óptima a partir de un proceso sucesivo de varias generaciones de descripciones parciales de los datos, mediante la incorporación de nuevas capas. En cada capa se inicia con un número máximo de neuronas, definido por combinatoria, de forma que, mediante un proceso de selección se determina el número de neuronas más idóneo en cada capa y así el proceso se diferencia claramente del algoritmo de retropropagación donde todas las capas participan de manera simultánea en el proceso de aprendizaje.

Los aspectos más importantes del proceso histórico, de las redes neuronales polinómicas, son los siguientes: (1) El periodo de los años 1968-1971, se caracterizó por aplicaciones orientadas a establecer criterios de regularidad para solucionar problemas de identificación, predicción a corto plazo, reconocimiento de patrones, pero no se investigó la robustez frente al ruido de los datos. (2) En el periodo de los años 1972-1975, se solucionó el problema de la modelización con datos incompletos o con ruido. (3) El periodo de los años 1976-1979, fue investigado el grado de convergencia del algoritmo “método de grupo para el manejo de datos”. (4) En el periodo 1980-1988 se obtuvieron importantes resultados teóricos, proponiendo modelos no físicos para predicciones a largo plazo, modelos en dos niveles, etc. (5) En el periodo 1988 hasta los años 2000 se produce la aparición de nuevos algoritmos para el modelado no paramétrico, como por ejemplo las “redes neuronales multicapa dobles”.

Respecto a las aplicaciones, estas son cada vez más numerosas y relacionadas con diversos campos científicos, algunas de las mismas son: (1) Sistemas económicos con la identificación de procesos inflacionistas, la evaluación de los principales factores de una economía y la predicción bursátil. (2) El análisis de sistemas ecológicos, la predicción de yacimientos de petróleo, la predicción de flujos fluviales, la gestión de sistemas predictivos de la actividad solar, la predicción de la contaminación de la atmósfera. (3) Diagnóstico médico, diagnóstico de cáncer de pacientes, clasificación de las fases del sueño, clasificación del estado del cerebro humano. (5) Modelado meteorológico, predicciones climáticas, influencia de los cambios climáticos a largo plazo en los embalses. (6) Modelado econométrico, modelado de marketing, modelado de las relaciones costo-beneficio. (7) Producción optimización y predicción de la producción de procesos, predicción de la calidad del cemento, modelado de procesos de fermentación. (8) Procesamiento de señales para sistemas de seguridad. (9) Sismología y discriminación de sismos, detección de bolsas de agua y petróleo. (10) Sistemas militares, clasificación de patrones de imágenes de radar, clasificación de ultrasonidos.

El primer modelo neuronal diseñado fue el “Polinomio de Ivakhnenko” o el “Polinomio de Kolmogorov-Gabor”, con una topología formada por dos entradas y una salida. Los modelos neuronales polinomiales poseen una diferencia importante respecto a los modelos donde las neuronas están previamente definidas y es que, sus unidades de procesamiento poseen un papel activo, debido a que los algoritmos de “método de grupo para el manejo de datos” se ejecutan dentro de las propias unidades, representando una nueva variable, que es generada mediante la selección independiente de las entradas relevantes necesarias para encontrar la estructura óptima. Los algoritmos en las redes neuronales polinomiales se implementan mediante los procedimientos descritos para los modelos de regresión y se combinan con los algoritmos genéticos, estos últimos aseguran que la combinación de regresores óptimos describe adecuadamente el modelo.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Septiembre 28 de 2009

No hay comentarios: