viernes, 29 de octubre de 2010

Agrupamiento difuso

La lógica difusa ha demostrado ser de gran utilidad para representar el comportamiento o dinámica de los sistemas mediante reglas difusas del tipo “Si-Entonces”. Los primeros sistemas basados en reglas difusas se basaban en la información suministrada por expertos; sin embargo, para el caso de sistemas complejos las reglas así construidas no permitían una simulación aceptable del sistema. La búsqueda de sistemas difusos que aproximen de manera aceptable la dinámica de sistemas complejos ha conllevado al desarrollo de investigación en técnicas de extracción de reglas difusas a partir de datos de entrada y salida; es decir, al desarrollo de técnicas de identificación difusa. Sin embargo, estas técnicas de identificación deben generar modelos difusos que cumplan con dos características fundamentales: una acertada precisión, lo cual se puede determinar mediante una métrica del error; y una buena interpretabilidad para que el sistema difuso resultante se asemeje a la forma como el ser humano toma decisiones. La interpretabilidad requiere de, al menos, un número no muy alto de reglas, preferiblemente no mayor a nueve; no solapamiento de más de dos funciones de pertenencia.

Una de las tareas frecuentes en el área de reconocimiento de patrones, estadística aplicada y minería de datos, consiste en aplicar algoritmos de agrupamiento en el tratamiento de datos, con el fin de obtener características relevantes o reconocer patrones. En general, por patrones se designa alguna representación abstracta de un conjunto de datos. Desde un punto de vista abstracto, el problema del análisis de agrupamiento se define frecuentemente como el de encontrar “grupos naturales”. El agrupamiento es el proceso de asignar un ítem, un individuo, un objeto, o una observación a su lugar propio, es decir, al lugar natural que debe ocupar. En un sentido más concreto, el objetivo es reunir un conjunto de objetos en clases tales que el grado de “asociación natural” para cada individuo es alto con los miembros de su misma clase y bajo con los miembros de las otras clases. Lo esencial del análisis de agrupamiento se enfoca entonces a cómo asignar un significado a los términos “grupos naturales” y “asociación natural”, donde “natural” usualmente se refiere a estructuras homogéneas y “bien separadas”.

Los métodos de agrupamiento poseen en su gran mayoría la limitación de utilizar objetos evaluados en un momento determinado del tiempo. Se supone que no se agregan nuevas variables a las que ya definen o caracterizan un individuo u objeto, dado que el ingreso de éstas puede mejorar el poder de separación entre dos clases. Ahora, en general, ocurre que estos algoritmos no pueden agregar nuevas evaluaciones, actualizaciones o el ingreso de nuevos individuos, para generar nuevamente las clases o “grupos naturales” utilizando las clases ya construidas. Se tiene que para la gran mayoría de los algoritmos de agrupamiento, una vez realizada la tarea de agrupar los individuos u objetos, no son capaces de agregar o actualizar los objetos para generar una nueva estructura de clases a partir de la estructura ya conocida, luego se tiene que los algoritmos de agrupamiento no permiten regenerar el agrupamiento a lo largo de distintos momentos o períodos de tiempo donde se produzcan actualizaciones o se incorporen nuevos objetos.

De lo anterior, se entiende que un algoritmo de agrupamiento tiene carácter estático por el hecho que sólo puede aplicarse sobre objetos evaluados para un momento determinado del tiempo, sin incorporar de alguna forma en su estructura algorítmica las actualizaciones o el ingreso de nuevos objetos. En contraste, un algoritmo de agrupamiento, es dinámico si es capaz de agregar actualizaciones o ingresos de nuevos objetos para redefinir los “grupos naturales” o clases, usando como entrada la información conocida, que incluye como solución básica, reutilizar la estructura conocida de clases. La importancia de desarrollar algoritmos de agrupamiento de carácter dinámico, proviene del hecho que éstos tienen la capacidad para enfrentar situaciones derivadas de actualizaciones o agregación de nuevos objetos, y segundo que pueden reutilizar las estructuras de clases y la información conocida en el pasado.

