1 Seminario MÉTODOS PARA OBTENER CLASIFICADORES UTILIZANDO PROGRAMACIÓN GENÉTICA Título
2 Índice Introducción Algoritmos Evolutivos (A.E.) y Programación Genética (P.G). Programación Genética (P.G.). Clasificación. Reetiquetado de BD. Clustering previo Aplicación Clasificación P.G. a B.D. UCI. Conclusiones
3 Planteamiento Introducción Planteamiento Objetivo (Knowledge Discovery in Databases) Extracción de Conocimiento en Bases de Datos (Data Mining) Minería de Datos Clasificadores A.E. y Programación Genética Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Es un problema relevante que aún no ha sido resuelto con claridad en la literatura
4 Objetivo Contribuir con nuevos métodos y herramientas en el campo del Aprendizaje Automático (DM (Minería de Datos)). Introducción Planteamiento Objetivo En Aprendizaje Supervisado 22... 34 23 36 AnAn A...55306... B 1024431 B...753611 A...122315 CLASE...A3A3 A2A2 A1A1 Métodos de Clasificación mediante la aplicación de Programación Genética A.E. y Programación Genética Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones
5 Objetivo Aplicación de Métodos de Clustering para reetiquetado de la Base de Datos (S-NN) A1A1 A2A2 A3A3...AnAn CLASE 152312...36 O 113675...23 X 3144102...34 O... 63055...22 X Introducción Planteamiento Objetivo Mejora del proceso de búsqueda x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x A1A1 A2A2 A3A3...AnAn CLASE 152312...36 O 113675...23 X 3144102...34 Y... 63055...22 X A.E. y Programación Genética Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones
6 Algoritmos Evolutivos A.E. y Programación Genética Definición : Un Algoritmo Evolutivo es un método sistemático para la resolución de problemas de búsqueda y optimización que hace uso de los principios de la evolución de las especies: selección, reproducción y mutación A.E. y P.G. Definiciones Ejemplo Introducción Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Objetivo: El objetivo del Algoritmo es alcanzar la mejor solución para el problema abordado, mediante la evolución de poblaciones codificadas como posibles soluciones para ese problema ConceptoDescripción Cromosoma o IndividuoEstructura que representa una solución al problema GenCada parte con información relevante en un individuo PoblaciónConjunto de individuos que son analizados GeneraciónCiclo evolutivo de una generación a otra SelecciónProcedimiento para la elección de individuos CruceProcedimiento para la recombinación de individuos MutaciónProcedimiento para la alteración de individuos
7 Programación Genética Definiciones A.E. y P.G. Definiciones Ejemplo Introducción Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones En 1989 J.R. Koza introduce el paradigma de la Programación Genética. Definición: La programación genética (PG) es una técnica de Aprendizaje Automático que se basa en la evolución de programas de ordenador mediante un Algoritmo Genético o Evolutivo. P.G. y A.E.: La diferencia principal es la representación de los individuos de la población => se emplean estructuras jerárquicas que permitan soportar la adaptación, donde su tamaño, forma y complejidad pueda variar de forma dinámica durante el proceso. Este es el caso de los árboles, estructura perfectamente válida para el uso dentro de la Programación Genética Las funciones de Adaptación, así como las operaciones de selección, cruce y mutación deben rediseñarse acordes a la representación empleada
8 Definiciones A.E. y P.G. Definiciones Ejemplo Introducción Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones F = {f 1,f 2,...,f Nf } Estructuras posibles en el Paradigma de la Programación Genética: La representación de programas en forma de árboles de expresión se basa en la existencia de una gramática libre de contexto que define las sentencias válidas del lenguaje T={a 1,a 2,...a Nt } z(f) Argumentos b 1,b 2,…b z(f)
9 Ejemplo A.E. y P.G. Definiciones Ejemplo Introducción Programación Genética. Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones F={+, *, \, -} T={X 1,X 2,X 3 } El espacio de búsqueda para el paradigma de la P.G. es el hiperespacio de los árboles válidos que pueden ser creados recursivamente por composición de las funciones y terminales posibles para el problema. T y F deben ser elegidos para satisfacer los requerimientos de la clausura y suficiencia El usuario del paradigma de la P.G. debe conocer o creer que alguna composición de las funciones y terminales puede producir una solución al problema Individuo de la Población Representa Ejemplo
10 P.G.- Clasificación A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control OBJETIVO Obtención de clasificadores mediante el uso de la P.G., centrando el ámbito del problema en B.D. Etiquetadas (Aprendizaje Supervisado) B.D. de N puntos en un espacio R n, donde los puntos pertenecen a una de dos clases {A,B}=> Se desea obtener una superficie de codimensión 1 que separe en dos subespacios el espacio , conteniendo cada uno de ellos a una de las clases InstanciasXYClase I1I1 3 2 A I2I2 42A I3I3 43A I4I4 53A I5I5 62A I6I6 23B I7I7 34B
11 P.G.- Clasificación. Idea A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control Regresión Paramétrica (R.P.): Conociendo las coord. de los puntos y el valor que alcanza la función para ellos, trata de aproximar dicha función. ¿Cómo lograrlo? Reetiquetando, a través de una función , las clases {A,B} con valores positivos y negativos 22... 34 23 36 AnAn 100...55306... -100...1024431 -100...753611 100...122315 CLASE...A3A3 A2A2 A1A1 La Regresión Paramétrica proporcionará una función (superficie) contínua que toma valores positivos para una clase, negativos para otra “Modificamos el objetivo de la Regresión Paramétrica, para que permita obtener una función que clasifique” ¿Cómo Desarrollamos la Regresión Paramétrica? Programación Genética
12 Ámbito de Aplicación A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control Bases de Datos Etiquetadas Atributos Continuos o Discretos (proceso de numeración) No se plantea tratar las tuplas o puntos incompletos (con falta de información) Bases de Datos con M clases. Clasificar 3 clases [A,B,C] se realizará clasificando [A] frente a [B,C] y después clasificando [B] frente a [C] (otras opciones: One Vs Rest o Pairwise Classification(un clasificador por cada par de clases)). B F1F1 A F2F2 C
13 Algoritmo A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control Carga datos Base de Datos Seleccionar datos Entrenamiento y Test Etiquetar Puntos Iniciar población Calcular Bondad Para cada generación Inicio Selecciona Mejor Selecciona Mejores Genera Cruces Establecer Nueva población Calcular Bondad Fin Selecciona Mejor Aplicar Clasificador a Test Entrada: Una Base de Datos Salida: Un Clasificador
14 Representación de los individuos A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control F={+, *, \, -} T={X 0,X 1,X 2,…. X N }, con X 0,X 1,X 2,…. X N Coord. espacio N dimensional a clasificar Representación en árbol, donde en terminales figurarán sólo operandos, siendo los nodos interiores operadores...(2*i)+12*i...i Raíz Nodos Hijos
15 Población Inicial A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control Limitada a una cantidad máxima de individuos (TAMPOB) Cada árbol (individuo) se realiza a través de la obtención aleatoria de un árbol enraizado con los nodos etiquetados (1º se selecciona una de las funciones f de F (raíz), dado que no se quiere una estructura degenerada compuesta solamente de un único terminal). Se define una altura máxima (ALTMAX), que también estará presente en las generaciones posteriores. Se aplica el método llamado "half- ramping“=> árboles de varias tamaños y formas, pero igual número de árboles completos que de árboles no completos
16 Función de Bondad o Evaluación A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control Paso Previo: ¿ cómo definir el valor que se asigna a cada instancia de la base de datos ( ), en base a la pertenencia a una de las clases? Modalidad 1: Si P es un punto de la región A, se define para P como el valor constante de K. -K Para los puntos B, siendo K un valor a estudiar Modalidad 2: Si P es un punto de la región A, se calculan los Nv puntos Vj j=1...Nv más cercanos a P, pero con la condición de ser de B. Se asigna a P el valor de la distancia media de los puntos Vj a P. Análogo para B pero donde el valor se asigna negativo Ai valor del árbol para el punto i. i valor de función para el punto i Eci (¿i está mal clasificado?) 0 si Pi región de A y fh (Pi) >0 0 si Pi región de B y fh (Pi)
17 Función de Bondad o Evaluación A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control La bondad de un individuo (árbol) es mayor contra menor sea el error que comete. Por ello, una buena función de ajuste podría ser inversamente proporcional a la media de los errores de los individuos de una generación Eci (¿i está mal clasificado?) 0 si Pi región de A y fh (Pi) >0 0 si Pi región de B y fh (Pi)
18 Generación de poblaciones posteriores Se duplica el mejor individuo de la generación actual Un % fijo de la nueva generación se obtiene mediante réplicas de los individuos de la generación precedente, escogidos aleatoriamente con una probabilidad en función de su bondad. Los restantes individuos se obtienen mediante cruces entre los individuos de la generación precedente, seleccionados o escogidos igualmente en función de su bondad. Las mutaciones (alteración de los individuos) se puede implementar como si de un cruce se tratara (cruce en nodo terminal). La altura máxima es mayor que la definida en la población inicial. Los cruces que superen la altura máxima, serán desechados. A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control
19 Parámetros de Control Tamaño de la población Altura de los árboles La función de error empleada en el proceso de búsqueda En el caso de asignación de valores de como distancias, el Nº de puntos vecinos, usados para el cálculo de la distancia media. En el caso de etiquetado con valores constantes, la determinación de ese valor constante (K). Número de generaciones. Altura de la población inicial (N unidades menor que la altura máxima o bien fijar la altura inicial a un valor constante A) Otros parámetros de control: % de mejores que pasan de una generación a otra, probabilidad de realizar cruce en nodo interior. A.E. y P.G. Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones Introducción Programación Genética (P.G.). Clasificación Idea Ámbito de Aplicación Algoritmo Representación de los individuos Población inicial Función de evaluación Generación de Poblaciones Posteriores Parámetros de Control Parámetros de control principales, que condicionan el proceso de búsqueda:
20 Reetiquetado BD. Clustering Previo Análisis de Clusters, para mejora del proceso de clasificación El análisis de clusters antecede al esq. gen. de funcionamiento (Algoritmo) expuesto. Es un tratamiento previo de la información S-NN (Similar Nearest Neighbor) : Técnica de clustering sobre aprendizaje supervisado. La construcción de clusters está guiada por la agrupación de puntos que tienen un conjunto de puntos vecinos similar o muy parecidos. En esencia el proceso de agrupamiento finaliza cuando los puntos más cercanos de los grupos o clusters formados son puntos de otra clase o etiqueta (Enemigos) Identificar posibles clusters, de modo que permitan, a partir de un fichero con M1 clases, poder trabajar con un fichero con M2 clases (siendo M2 >= M1), Una clase C podría reetiquetarse como diferentes subclases [C1,C2,..Ci], como consecuencia de poder determinar i clusters para dicha clase Identificar posibles clusters, de modo que permitan, a partir de un fichero con M1 clases, poder trabajar con un fichero con M2 clases (siendo M2 >= M1), Una clase C podría reetiquetarse como diferentes subclases [C1,C2,..Ci], como consecuencia de poder determinar i clusters para dicha clase Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Aplic. P.G. A B.D. UCI Conclusiones Reetiquetado BD. Clustering Previo S-NN Análisis de Clusters
21 S-NN El enemigo de una instancia e de una base de datos, es el vecino más cercano a dicha instancia e que tiene una clase o etiqueta diferente que la de e. Se define la vecindad de una instancia e (Ns) como el conjunto de instancias o puntos más cercanos a e que al enemigo de e. Se define la vecindad de un cluster C (Nc) como el conjunto formado por todas las vecindades de las instancias incluidas en el cluster C. Dos Clusters C1 y C2 son vecinos si la vecindad del cluster C1 es igual a la vecindad de C2 Un conjunto reducido de clusters RSC es un subconjunto de los clusters del conjunto original de clusters, donde cualesquiera dos clusters que tomemos no son vecinos, es decir, donde los clusters vecinos han sido reducidos Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Aplic. P.G. A B.D. UCI Conclusiones Reetiquetado BD. Clustering Previo S-NN Análisis de Clusters
22 Análisis de Clusters En todos los casos no será aplicable el clustering previo, pues puede que el Nº de cluster que genere sea excesivo y añada mayor dificultad y menor eficiencia al proceso de clasificación Distintas estrategias para relajar el criterio de reducción del S-NN, tratando de reducir el número de cluster a obtener Reducir dos clusters C1 y C2 en uno sólo, si los vecinos de C1 son un subconjunto de C2 (o viceversa). Reducir dos clusters C1 y C2 en uno sólo, si la intersección de los vecinos de C1 con C2 no es vacía. Establecer el criterio de frontera de un cluster no a un solo enemigo, sino a un valor de N enemigos, con N a estudiar. Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Aplic. P.G. A B.D. UCI Conclusiones Reetiquetado BD. Clustering Previo S-NN Análisis de Clusters
23 Análisis de Clusters Tratamiento de Outliers Unir dichos clusters al cluster más cercano (distancia entre centroides de los clusters). Considerar como outliers. Se “excluyen” de la B.D. (Editado), pero finalizado el proceso de aprendizaje se consideran para evaluar la bondad Un cluster con un Nº de puntos poco significativo, no aporta ventajas al problema de clasificación, sino ruido o errores al mismo Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Aplic. P.G. A B.D. UCI Conclusiones Reetiquetado BD. Clustering Previo S-NN Análisis de Clusters
24 Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Conclusiones Introducción Análisis de Parámetros de Control Resumen de Resultados Aplic. P.G. A B.D. UCI Aplicación Clasificación P.G. a B.D. UCI Nombre B.D.Nº PuntosDimensiónALTMAXTAMPOBErrorPuntosAlt. Ini.Tasa Error Breast-cancer-wisconsin6991061504143,38 Credit69015720010413,54 Echocardiogram1321272003540,00 Hayes-roth13251040031434,62 Hepatitis15519915010426,25 Ionosphere35134715031412,86 Iris15047 1043,33 liver-disorders34561020010429,12 Mifichero100461502041,00 Mifichero2100881503169,00 monks-1432681503549,53 monks-24326820010632,33 monks-3432681503545,58 New-thyroid215582004542,72 Mushroom8.1242282004142,27 Pima-indians-diabetes7688820041630,39 Sonar208601020035427,62 tic-tac-toe95891015041830,83 Votes4351672004154,35 Wdbc5693082004564,74 Wpbc19833715020522,10 Los resultados de aplicar P.G. a B.D. del UCI Repository [Blake98] y ficheros ex profeso son en general satisfactorios
25 Análisis de Parámetros de Control Función de Error. La mejor función de etiquetado () es la que asigna a las instancias de la B.D. el valor en base a la distancia media con respecto a las instancias de la otra clase. Altura Máxima y Tamaño de la población Valores de tamaño de población (>=150) así como altura máxima (>=6) son suficientes para disponer de variedad genética así como de poder adoptar expresiones complejas Un Número de generaciones mayor de 200 no proporciona mejoras significativas. Fijando la altura de la población inicial a un valor significativamente menor que la altura máxima en el resto de generaciones, permite evolucionar más a los árboles o funciones Número de Generaciones y Altura Inicial Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Conclusiones Aplic. P.G. A B.D. UCI Introduccion Análisis de Parámetros de Control Resumen de Resultados
26 Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Conclusiones Aplic. P.G. A B.D. UCI Resumen Resultados Ficheros Ex-profeso Dado que el clasificador de P.G. proporciona una función continua f de R n ->R, con ficheros ex profeso obtenidos a partir de funciones contínuas arroja resultados excelentes Bases de Datos con par á metros continuos Los resultados son satisfactorios en general. La naturaleza de la información de dichas B.D. es afín al planteamiento de clasificación con una función continua, al ser los parámetros continuos Introducción Análisis de Parámetros de Control Resumen de Resultados
27 Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Conclusiones Aplic. P.G. A B.D. UCI Resumen Resultados Base de Datos con par á metros continuos y discretos Los parámetros discretos/nominales para ser tratados con la metodología expuesta, en el tratamiento inicial del fichero se lleva a cabo una asignación y substitución de los valores nominales/discretos por valores enteros asociados (numeración). Los resultados son satisfactorios Ficheros con par á metros discretos Los resultados obtenidos en este tipo de ficheros, donde la información es por completo de carácter discreto no son tan buenos, en tanto no mejoran significativamente los resultados obtenidos por otras herramientas de clasificación Introducción Análisis de Parámetros de Control Resumen de Resultados
28 Resumen Resultados El Tratamiento previo y “reetiquetado” en base a clusters introduce nuevos parámetros de control % de puntos a considerar como Cluster “Menor” o poco significativo Posibilidad de Unir Clusters Menores Considerar “outliers” a Clusters Menores El Tratamiento previo y “reetiquetado” en base a clusters introduce nuevos parámetros de control % de puntos a considerar como Cluster “Menor” o poco significativo Posibilidad de Unir Clusters Menores Considerar “outliers” a Clusters Menores 958 432 345 155 Puntos Parámetros Clustering 4,05 SINO0,30%129,5830,83Tic-tac-toe 5,07 NO 230,6932,33Monsk-2 36,00 NOSI5%220,6932,33Monks-2 3,06 NOSI5%228,2329,12Liver-disorders 9,52 NO 223,7526,25Hepatitis Mejora % Editado Outliers Unir% Cluster menor Nº Enemigos Error P.G. Clustering Error P.G. Base Datos. Las técnicas de clustering aplicadas y esbozadas mejoran el objetivo perseguido de la clasificación en algunos casos, aunque dependen de la naturaleza de la propia B.D., sin obtener conclusiones claras sobre los parámetros de control Análisis que mejoran los resultados previos obtenidos (4/21 B.D.) Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Conclusiones Aplic. P.G. A B.D. UCI Introducción Análisis de Parámetros de Control Resumen de Resultados
29 Conclusiones La metodología expuesta permite obtener clasificadores a través de Programación Genética, constituidos por expresiones complejas (haciendo uso de los atributos o variables del problema y de operadores matemáticos (fundamentalmente aritméticos)), pretendiendo encontrar una mayor eficiencia, a costa de perder claridad o facilidad de interpretación Las funciones clasificadoras obtenidas son contínuas. No obstante, en aquellos casos donde la información no sea continua, sino discreta, se logra ampliar el ámbito de aplicación de este tipo de técnicas de clasificación gracias a la numeración de los valores de entrada. Los resultados obtenidos son, en general, satisfactorios. Se presenta el problema del tiempo de computo, propio de todo proceso evolutivo Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones
30 Conclusiones. Tendencias - Mejoras Profundizar en un mejor ajuste de los parámetros de control, que influyen en la búsqueda del clasificador Abordar problemas del tipo: Si A > 4 y B = C -> clase X, Si A > 10 y B Clase B. Además de la clasificación se tendría por objetivo definir una gramática que facilitaría la labor del experto en la interpretación de los resultados El resultado obtenido dejaría de ser una función o superficie clasificadora, proporcionándose un árbol de decisión como solución Aplicación de un procesamiento paralelo. Una primera idea sería su aplicación en Base de Datos con más de dos clases, Trabajando de forma paralela cada uno de los subproblemas de clasificación entre dos clases Facilitar la interpretación de la función/funciones clasificadoras obtenidas: Ponderar, en la función de bondad, la simplicidad de las soluciones evaluadas así como edición de la solución aportada Introducción A.E. y P.G. Programación Genética (P.G.). Clasificación Reetiquetado BD. Clustering Previo Aplic. P.G. A B.D. UCI Conclusiones
31 Bibliografía Koza, J.R. (1992): “Genetic Programming: On the Programming of Computers By the Means of Natural Selection”, MIT Pres, Cambridge, Mass Goldberg, D.E., “ Genetic Algorithms, in Search Optimization & Machine Learning ”. Addison Wesley. John R. Koza, Martin A. Keane, Matthew J. Streeter, William Mydlowec, Jessen Yu, and Guido Lanza (2004): “ Genetic Programming IV: Routine Human- Competitive Machine Intelligence ”, Kluwer Academic Publishers