El agrupamiento difuso, también llamado “Clustering”, es una metodología, que permite la partición del universo de discurso en diferentes grupos; el propósito de este agrupamiento es identificar los “grupos naturales” de datos a lo largo de un historial de datos, donde este grupo de datos debe representar fielmente el comportamiento del sistema. Desde un punto de vista formal, la tarea de un procedimiento de agrupar es asignar los individuos u objetos de un conjunto de elementos a varios subconjuntos, denominados clases o grupos. Cada uno de esos subconjuntos es representado por un prototipo y se calcula para el caso de agrupamiento con lógica difusa el grado de pertenencia del objeto al grupo. La partición del conjunto inicial debe cumplir las siguientes propiedades: (a) Los individuos u objetos similares deben ser incluidos en clases o grupos similares, esta propiedad se denomina homogeneidad. (b) Individuos u objetos diferentes deben ser separados en clases o grupos diferentes, esta propiedad se denomina heterogeneidad. Entre los métodos para agrupar se encuentra los métodos clásicos de la estadística, como el método c-medias o jerarquizados, y otros desarrollados en las áreas de la inteligencia artificial, como las redes neuronales, el aprendizaje de máquina, y los métodos de agrupamiento difuso.

Los algoritmos de agrupamiento difuso representan la técnica más adecuada para la obtención de modelos difusos, siendo los métodos de c-medias difusas y de Gustafson- Kessel los más empleados. Se han realizado diversas variaciones a estos algoritmos de agrupamiento. Los investigadores Nauck y Kruse proponen técnicas de agrupamiento neurodifusas; Espinosa y Vandewalle presentan una metodología para extraer reglas a partir de los datos en un marco de integridad lingüística incluyendo algoritmos de fusión para agrupar conjuntos cuyos valores modales estén a una distancia muy cercana. Sala introduce una novedosa técnica basada en el error de inferencia para aproximar funciones empleando partición suma con conjuntos triangulares; Diez y sus coloegas proponen variaciones a los algoritmos de agrupamiento para mejorar la interpretabilidad y descubrir estructuras afines locales en los modelos difusos obtenidos. Paiva y Dourado presentan un modelo generado por medio del entrenamiento de una red neuronal difusa implementado en dos fases: en la primera fase, se obtiene la estructura del modelo empleando un algoritmo de agrupamiento substractivo, lo cual permite extraer las reglas a partir de datos de entrada y salida; en la segunda fase se realiza la sintonización de los parámetros del modelo mediante una red neuronal que emplea el algoritmo de retropropagación. Guillaume y Charnomordic proponen una estrategia para generar particiones difusas interpretables a partir de los datos mediante una metodología, que denominan partición jerárquica difusa, en la que, en vez de incorporar datos en cada iteración, agrega conjuntos difusos. También presentan un algoritmo de fusión de los conjuntos difusos basado en métricas adecuadas que garanticen la interpretabilidad semántica. Joo y Lee proponen un aproximador universal para cualquier función continua en un conjunto compacto empleando un sistema difuso jerárquico en el que las salidas de las capas previas no se usan en las partes del antecedente de la reglas difusas sino en las partes del consecuente.

Cuando los datos de entrada-salida están disponibles a priori, el agrupamiento difuso es una técnica que puede ser utilizada para la identificación de la estructura. Por una parte se propone un planteamiento intuitivo para la generación de reglas difusas, el cual está basado en el agrupamiento de datos de entrada salida; ésta es una idea simple y aplicable especialmente para sistemas con un gran número de variables de entrada. Por otra parte, se considera que la esencia del método para la identificación de la estructura está en el agrupamiento y la proyección. En ambos planteamientos, el espacio de salida es particionado utilizando un algoritmo de agrupamiento difuso, partición que puede ser siempre considerada como un espacio de una dimensión en el modelo difuso. Luego las particiones o grupos son proyectados dentro del espacio de cada una de las variables de entrada. La partición de salida y su correspondiente partición de entrada son las consecuencias y antecedentes de las reglas difusas respectivamente.

Una de las aplicaciones de agrupamiento es el reconocimiento de patrones, que identifica características concretas o abstractas de un conjunto de individuos u objetos. Para ser clasificados, los individuos u objetos necesitan que existan clases y que estas sean identificadas. Cuando no se conoce a priori las clases, se pueden obtener mediante la ejecución de un algoritmo de agrupamiento. El número de patrones es determinado en referencia a la aplicación particular. Por ejemplo, considérese el problema de reconocer las letras del alfabeto, que define un problema de 26 clases. En otros problemas, por ejemplo el caso de segmentación de clientes de un banco, el número exacto de clases puede no ser conocido inicialmente, y puede ser determinado desde la observación de muchos datos para obtener patrones representativos. Entonces cuando se tiene explicito el número de clases se utiliza algoritmos de agrupamiento, como el algoritmo c-medias por ejemplo. Si se desconoce el número de clases es necesario descubrir dicha cantidad antes de proceder al agrupamiento, esto es conocido como el problema de clases válidas.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Agosto 30 de 2010