pfc ivan monteagudo garcia

89
Universidad Carlos III de Madrid Escuela Polit ´ ecnica Superior Proyecto Fin de Carrera ecnicas mono y multiobjetivo para la evoluci´ on de transformaciones lineales en problemas de clasificaci´ on Autor: Iv´ an Monteagudo Garc´ ıa Tutores: Ricardo Aler Mur Jos´ e Mar´ ıa Valls Ferr´ an

Upload: aquilescanto

Post on 03-Jul-2015

60 views

Category:

Documents


0 download

TRANSCRIPT

Universidad Carlos III de Madrid Escuela Politecnica SuperiorProyecto Fin de Carrera

Tcnicas mono y multiobjetivo para la e evolucin de transformaciones lineales en o problemas de clasicacin o

Autor: Ivan Monteagudo Garc a

Tutores: Ricardo Aler Mur Jose Mar Valls Ferran a

Indice general1. Introduccin o 2. Contexto 2.1. Algoritmos de Clasicacin . . . . . . . . . . . . . . . . . . . o 2.1.1. K-Vecinos . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Optimizacin de distancias . . . . . . . . . . . . . . . . . . . o 2.2.1. Adaptacin de la distancia . . . . . . . . . . . . . . . o 2.2.2. Transformacin de los datos . . . . . . . . . . . . . . . o 2.2.3. Conclusin . . . . . . . . . . . . . . . . . . . . . . . . o 2.3. Computacin Evolutiva . . . . . . . . . . . . . . . . . . . . . o 2.3.1. CMA-ES . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2. Evolucin Multiobjetivo : NSGA-II . . . . . . . . . . . o 2.4. Opciones de Implementacin . . . . . . . . . . . . . . . . . . o 2.4.1. Entornos Matemticos . . . . . . . . . . . . . . . . . . a 2.4.2. Desarrollo completo . . . . . . . . . . . . . . . . . . . 3. Objetivos 4. Desarrollo i 1 3 3 3 8 8 9 12 12 16 17 20 21 22 25 27

ii

INDICE GENERAL 4.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Diseo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . n 4.3. Implementacin . . . . . . . . . . . . . . . . . . . . . . . . . . o 4.4. Validacin Cruzada: Necesidad y Mtodo . . . . . . . . . . . o e 27 28 30 32 35 35 39 41 44 57 61 61 63 65 67 71 71 71 72 72 73 75

5. Experimentacin o 5.1. Primeros Experimentos . . . . . . . . . . . . . . . . . . . . . 5.2. Optimizando los parmetros de CMA-ES . . . . . . . . . . . a 5.3. Evolucin con tness Ponderada . . . . . . . . . . . . . . . . o 5.4. Evolucin Multiobjetivo . . . . . . . . . . . . . . . . . . . . . o 5.5. Pruebas nales . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Conclusiones 6.1. Resumen del Proyecto y Conclusiones . . . . . . . . . . . . . 6.2. Consecucin de Objetivos . . . . . . . . . . . . . . . . . . . . o 7. L neas Futuras Bibliograf a A. Manual del Programa A.1. Manual de usuario . . . . . . . . . . . . . . . . . . . . . . . . A.1.1. Uso del programa . . . . . . . . . . . . . . . . . . . . . A.1.2. Ficheros de entrada . . . . . . . . . . . . . . . . . . . A.1.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . A.2. Manual de desarrollo . . . . . . . . . . . . . . . . . . . . . . . A.3. Contenidos del CD . . . . . . . . . . . . . . . . . . . . . . . .

INDICE GENERAL B. Planicacin y Presupuesto o B.1. Planicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . o B.2. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii 77 77 78

iv

INDICE GENERAL

Indice de tablas5.1. Resultados Iniciales . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Resultados de Optimizacin de CMA-ES . . . . . . . . . . . . o 5.3. Resultados del Mtodo H e brido . . . . . . . . . . . . . . . . . 37 40 41

5.4. Resultados del mtodo ponderado para Aleatorio (Clasicacin) 42 e o 5.5. Resultados del mtodo ponderado para Aleatorio (Ceros) . . e 5.6. Resultados del mtodo ponderado para Wine (Clasicacin) . e o 43 43

5.7. Resultados del mtodo ponderado para Rectas45 (Clasicacin) 44 e o 5.8. Resultados evolucionando el umbral . . . . . . . . . . . . . . 5.9. Resultados del mtodo multiobjetivo . . . . . . . . . . . . . . e 5.10. Comparacin de mejoras y test de signicacin estad o o stica . . 5.11. Comparacin de los mejores resultados y test de signicacin o o estad stica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 47 58 59

v

vi

INDICE DE TABLAS

Indice de guras2.1. Clasicacin con K-Vecinos(A) . . . . . . . . . . . . . . . . . o 2.2. Clasicacin con K-Vecinos(B) . . . . . . . . . . . . . . . . . o 2.3. Dominio de Ejemplo . . . . . . . . . . . . . . . . . . . . . . . 2.4. Ejemplo de transformacin . . . . . . . . . . . . . . . . . . . o 2.5. Ejemplo de Transformacin 2 . . . . . . . . . . . . . . . . . . o 2.6. Ejemplo de Frente de Pareto . . . . . . . . . . . . . . . . . . 2.7. Ejemplo de frente al que llega una ejecucin de NSGA-II . . . o 4.1. Mdulos de los que consta el programa . . . . . . . . . . . . . o 5.1. Dominio Rectas Rotadas . . . . . . . . . . . . . . . . . . . . . 5.2. Dominio Rectas Rotadas tras la transformacin . . . . . . . . o 5.3. Dominio Aleatorio tras la Transformacin . . . . . . . . . . . o 5.4. Frente para Aleatorio: Maximizar Ceros . . . . . . . . . . . . 5.5. Frente para Aleatorio: Maximizar Desviacin . . . . . . . . . o 5.6. Frente para Wine: Maximizar Desviacin y Minimizar Media o 5.7. Frente 3d para Wine: Minimizar Umbral y Maximizar Ceros . 5.8. Frentes 2d para Wine: Minimizar Umbral y Maximizar Ceros vii 4 5 8 11 11 19 20 29 37 38 46 49 50 51 52 53

viii

INDICE DE FIGURAS

5.9. Frente 3d para Rectas Rotadas: Minimizar Umbral y Maximizar Ceros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10. Frente para Aleatorio: Maximizar Ceros Fuera de la Diagonal B.1. Planicacin del Proyecto . . . . . . . . . . . . . . . . . . . . o

54 55 78

Cap tulo 1

Introduccin oLa clasicacin automatizada es un campo en el que existe una gran dio versidad de soluciones, tanto basadas en robustos planteamientos matemtia cos como combinaciones de tcnicas estad e sticas o aquellas con menos trasfondo terico y desarrolladas unicamente teniendo en cuenta sus resultados. o Una de las tcnicas de clasicacin ms sencillas y conocidas es Ke o a Vecinos, que se basa en calcular la similitud de lo que se quiere clasicar con una base de ejemplos conocidos. La mayor ventaja de esto es que la probabilidad de xito del clasicador aumenta con el nmero de ejemplos. Existe, e u sin embargo, una limitacin en cuanto a los tipos de elementos con los que o este tipo de clasicadores funcionan correctamente, es decir, hay mbitos o a dominios, aparentemente simples en muchos casos, en los que estas tcnicas e no clasican correctamente los elementos. Hay varios motivos para esto, uno de ellos es que los datos no se distribuyan de una forma organizada, es decir, que los mtodos ms comunes de calcular las diferencias entre elementos no e a produzcan resultados signicativos en el sentido de diferenciar unas clases de otras. Una solucin para este problema es encontrar una manera sistemtica o a de distribuir los datos (tanto los conocidos como los nuevos que se quieran clasicar) para que, con un clculo estndar de las diferencias -distanciasa a s se obtenga informacin able sobre la pertenencia de un elemento a una o clase. Con esto, el problema deriva en encontrar la forma de distribuir los datos. Sin un anlisis matemtico y estad a a stico del dominio lo que queda 1

2

CAP ITULO 1. INTRODUCCION

es la bsqueda entre las posibles distribuciones que, an reducindolas a u u e un nmero nito, resultar inabarcable si se quisieran comprobar todas de u a forma sistemtica. a El problema de buscar entre un conjunto de soluciones sin poder comprobarlas todas es muy comn en informtica, y se han ideado y desarrollado u a multitud de tcnicas -heur e sticas- para afrontarlo. Las tcnicas evolutivas, e basadas con diferentes niveles de detalle en la evolucin natural, han moso trado ser un mecanismo excelente para trabajar con este tipo de problemas, en los que la unica informacin que se dispone es la forma que tienen la o soluciones y cmo juzgarlas. o Un argumento en contra de las tcnicas evolutivas es que, al tener en e cuenta unicamente la forma de calcular la solucin como argumento a la o hora de elegir una solucin u otra, se debe codicar en ste clculo todo lo o e a que se quiera obtener de la solucin nal; si, por ejemplo, adems de querer o a la mejor clasicacin posible, queremos que sea de entre las mejores la ms o a sencilla, tendremos que codicar en el clculo que juzga la solucin lo que a o entendemos por sencillez. Esto ya es de por s bastante complicado, pero adems tendr que cons a a truirse un mtodo para decidir qu es ms importante de entre las razones e e a para elegir una solucin u otra -objetivos-, estableciendo una escala de prioo ridades entre ellas. De nuevo, al ser ste un problema bastante comn, existen una serie de e u algoritmos que lo tienen en cuenta y permiten buscar, de entre todas las soluciones, las que mejor cumplen los objetivos y elegir la que mantenga el balance deseado entre todos ellos. Unicando todas estas ideas, este proyecto trata sobre la construccin de o un clasicador con K-Vecinos mejorado aplicando transformaciones lineales a los datos del dominio de clasicacin. Estas transformaciones se repreo sentan mediante matrices obtenidas a partir de tcnicas evolutivas mono y e multiobjetivo, as como su evaluacin mediante diversas bater de pruebas, o as comparndolo con mtodos ms simples. a e a

Cap tulo 2

Contexto2.1. Algoritmos de Clasicacin o

Los algoritmos de clasicacin[1] son tcnicas que permiten identicar la o e pertenencia de un elemento instancia con unas determinadas caracter sticas atributos a un grupo clase de forma automtica. a Generalmente se suelen dividir las tcnicas de clasicacin en dos grandes e o grupos: Clasicacin supervisada: Se conocen los grupos a los que puede pero tenecer una instancia y es posible determinar si la clasicacin es coo rrecta o no. v.g. K-Medias, K-Vecinos, Redes Neuronales[2]. Clasicacin no supervisada: En este caso no se conocen las clases o en las que se quieren clasicar los datos desde un principio; lo que se busca es encontrar algn tipo de organizacin automtica de los datos, u o a posiblemente para su posterior anlisis. v.g. Mapas autoorganizativos, a EM (Expectation Maximization), K-Medias.

2.1.1.

K-Vecinos

K-Vecinos[3] (en ingls K-NN, K-Nearest Neighbour ) es un algoritmo sue pervisado que se basa en encontrar instancias ya conocidas lo ms parecidas a posible a la que se quiere clasicar. Para ello se calculan las diferencias entre 3

4

CAP ITULO 2. CONTEXTO

Figura 2.1: Clasicacin con K-Vecinos(A). o

los atributos y se determina que la nueva instancia es de la misma clase que la mayor de las conocidas ms parecidas, con K el nmero de ejemplos a a u ms parecidos a tener en cuenta. Esta idea se puede abstraer geomtricaa e mente como posicionar las instancias en un espacio N dimensional (con N el nmero de atributos) y calcular las distancias entre ellas (guras 2.1 y u 2.2). Dependiendo del tipo de atributos se podr utilizar distintas formas an de medir la distancia: Eucl dea La forma ms comn de calcular la distancia. a un

(xi yi )2i=0

(2.1)

Es equivalente a calcular una longitud en un espacio eucl deo, le da la misma importancia a todas las dimensiones sin tener en cuenta posibles diferencias de escala. Eucl dea Generalizadan T (xi yi )Md Md (xi yi )T i=0

(2.2)

2.1. ALGORITMOS DE CLASIFICACION

5

Figura 2.2: Clasicacin con K-Vecinos(B). La distancia d1 al punto o ms cercano de la clase A es menor que la distancia al punto ms cercano a a de la clase b d2 , por lo que el nuevo elemento se clasica como miembro de la clase A.

6

CAP ITULO 2. CONTEXTO En similar a la anterior, pero se introduce el trmino Md Rnn , e llamado Matriz de distancias, que permite adaptar la distancia a cualquier espacio.

Hamming Se utiliza cuando los elementos entre los que se quiere calcular la distancia no estn denidos de forma numrica, o las diferencias a e entre estos valores no son signicativas de la distancia. Calcular esta distancia consiste simplemente en contar el nmero de modicaciones u que deber hacerse en un elemento para convertirlo en otro. Por an ejemplo, entre dos nmeros binarios se calcular el nmero de d u a u gitos distintos: DH (01100101, 10100110) = 4. Mahalanobis [4] DM = (x )T 1 (x ) (2.3)

Se utiliza principalmente cuando los vectores entre los que se calcula la distancia pertenecen a una distribucin conocida, siendo la matriz o de covarianzas. Lo que se consigue es ignorar la escala de los valores. K-Vecinos es un algoritmo que, an siendo sencillo, obtiene unos resulu tados excelentes en muchos dominios, aumentando su ecacia a medida que aumenta el tamao de la base de ejemplos disponibles y se disponen de ejemn plos muy cercanos a todas las nuevas instancias que se quieran clasicar. Sin embargo, si se tiene tambin en cuenta el rendimiento, ste disminuye a mee e dida que aumenta el nmero de ejemplos, ya que se calcula la distancia u desde cada instancia que se quiere clasicar a todos ellos. Este problema se ha intentado aliviar mediante la agrupacin de los ejemplos y la divisin del o o espacio en reas [5], de forma que se calcule la distancia slo a los ejemplos a o del mismo rea y, o bien se ignore el resto, o se calcule con un nivel de graa nularidad menor, teniendo en cuenta grupos de ejemplos en lugar de cada uno por separado. Adems de la idea bsica de clasicar segn los K elementos ms cercaa a u a nos, existen algunas variaciones para adaptar el algoritmo al uso que se le quiera dar. Por ejemplo, se puede dar distinta importancia a los K vecinos segn la distancia a la que se encuentren (los ms cercanos contarn ms, u a a a etc.) o se pueden establecer reglas de desempate si K es par: El punto ms a cercano, un punto aleatorio, etc. Adems, se pueden proporcionar niveles de a conanza, al estilo de la lgica difusa, sobre la pertenencia del individuo a o distintas clases. As en lugar de slo la clase, se obtendr un porcentaje de , o a

2.1. ALGORITMOS DE CLASIFICACION

7

probabilidad de pertenencia a cada una de las posibles clases o un nivel de abilidad de la clase que se indique. A pesar de las ventajas enumeradas y las distintas mejoras o adaptaciones compatibles con K-Vecinos, existen dominios en los que la forma en la que se calcula la distancia entre instancias no permite la correcta clasicacin de los datos, esto puede deberse, entre otros, a los siguientes motivos: o Falta de homogeneidad entre las escalas de los atributos: Si un atributo toma, por ejemplo, valores en [0,1] y otro los toma en [-10000,10000] con la distancia eucl dea que se suele usar por defecto se le dar mucha a ms importancia al segundo atributo. Para arreglar esto debe utilizarse a otra forma de medir la distancia o se deben normalizar los valores de los atributos. Falta de una medida de la importancia de cada atributo. Una variable puede ser notablemente ms importante que otra a la hora de clasicar a un dato, pero para que el algoritmo de clasicacin tenga en cuenta eso to se debe de utilizar algn mecanismo espec u co, modicando la forma de calcular la distancia mediante, por ejemplo, valores ponderados. Dependencias entre atributos. Si un atributo resulta ser una combinacin lineal de otros, puede estar reforzndose la importancia de estos o a en la clasicacin ms de lo debido al incluirlo. o a De forma similar, si se introducen atributos que no aporten informacin util, el ruido que introducen puede resultar desastroso en la o clasicacin, al modicar las distancias aleatoriamente. o Por ejemplo, los individuos del dominio de la gura 2.3 pueden parecer fciles de clasicar a simple vista, sin embargo los puntos estn mucho ms a a a cerca unos de otros en el eje de ordenadas que en el de abscisas, por lo que todas las instancias se clasicar incorrectamente si se utilizase la distancia an eucl dea. Aunque estos problemas se puedan solucionar de una forma u otra, a medida que aumenta el nmero de atributos la tarea se vuelve ms y ms u a a compleja, hasta requerir los datos de un anlisis estad a stico que puede resultar demasiado complejo o costoso dependiendo del caso. Por ello, encontrar formas de generalizar en la medida de lo posible la capacidad de clasicar de K-Vecinos con la m nima necesidad de manipulacin a cuantos ms dominios o a sea posible resulta muy deseable.

8

CAP ITULO 2. CONTEXTO

Figura 2.3: Dominio de Ejemplo. Se puede ver que la distancia entre los puntos en 1 es menor que entre los puntos en 2, aunque estos ultimos sean de la misma clase.

2.2.

Optimizacin de distancias o

Como se ha explicado, muchos de los problemas que se producen con KVecinos para algunos dominios provienen de la forma en la que se calculan las distancias, por esto dos mtodos que pueden ayudar a atajar estos problemas e son la adaptacin automtica de la medida de las distancias al dominio o o a la transformacin de los datos del dominio, de forma que una distancia o estndar obtenga mejores resultados. Los dos mtodos funcionan de forma a e muy similar:

2.2.1.

Adaptacin de la distancia o

Como se vio en la seccin 2.1.1, los algoritmos de clasicacin basados en o o distancias pueden utilizar distintas mtodos para calcular stas y conseguir e e los mejores resultados. Uno de estos mtodos de clculo de distancias es e a la Distancia Eucl dea Generalizada, que utiliza la frmula 2.2 para calcular o las distancias entre individuos La matriz M , llamada matriz de distancias,

2.2. OPTIMIZACION DE DISTANCIAS

9

se especica para poder trabajar con distintos espacios. En su forma ms a comn M es igual a la matriz Identidad In con n el nmero de atributos / u u dimensiones con las que se est trabajando. e

2.2.2.

Transformacin de los datos o

Se entiende por aplicacin o transformacin lineal[6] a una aplicacin f o o o entre dos espacios vectoriales V, W La aplicacin f : V W es lineal si: o 1. f (u + v) = f (u) + f (v), u, v V. 2. f (u) = f (u), u V, K. Es decir, la suma de las transformaciones es igual a la transformacin de o la suma y lo mismo para el producto por un escalar. Una transformacin lineal se puede representar mediante una matriz, o en particular, una transformacin a un espacio con la misma dimensin o o f : Rn Rn se puede realizar como producto de un vector V Rn por una matriz M Rnn . Se puede utilizar entonces una matriz para realizar una transformacin o de un espacio a otro con la misma dimensin. Con todo esto, se pueden o utilizar dicha transformacin lineal sobre el dominio de clasicacin para, o o en lugar de modicar la forma de calcular las distancias, volver a posicionar todos los datos y seguir calculando la distancia eucl dea estndar. La a transformacin de los datos se har mediante la frmula: o a o posicion = M posicion (2.4)

Dependiendo de los valores en M , esta operacin tendr distinto efeco a to sobre posicion, entre ella distintas transformaciones lineales como, por ejemplo: K1 0 0 K2 Escalado Una matriz con la forma . . .. . . . . . 0 0 mensin por el correspondiente valor de K. o 0 0 escala cada di0 Kn

10

CAP ITULO 2. CONTEXTO

Rotacin Dependiendo del espacio en el que se trabaje, se pueden rotar o los datos sobre distintos ejes. En un espacio bidimensional, se pueden rotar los datos un ngulo en direccin opuesta a las agujas del reloj a o cos sen con M = si se multiplica por la izquierda por un sen cos cos sen vector-la; o M = si se multiplica por la derecha con sen cos un vector-columna.

Como ejemplo, para mejorar las posibilidades de xito en la clasicacin e o de un individuo en el dominio de ejemplo (gura 2.3), se puede realizar una rotacin de 45o y despus una compresin sobre el eje de ordenadas. Para o e o que est compresin fuera a la cuarta parte se tendr a o a: = 45o = /4 K1 = 1/4 K2 = 1 Mp = Mrotacion Mescalado Mp = 1/4 0 cos(/4) sen(/4) 0 1 sen(/4) cos(/4) = 1/4cos(/4) sen(/4) 1/4sen(/4) cos(/4)

Con lo que se obtendr la disposicin de los datos mostrada en la gura a o 2.4 O, para comprimir en un slo punto el eje x: o = 45o = /4 K1 = 0 K2 = 1 Mp = 0 sen(/4) 0 cos(/4)

Y el resultado ser el de la gura 2.5, ms simple de clasicar e incluso a a con un coste menor en el clculo de la distancia si se llegara a tener en a cuenta que ya slo se necesita la distancia en el eje y. o

2.2. OPTIMIZACION DE DISTANCIAS

11

Figura 2.4: Ejemplo de transformacin. Dominio de ejemplo tras aplio carle una transformacin consistente en un rotacin y escalado. o o

Figura 2.5: Ejemplo de Transformacin 2.Dominio de ejemplo tras aplio carle una transformacin consistente en un rotacin y escalado que proyecta o o todos los puntos sobre el eje y = 0

12

CAP ITULO 2. CONTEXTO

2.2.3.

Conclusin o

La adaptacin de la funcin de distancias es posiblemente el mtodo ms o o e a exible en un principio, ya que permite por ejemplo el uso de distintas distancias para cada clase de forma ms evidente que con las transformaciones, a mientras que la transformacin de los datos es ms simple y menos costosa o a computacionalmente los datos de ejemplo slo se reposicionan una vez y o ms adelante cuando se quisiera utilizar el clasicador con nuevas instana cias se aplicar la transformacin a cada nuevo dato, mientras que con la a o distancia Eucl dea Generalizada hace ms compleja la operacin que ms se a o a repite, el clculo de la distancia. a Cabe mencionar que los dos mtodos no son exclusivos pero, por su e similitud, combinar los dos no proporcionar una mejora que compensase a la sobrecarga de cmputo. o En cualquier caso, con ambos mtodos se necesita una forma de obtener e la matriz M que mejores resultados proporcione. Si no se dispone de informacin suciente sobre el dominio, o si ste es muy complejo, se requiere o e alguna tcnica que permita obtener dicha matriz de forma automtica. Nos e a encontramos entonces con un problema de bsqueda dentro de un dominio u espec co (el de las matrices de dimensin igual al nmero de atributos del o u problema de clasicacin). Una de las mejores tcnicas para buscar una soo e lucin en un dominio del que no se dispone de suciente informacin ms o o a all de poder comparar una solucin con otra es el uso de Estrategias Evoa o lutivas.

2.3.

Computacin Evolutiva o

El uso de tcnicas computacionales basadas en la naturaleza se podr e a remontar a las neuronas articiales en forma de clulas de Mc Culloche Pitts [7] y posteriormente el perceptron [8], pero las primeras ideas sobre computacin evolutiva se dieron en [9]. o Conviene denir un vocabulario bsico a la hora de hablar de concepa tos de computacin evolutiva, ya que existen una serie de trminos que se o e utilizan continuamente en este campo: Individuo Una solucin al problema que se quiere resolver, ya sea como un o

2.3. COMPUTACION EVOLUTIVA conjunto de datos, fragmento de cdigo, etc. o Poblacin Conjunto de varias soluciones. o Generacin Poblacin en un momento dado del proceso de evolucin. o o o

13

Cromosoma Codicacin del individuo en un formato procesable compuo tacionalmente.Una cadena de d gitos binarios ser un ejemplo muy a comn de cromosoma en este contexto, pero tambin existen otras u e como vectores de nmeros reales (la ms comn en estrategias evoluu a u tivas). Genotipo Dependiendo de la bibliograf puede signicar el cromosoma a, espec co de un individuo o la forma de codicar el cromosoma. Fenotipo Es el signicado del cromosoma en el mundo real. Por ejemplo, una serie de d gitos binarios pueden representar una estatura, un valor de escala, etc. Fitness Tambin llamada adaptacin, valoracin que se hace de un indivie o o duo respecto a su utilidad para resolver el problema sobre el que se est trabajando. a Existe una gran cantidad de mtodos que se podr considerar inspie an rados a distintos niveles en la naturaleza y el concepto de supervivencia y evolucin y combinndolos con ms o menos rigor con conceptos matemtio a a a cos y de estad stica. Se clasican principalmente en los siguientes conjuntos: Algoritmos Genticos [11] Utilizan fundamentalmente en los conceptos e de genotipo y fenotipo para codicar las propiedades de los individuos que se quieren evolucionar. Estrategias Evolutivas [10] En este caso se trata de mejorar el resultado de una evaluacin de un nmero real o un vector de nmeros reales o u u Otros Tcnicas como la Programacin Gentica[12], que trata de evolucioe o e nar un rbol de acciones y operadores en lugar de valores o el concepto a de Swarm Intelligence[13] que trata de obtener resultados mediante el consenso de una gran cantidad de partes sencillas; no se consideran adecuadas para los nes de ste proyecto y por ello no se explican en e detalle.

14

CAP ITULO 2. CONTEXTO

Los Algoritmos Genticos y las Estrategias Evolutivas siguen unos pasos e conceptualmente similares, aunque distintos en la prctica, para obtener sus a objetivos. En ambos casos se comienza generando una poblacin con soluo ciones aleatorias. Estas soluciones se evalan y se seleccionan algunas para u modicarlas, combinarlas y generar nuevas soluciones o individuos mediante los operadores de mutacin y cruce, llamados operadores genticos. Se cono e tina con este proceso hasta llegar a un punto de nalizacin, normalmente u o marcado por la calidad de la solucin. El proceso completo paso a paso ser o a el siguiente: 1. Generacin de la Poblacin. Se generan individuos dentro del conjunto o o de soluciones posibles, bien aleatoriamente o bien mediante alguna heur stica que obtenga individuos variados y con mejores evaluaciones que los aleatorios. 2. Valoracin. Se evala cada individuo mediante una funcin de tness. o u o 3. Seleccin. Se utilizan varios mtodos dependiendo de la implementao e cin: se comparan individuos entre s y se va eligiendo al mejor da cada o grupo (torneos), se eligen aleatoriamente dando ms posibilidades a a los que tengan mejor tness (ruleta); o simplemente se eligen los mejores. Tambin se puede decidir entre tener en cuenta o no individuos e de generaciones anteriores. 4. Mutacin. Para aumentar la velocidad de la evolucin, se introducen o o pequeas modicaciones aleatorias con una baja probabilidad, de forn ma que se ampl ligeramente las dimensiones de la bsqueda.P.ej. en u Invertir el valor de un d gito binario o sumar una pequea cantidad n aleatoria(positiva o negativa) a un nmero real. u 5. Cruce. Se combinan individuos con buenos resultados para aadir el n resultado a la poblacin y as estudiar nuevas zonas del espacio de o bsqueda. De nuevo dependiendo de la codicacin del cromosoma u o existen distintas opciones, desde calcular una media si se trata de nmeros reales, a mezclar fragmentos de los dos individuos si se trata u de cadenas binarias (tomar la primera mitad de uno y la segunda mitad de otro, etc.). 6. Parada. Se pueden introducir diferentes condiciones de parada: Nmeu ro de generaciones, un valor l mite de tness, un cambio m nimo entre

2.3. COMPUTACION EVOLUTIVA

15

el mejor tness de varias generaciones o un nmero de generaciones u sin mejoras en el tness, etc. Si esta condicin no se cumple, se vuelve o a 2. Dos problemas t picos a los que hay que enfrentarse a la hora de construir una solucin basada en una tcnica evolutiva son la sobreadecuacin a un o e o conjunto de ejemplos y los posibles estancamientos de la evolucin. o Sobreadecuacin Se produce cuando, intentando conseguir los mejores o valores posibles de tness, los individuos consiguen resultados sustancialmente mejores para el conjunto de pruebas que se ha usado en la evolucin que para cualquier otro dato. Es decir, a la hora de utilizar o los resultados del evolutivo con datos no conocidos, su ecacia es mucho ms baja que lo que cabr esperar a partir de los resultados de a a entrenamiento. Esta prdida de generalizacin menoscaba la utilidad e o del evolutivo, y tiene varias posibles causas y soluciones. Las causas principales son una seleccin de ejemplos de entrenamiento o que no es representativa del dominio al que se quiere generalizar y un excesivo entrenamiento, con demasiados ciclos de evolucin o generao ciones. Un buen mtodo para evitar este problema es repartir el conjunto e total de datos disponibles en subgrupos generados aleatoriamente y realizar pruebas con cada uno por separado, comparando resultados, utilizando algunos para el entrenamiento y otros para el control de resultados. Una forma de realizar esto es mediante validacin cruzada, o que se explica en la seccin 4.4. o Estancamiento Se produce cuando no se pueden mejorar los resultados, en el mejor de los casos porque se ha llegado al l mite de la tcnica e para el dominio tratado, pero tambin puede suceder por otros motivos e evitables, como la convergencia prematura. Si se da mucha importancia a al valor de evaluacin para la seleccin o o de individuos, de forma que slo se permita reproducirse a los mejores, o puede darse el caso de que aparezca por puro azar un individuo que, sin ser extremadamente bueno en la visin general, s sea notablemeno te superior al resto de la poblacin para una generacin dada. Este o o individuo, a pesar de ser estar lejos del ptimo, siendo posiblemente o un m nimo local de la funcin de tness, bajo estas condiciones ser o a

16

CAP ITULO 2. CONTEXTO elegido por encima de todos los dems y podr acabarse con una gea a neracin formada por individuos iguales. Esta prdida de diversidad o e gentica no podr solucionarse slo con la mutacin y se acabar en e a o o a un estancamiento. La solucin de este problema es compleja y se han diseado diversos o n mtodos para resolverlo o paliarlo, como introducir estocstica en la e a seleccin, de forma que se siga dando preferencia a los mejores pero o existan probabilidades de elegir a los dems tambin, o mantener de a e forma expl cita la diversidad gentica, sustituyendo no a los peores e individuos sino a los ms parecidos a los nuevos en cada generacin. a o

2.3.1.

CMA-ES

Esta tcnica [14, 15, 16]1 , cuyo nombre proviene de Covariance Matrix e Adaptation Evolution Strategy, se basa en generar los individuos a partir de una distribucin normal multidimensional. Para esto se forman generaciones o de individuos, generados aleatoriamente a partir de la distribucin, y se o eligen los mejores. Con ellos y la informacin que se extrae de las anteriores o generaciones se forma una nueva de la siguiente manera: La media de la distribucin normal multidimensional se obtiene como o media ponderada de los valores de los individuos, dando ms peso a a aquellos con los que se obtenga un mejor valor de tness. La construccin del segundo parmetro que dene a una distribucin o a o normal multidimensional, la matriz de covarianzas, es en el que ms a cuidado se ha puesto en CMA-ES, de ah su nombre. Se basa en tres ideas principalmente: Rank- update. No slo se calcula la covarianza de los mejoo res individuos como en el caso de la media, sino que, una vez calculada sta, se calcula una media ponderada con todas las ane teriores, dando mucha importancia a las ultimas generaciones y casi ninguna a las primeras. Rank-one update. Se introduce la idea del paso (step) entre generaciones, como la direccin que siguen las modicaciones de los oUna gu introductoria completa puede encontrarse en http://www.lri.fr/~hansen/ a cmaesintro.html, junto con referencias a los art culos en los que se han denido y renado las distintas partes de CMA-ES.1

2.3. COMPUTACION EVOLUTIVA

17

valores de la matriz entre generaciones, de forma que se favorezca el repetir pasos que hayan proporcionado buenos resultados. Step-size control. El objetivo principal de las dos ideas anteriores es reducir el tamao de la poblacin que se necesita para forn o mar una Matriz de covarianzas que se pueda considerar able a la hora de generar buenos individuos en la siguiente generacin. o El control del tamao se introduce, por otro lado, para reducir n en lo posible el nmero de generaciones necesarias antes de lleu gar a resultados satisfactorios, mientras se evita caer en m nimos locales. La idea es controlar el tamao de los pasos comparando n su tamao con el que tendr si se eligiera un camino aleatorio n an (es decir, en el que no existiera correlacin alguna). Si el camino o es ms corto, es que los pasos son demasiado largos y se produa cen ciclos, si el camino es largo, se estn dando varios pasos en a la misma direccin, cuyo nmero podr reducirse si fueran ms o u a a largos.

2.3.2.

Evolucin Multiobjetivo : NSGA-II o

Una de las partes ms importantes de una tcnica evolutiva es la funcin a e o de validacin o tness, ya que es la que permite comparar unos individuos o con otros y decidir cul est ms cerca del objetivo que se busca. Sin embara a a go, en la mayor de los casos se manejan entornos con mltiples parmetros a u a de entrada y salida a optimizar. Cuando no se tiene un objetivo unico a op timizar, o cuando se quiere encontrar un balance entre varias metas que pueden afectar negativamente unas a otras, el patrn bsico de las tcnicas o a e evolutivas no es suciente y se deben construir soluciones que tengan todo esto en cuenta. Hablamos entonces de tcnicas multiobjetivo. e Un ejemplo de dominio con mltiples objetivos ser la bolsa de valores. u a Una inversin en acciones tiene dos objetivos contrapuestos: maximimizar o el benecio y minimizar el riesgo. Encontrar una cartera de acciones ptima o incluir balancear estos dos objetivos. a Existen diversas aproximaciones a la hora de resolver problemas multiobjetivo, tanto dentro como fuera de las tcnicas evolutivas. Principalmente e se pueden dividir en dos grupos, las que construyen una unica funcin ob o jetivo a partir de las dems (AFO, Aggregate Objective Function) y las que a se basan en explorar el espacio multidimensional que forman los espacios

18

CAP ITULO 2. CONTEXTO

de soluciones de cada objetivo conjuntamente. Por ejemplo, en el consabido problema de la mochila se podr tener dos objetivos: minimizar el peso an total de los objetos que se llevan maximizando la utilidad total; la funcin o agregada podr ser tan simple como, dado un valor numrico la utilidad, a e minimizar el peso total dividido entre la utilidad total, escalando estos totales de forma adecuada a su importancia, explorando despus las soluciones e dentro de unos umbrales (utilidad m nima y peso mximo) adecuados. a Al conjunto de los puntos en los que no se puede mejorar un objetivo sin perjudicar a otro se le denomina Frente de Pareto(gura 2.6). Un buena tcnica de optimizacin multiobjetivo ser aquella que permitiera explorar e o a este frente y elegir la solucin que mejor se ajustase a las necesidades en o cada caso. Los mtodos que construyen una unica funcin objetivo son en teor e o a ms ecientes, pero requieren una mayor adaptacin del mtodo al problema a o e que los que se basan en aproximar y explorar un frente de Pareto. Existen tambin mtodos que combinan ambas ideas, tratando de explorar el frente e e a partir de una funcin objetivo combinada[17]. o NSGA-II, denido en [18], es un algoritmo gentico multiobjetivo elitista, e que se basa principalmente en el concepto de dominacin entre soluciones. o Para que una solucin x1 domine a otra x2 se debe cumplir: o

1. x1 no tiene un valor de tness peor para ninguno de los objetivos denidos.

2. Existe al menos un objetivo para el que x1 obtiene un mejor valor de tness que x2

NSGA-II utiliza esta idea de dominacin para organizar a los individuos o en cada iteracin del algoritmo gentico, de forma que en cada generacin o e o se obtienen los descendientes por cruce, se ordena toda la poblacin por o dominacin y los mejores sobreviven para la siguiente generacin. Cuando o o no se puede seguir mejorando o se activa algn otro mecanismo de parada, u se puede explorar la poblacin resultante(g. 2.7) en busca del individuo que o mejor satisfaga los objetivos.

2.3. COMPUTACION EVOLUTIVA

19

Figura 2.6: Ejemplo de Frente de Pareto. Si el rea gris son las posibles a soluciones y se trata de minimizar dos objetivos, la curva en rojo corresponder al Frente de Pareto. a

Fuente: http://www.mlahanas.de/MOEA/MO_Optimisation.htm

20

CAP ITULO 2. CONTEXTO

Figura 2.7: Ejemplo de frente al que llega una ejecucin de NSGAo II.

2.4.

Opciones de Implementacin o

Para el desarrollo existen tres opciones bsicas : a

1. Sistema ya desarrollado. 2. Unir partes ya desarrolladas. 3. Desarrollo completo.

No existe un sistema que implemente las ideas que se quieren estudiar, aunque s que existen implementaciones de los diferentes algoritmos que se han expuesto, por lo que se pueden disear soluciones basadas en la segunda n y tercera opcin, se han estudiado las que se consideraron ms ventajosas o a por haberse utilizado previamente o ser similares a sistemas conocidas o ampliamente utilizados.

2.4. OPCIONES DE IMPLEMENTACION

21

2.4.1.

Entornos Matemticos a

Existen numerosos sistemas diseados para facilitar todo tipo de trabajos n basados en ramas ms avanzadas del lgebra, clculo, estad a a a stica. . . que las que utilizan normalmente los lenguajes de programacin ms populares. o a MATLAB MATLAB2 (MATrix LABoratory) es un sistema ampliamente utilizado destinado principalmente a los clculos algebricos complejos pero extendido a a a muchos otros dominios mediante el uso de ampliaciones (Toolboxes). Sus principales caracter sticas son: Sistema privativo. MATLAB es un sistema propiedad de Mathworks, con lo que un sistema desarrollado en este entorno requerir seguir a utilizndolo si se quiere extender en un futuro. a Coste. Una licencia de MATLAB para uso acadmico (p.ej. para un e grupo de investigacin) cuesta aproximadamente 500e a fecha de junio o de 2010. A esto habr que sumar 200e por cada Toolbox. Las licencias a de estudiante, por otra parte, cuestan aproximadamente 75e por el programa y 25e por cada Toolbox. Como ya se ha mencionado, se dispone de una gran cantidad de mduo los con funciones ya implementadas, entre ellas algunas de las que se quieren utilizar, como clasicadores como K-Vecinos entre otros, algoritmos genticos, sistemas para automatizar la seleccin de individuos e o para una validacin cruzada y otros muchos. o Bajo rendimiento, o, ms espec a camente, arquitectura orientada a cierto tipo de operaciones que no suelen ser las t picas en programacin. Por ejemplo, las operaciones con matrices estn implementadas o a de forma que sean muy ecientes, pero a cambio otras operaciones como los bucles son notablemente lentas. Paralelizacin sencilla. MATLAB permite la paralelizacin transpareno o te de la mayor parte la ejecucin, la paralelizacin expl o o cita requiere de poco ms esfuerzo (si el diseo ya se ha realizado teniendo en cuenta a n la paralelizacin) que la denicin de bucles con la instruccin parfor. o o o2

http://www.mathworks.com/

22

CAP ITULO 2. CONTEXTO Aunque para el desarrollo se requiera del entorno MATLAB, una vez terminado se pueden compilar prototipos que ejecuten en otros ordenadores mediante bibliotecas de Java.

Octave Octave3 es una implementacin libre de MATLAB, por lo que resulta o muy parecido pero con algunas ventajas e inconvenientes respecto a ste: e Es gratuito. Aunque cuenta con algunas extensiones y en teor es completamente a compatible con MATLAB, no cuenta con una biblioteca tan amplia de extensiones, por lo que para las mismas tareas hay que buscar implementaciones de terceros con peor soporte y documentacin o desarroo llarlas completas. Al ser libre y gratuito, resulta ms fcil su distribucin en cualquier a a o ordenador y modicacin y extensin de acuerdo a las necesidades del o o usuario. Aunque cuenta con bibliotecas de paralelizacin y distribucin, stas o o e no son tan extensas y de uso tan simple como las de MATLAB, por lo que requieren de nuevo el uso de aplicaciones de terceros4 y una mayor esfuerzo dedicado a la paralelizacin en el caso de que se quiera o utilizar.

2.4.2.

Desarrollo completo

En lugar de contar con herramientas ya existentes, se puede desarrollar un sistema completo que implemente las tcnicas que se quieren estudiar. e Esto por un lado aumenta enormemente las exibilidad y las posibilidades de diseo, pero tambin incrementa el trabajo necesario, desviando hacia n e el desarrollo y la programacin el trabajo originalmente orientado hacia la o investigacin de la combinacin de una serie de algoritmos y heur o o sticas. Esto es un problema fundamentalmente porque se pasar a repetir un trabajo a3 4

http://www.gnu.org/software/octave/ http://www.shogun-toolbox.org/

2.4. OPCIONES DE IMPLEMENTACION

23

de programacin de una serie de algoritmos que ya han sido ampliamente o probados y utilizados en lugar de buscar formas de mejorarlos. En realidad, existen implementaciones tanto de los algoritmos de clasicacin como de los evolutivos en multitud de lenguajes de programacin o o disponibles para su reutilizacin, pero al no formar parte de un sistema inteo grado deber realizarse el estudio de la interfaz de cada bloque por separado, a encontrar los que mejor se pudieran combinar y unicarlos. Por todo esto, aunque el coste de las herramientas de desarrollo podr a ser nulo dependiendo de las elegidas, el coste de implementacin podr no o a compensar la diferencia, por lo que nalmente se ha optado por realizar un sistema basado en MATLAB.

24

CAP ITULO 2. CONTEXTO

Cap tulo 3

ObjetivosDados un algoritmo de clasicacin y una serie de tcnicas evolutivas, se o e pretende encontrar un mtodo que mejore la capacidad de clasicacin del e o algoritmo bajo los siguientes criterios y restricciones: Ecacia: Se quiere conseguir mejorar los resultados de clasicacin de o la versin bsica del algoritmo de clasicacin. o a o Generalidad: Se introducen una serie de dominios en los que el algoritmo de clasicacin en su forma ms bsica consigue muy distintos o a a niveles de xito en la clasicacin. Se pretende mantener los resultados e o buenos y mejorar los dems tanto como se pueda. a Eciencia y rendimiento: Teniendo en cuenta las altas necesidades de recursos (en cuanto a potencia de hardware y en tiempo) que en ocasiones se asocian a las tcnicas evolutivas, se establecern l e a mites en cuanto a los recursos necesarios y se trabajar dentro de stos. a e Para esto, se quiere desarrollar un sistema que implemente estos conceptos y objetivos y realizar las pruebas necesarias para comprobar su cumplimiento.

25

26

CAP ITULO 3. OBJETIVOS

Cap tulo 4

Desarrollo4.1. Objetivos

El objetivo principal del programa desarrollado es la ejecucin de las o pruebas, con lo cual se requieren las siguientes caracter sticas: 1. Modularidad: Se deben poder cambiar las partes principales del programa para poder probar y comparar distintos algoritmos. 2. Personalizacin: Se deben poder modicar fcilmente los parmetros o a a que afectan a los algoritmos. 3. Obtencin de resultados: Se necesita obtener y almacenar informacin o o en detalle sobre las pruebas realizadas para poder analizarla despus. e 4. Formato de los resultados: Los resultados deben obtenerse en un formato fcil de comprender y de procesar en el caso de que necesiten a aadirse a algn documento. n u 5. Rendimiento: En la medida de lo posible, se debe tener en cuenta el tiempo que se tardar en realizar las pruebas, minimizndolo en la a a medida de lo posible y ofreciendo mtodos para limitarlo. e 6. Acceso externo: An mejorando el rendimiento, las pruebas tendrn u a que ejecutarse durante horas, por lo que ser conveniente facilitar el a acceso remoto al entorno de pruebas para comprobar resultados, lanzar nuevas pruebas, etc. en cualquier momento. 27

28

CAP ITULO 4. DESARROLLO

4.2.

Dise o n

Cada uno de los requisitos expuestos se cumplimentar de la siguiente a forma: 1. Modularidad: El programa se dividir en cuatro partes diferenciadas a principalmente: Ejecucin de las pruebas en validacin cruzada[19]. Se permio o tir elegir un nmero de folds en los que dividir las instancias, de a u forma que una se utilice para comprobar la calidad nal del clasicador y el resto para el entrenamiento con la tcnica evolutiva. e Adems se podr elegir el nmero de ejecuciones del proceso, de a a u forma que al nal se calcule una media de todas las ejecuciones con distintos grupos de entrenamiento y test elegidos. Ver punto 4.4. Evolucin de la matriz de transformacin. o o Clculo del tness. Se aplica la transformacin a los datos y se a o realiza una clasicacin guardando el ratio de error como valor de o tness. De nuevo ver el punto 4.4 para ms detalles sobre cmo a o se dividen los datos en test y entrenamiento. Algoritmo de clasicacin. o En la gura 4.1 se pueden ver los mdulos fundamentales, ya que la o ejecucin de la validacin cruzada conllevar poco ms que la eleccin o o a a o de los conjuntos de entrenamiento y prueba y la ejecucin de un bucle. o Como para parte de las pruebas se van a utilizar algoritmos multiobjetivo, se muestra la posibilidad de utilizar varias funciones de tness a la vez. 2. Personalizacin: Existen varias formas de conseguir esto, como utilio zar un chero de opciones o incluso disear un interfaz grca en la n a que elegirlas, pero, dada la sencillez que en general ofrece MATLAB, y teniendo en cuenta que no se busca desarrollar una aplicacin pao ra su uso a largo plazo sino probar una serie de algoritmos, se van a parametrizar las opciones principales en la llamada a la ejecucin o del programa y el resto se dejarn al principio del cdigo para poder a o modicarse fcilmente. a

4.2. DISENO

29

Figura 4.1: Mdulos de los que consta el programa. o

3. Obtencin de resultados: Los resultados de las pruebas se mostraran o por la pantalla principalmente para conocer el estado del programa y se almacenaran en cheros con ms detalle para su posterior estudio. a 4. Formato de los resultados:Los cheros de resultados consistirn en texa to plano, fcil de manipular. Se separar el contenido en varios cheros a a para los resultados de entrenamiento, resultados de test, estad sticas de stos y log de la ejecucin de la aplicacin. e o o 5. Rendimiento: Tericamente, la mayor parte del tiempo se consumir en o a la ejecucin de las llamadas a la funcin de tness, ms teniendo en o o a cuenta que cada una de ellas deber realizar la clasicacin sobre un a o grupo de datos.Se debe por tanto limitar o bien el nmero de clculos u a del tness o el tiempo durante el cual se puede realizar la evolucin. o 6. Acceso externo: Si se utiliza un entorno de pruebas basado en un sistema Unix como GNU/Linux, Mac OS X o FreeBSD, se pueden utilizar varias de las herramientas con las que cuentan este tipo de sistemas para el acceso remoto con requerimientos bajos en cuanto a velocidad de conexin y manteniendo las pruebas en ejecucin cuando no o o se est conectado a la mquina de pruebas, sin por ello perjudicar el a a que se pudiera utilizar el resto de la aplicacin en cualquier entorno o compatible con MATLAB.

30

CAP ITULO 4. DESARROLLO

4.3.

Implementacin o

Con mayor nivel de detalle y exponiendo ya elecciones espec cas de implementacin se detallan de nuevo los puntos anteriores: o 1. Modularidad: MATLAB cuenta con implementaciones de diversos algoritmos de clasicacin, entre los que se incluye K-Vecinos, y algorito mos genticos, entre ellos una implementacin de NSGA-II como algoe o ritmo gentico multiobjetivo. Adems uno de los autores de CMA-ES e a proporciona en su pgina web implementaciones de su algoritmo en a varios lenguajes, incluido MATLAB1 . Se dispone por todo esto de una buena parte de las partes que constituirn el programa y adems se a a encuentran ya divididas de forma que sea fcil aadirlas o sustituirlas a n por otras. 2. Personalizacin: La llamada bsica a la ejecucin principal tendr la o a o a siguiente forma: clasif icar(entrada, salida, metodo, tipoM atriz, nEjecuciones, nF olds) Permitiendo asignar valores a los parmetros siguientes: a entrada Archivo con los valores de ejemplo del dominio de clasicacin. o salida Directorio en el que se deben guardar los resultados. metodo Cmo se va a calcular la transformacin. o o tipoM atriz Diagonal o Completa. nEjecuciones Ejecuciones externas completas de la validacin o cruzada para obtener una media de los resultados. nF olds Nmero de folds en validacin cruzada. u o Adems, tras una breve documentacin, en el cdigo MATLAB se a o o pueden encontrar las asignaciones a los valores por defecto de otros parmetros, de forma que sean fciles de modicar, entre otros se ina a cluyen los siguientes: desviacin para la generacin de valores aleatoo o rios, nmero mximo de llamadas a la funcin de tness dentro de una u a o ejecucin del algoritmo evolutivo, valor de K para K-Vecinos. o 3. Obtencin de resultados: En la ruta introducida en la entrada se guaro darn tres cheros: a1

http://www.lri.fr/~hansen/cmaes_inmatlab.html

4.3. IMPLEMENTACION

31

T rain.txt : Resultados numerados de cada clasicacin para cada o conjunto de entrenamiento en cada ejecucin externa. o Res.txt : Resultados de clasicacin para cada conjunto de test o en cada ejecucin externa y media nal.Se incluir tambin el o a e resultado de realizar la misma comparacin sin realizar transforo maciones y el nmero de ceros en la matriz de transformacin. Por u o ultimo, en la ultima l nea se incluirn las medias y desviaciones a t picas de los resultados. Log.txt : Adems de los mismos resultados incluidos en Res.txt, a se incluir ms informacin sobre la ejecucin: fecha, hora y doa a o o minio, nmero de ejecuciones externas y folds, matrices de transu formacin obtenidas para cada fold y tiempo total de ejecucin. o o Por pantalla se mostrar la misma informacin que en el archivo a o Log.txt. En el caso de utilizar evolucin multiobjetivo, se guardar un o a archivo F rentes.txt con los frentes y sus tness resultantes para cada ejecucin. o 4. Formato de los resultados: T rain.txt: 2 columnas: Nmero de fold en la ejecucin. u o Ratio de error en la clasicacin. o Res.txt:Un separador rodeado de # para cada ejecucin y 4 o columnas: Nmero de fold en la ejecucin. u o Ratio de xito sin transformar. e Ratio de xito con transformaciones. e Cantidad de ceros en la matriz.

Una ultima l nea con las medias y desviaciones t picas, estas ulti mas entre parntesis, de: xito sin transformaciones, xito con e e e ellas y nmero de ceros. u Log.txt: Un primer bloque con la hora, fecha, chero origen, mtoe do y nmero de ejecuciones externas y folds. Despus un bloque u e para cada fold que incluya su nmero, matriz de transformacin u o obtenida y resultados de clasicacin (siguiendo el mismo patrn o o que en Res.txt: sin transformacin, con ellas y nmero de ceros). o u Terminar con el tiempo total que ha tardado la prueba completa.

32

CAP ITULO 4. DESARROLLO 5. Rendimiento: El cdigo disponible para CMA-ES permite poner una o cota al nmero de ejecuciones y la implementacin de NSGA-II de u o MATLAB permite limitar el tiempo que se utiliza en la evolucin. o Con esto es suciente para controlar la duracin de la ejecucin de la o o aplicacin. Si no se indica lo contrario, los experimentos se realizaron o limitando el nmero de evaluaciones de la funcin de tness a 800 o u o el tiempo de ejecucin a 120 segundos en el caso de NSGA-II. o 6. Acceso externo: Se utilizar la versin sin interfaz grco de MATLAB, a o a por l nea de comandos, ejecutando sobre un ordenador con Linux con acceso continuo a Internet e IP ja. De esta forma se podr acceder a en cualquier momento al entorno mediante una conexin SSH 2 y con o la herramienta GNU Screen 3 se podr acceder a la misma sesin en a o ejecucin desde cualquier ordenador con conexin a Internet y cliente o o SSH.

4.4.

Validacin Cruzada: Necesidad y Mtodo o e

Cuando se trabaja sobre conceptos que tratan de predecir y generalizar soluciones, como son los algoritmos de clasicacin y las tcnicas evolutivas, o e es necesario poner a prueba de forma exhaustiva las ideas desarrolladas para evitar llegar a conclusiones equivocadas producto de la casualidad o de un conjunto de pruebas mal formado. La validacin cruzada[19] consiste en dividir todos el conjunto de ejemo plos del que se dispone para las pruebas en varios subconjuntos, conocidos a veces por su nombre en ingls, folds, que se utilizarn para las tareas de e a entrenamiento y validacin de la solucin. Adems, los mismos grupos se o o a van rotando en estas tareas y los resultados que se tienen en cuenta son las medias de todas las pruebas. Uno de los mtodos ms comunes para realizar una validacin cruzada es e a o K-folds, que consiste en dividir los ejemplos en K grupos, utilizndose uno a para el test (validacin) y el resto para el entrenamiento. Se repite la prueba o K veces, utilizando cada vez uno de los grupos como test, y se guardan los resultados de cada uno para utilizar sus estad sticas (media, varianza, etc.)2 3

http://www.openssh.com/ http://www.gnu.org/software/screen

4.4. VALIDACION CRUZADA: NECESIDAD Y METODO

33

como medidas de la ecacia del mtodo probado. Aplicndolo en concreto a e a las tcnicas que conciernen a este proyecto: e K-folds en K-Vecinos Los K 1 conjuntos de entrenamientos ser toan dos los ejemplos con los que comparar las nuevas instancias para su clasicacin, y el conjunto de test ser los nuevos individuos a clasio an car. El valor de validacin ser el nmero de individuos del conjunto o a u de test correctamente clasicados (preferiblemente el ratio sobre el tamao del conjunto de test). Como ya se ha dicho se repetir el proceso n a K veces, rotando el conjunto que har de test. a K-folds en Tcnicas Evolutivas En este caso los conjuntos de entrenae miento se utilizar para calcular el valor de tness de cada individuo an del algoritmo evolutivo, intentando en el proceso de evolucin obtener o los mejores resultados posibles para estos conjuntos. Despus, ya con e el proceso evolutivo completado y un individuo seleccionado, se calcular de nuevo el valor de tness para los datos del conjunto de test, a obteniendo as una medida del funcionamiento sobre datos fuera de los usados en la evolucin. Comparar los resultados obtenidos en eno trenamiento y test permite detectar problemas de sobreadecuacin a o uno datos determinados (ver seccin 2.3). o

En este trabajo se da el caso de que la evaluacin del tness dentro o del algoritmo evolutivo requiere de la evaluacin de un clasicador, por lo o tanto se requiere una validacin cruzada doble, que se ha diseado de la o n siguiente forma:

Validacin cruzada del evolutivo: Como se indica en la seccin 4.2, se o o permite elegir el nmero de folds que se utilizarn en la validacin u a o cruzada, y adems, se pueden realizar varias ejecuciones completas a con conjuntos generados de nuevo repartiendo los individuos de forma aleatoria, aumentando an ms la diversidad de las pruebas. Se dividen u a entonces los datos disponibles en los K folds que se indiquen, K 1 se utilizan para evaluar el tness durante la evolucin de la siguiente o forma: Validacin del clasicador en tness: Cuando se vaya a evaluar una o matriz de transformacin el proceso ser el siguiente: o a

34

CAP ITULO 4. DESARROLLO Dividir el conjunto de datos del que se disponga (que ser los an K 1 folds indicados anteriormente) en 5 folds, 4 de entrenamiento y 1 de test. Para claricar se llamarn entrenamiento-f y a test-f, y a los primeros entrenamiento-global y test-global. Clasicar los datos del conjunto de test-f utilizando los datos de entrenamiento-f como ejemplos (vecinos). El ratio de error que se obtenga de esta clasicacin ser el valor o a de tness a minimizar. Validacin nal: Una vez obtenida la matriz de transformacin o o nal, sta se utilizar para transformar todos los datos del dominio, e a y se clasicarn los datos transformados de test-global, utilizando a entrenamiento-global como ejemplos. El ratio de xito en clasicacin en porcentaje ser el dato que se e o a guarde como valoracin del mtodo. o e Se elige un un nuevo fold como test-global y se repite el proceso hasta que se hayan usado los K folds. Si hay que realizar ms ejecuciones externas, se vuelven a construir a los K grupos eligiendo aleatoriamente las instancias que los formarn a y se repite todo el proceso. La media y desviacin t o pica de estos ratios de xito en todas estas e pruebas ser el resultado utilizado para valorar todo el mtodo para a e un dominio.

Cap tulo 5

Experimentacin o5.1. Primeros Experimentos

Las primeras pruebas, basadas en [20], se realizaron fundamentalmente para comprobar tanto la efectividad de las tcnicas evolutivas en la mejora e del algoritmo de clasicacin como el funcionamiento bsico de CMA-ES. o a Para esto se enfrentaron diferentes tcnicas de clasicacin con K-Vecinos: e o Sin transformacin de los datos. Equivalente a utilizar la distancia o Eucl dea. Transformando los datos. Se multiplicaron los datos por una matriz de transformacin siguiendo el mtodo explicado en el punto 2.2.2 del cono e texto. Con esto se trataba de conseguir, utilizando transformaciones lineales, un mejor posicionamiento de los datos respecto a la capacidad de clasicar los individuos del dominio mediante K-Vecinos. Bsqueda local - matriz diagonal. Permite el escalado de los vau lores de los datos pero no operaciones ms complejas. a Bsqueda local - completa, cualquier elemento puede ser distinto u de cero. Permite operaciones que dependen de ms de una dia mensin a cambio de aumentar la complejidad y el tamao del o n espacio de bsqueda. u CMA-ES - slo matrices diagonales. o 35

36

CAP ITULO 5. EXPERIMENTACION CMA-ES - matrices completas. Para las pruebas se utilizaron los siguientes dominios: Aleatorio: Las instancias tienen 4 atributos generados aleatoriamente, 2 con valores entre 0 y 1 otros 2 con valores entre 0 y 100. La forma de repartir las clases es: si el primer atributo es mayor al segundo, la instancia pertenece a la clase 1 y a la 0 en caso contrario. Los otros atributos, con valores mayores, se introdujeron para que la clasicacin o con K-vecinos no obtuviera buenos resultados utilizando una distancia eucl dea. Iris: Dominio real sobre plantas Iris extra del repositorio UCI1 . do Contiene 150 instancias con 4 atributos pertenecientes a 3 clases. Rectas45: Figura 5.1. Es un dominio articial diseado expl n citamente para que la clasicacin de sus instancias requiera transformar stas o e con el escalado y rotacin de sus valores. Consiste en 100 puntos de una o clase colocados con una separacin de una unidad formando una l o nea con un ngulo de 45o respecto a la horizontal, empezando en el punto a (0,0). Las instancias de la segunda clase siguen la misma distribucin o pero empezando en el punto (0,-1). Cada coordenada de cada punto tiene aplicada una perturbacin aleatoria con valores entre 0,5 y o 0,5. Por lo tanto, para que las instancias se clasiquen correctamente se deben rotar y escalar horizontalmente. Ripley: 1250 instancias con 2 atributos formados mediante 4 distribuciones gaussianas [22]. W ine: Dominio real extra del repositorio UCI. Se trata del anlisis do a de la calidad de distintos vinos, conteniendo 178 instancias con 13 atributos pertenecientes a 3 clases.

Se realiz una prueba (Tabla 5.1 ) para cada dominio utilizando 10 ejeo cuciones externas de 10 folds cada una, permitiendo que cada algoritmo llamara hasta 800 veces a las funcin de tness para cada ejecucin. o o Un ejemplo de las matrices de transformacin que obtiene el mtodo es o e 0,7731 7,6867 sta, obtenida para el dominio rectas45: e , cuyo efecto 0,9702 7,35571

http://archive.ics.uci.edu/ml

5.1. PRIMEROS EXPERIMENTOS

37

Figura 5.1: Dominio Rectas Rotadas.

Tabla 5.1: Resultados Iniciales. Pruebas para todos los dominios: 1) Sin transformacin 2) o Bsqueda local de una matriz diagonal 3) Bsqueda con CMA-ES de una matriz diagonal 4) u u Bsqueda local de una matriz con valores en todas las posiciones 5) u dem para CMA-ES.Dominio Aleatorio Iris Rectas45 Ripley Wine Euclidea 50.96 (08.19) 95.86 (04.42) 08.30 (08.32) 88.72 (02.52) 76.48 (09.44) LS-diag 94.10 (09.35) 94.66 (06.35) 09.00 (07.62) 88.88 (02.79) 94.15 (05.67) CMA-diag 95.70 (05.90) 94.26 (05.44) 08.85 (07.81) 88.76 (02.78) 94.16 (04.95) LS 55.50 (13.84) 95.13 (05.43) 98.70 (02.62) 88.54 (02.33) 74.35 (09.51) CMA-comp 62.23 (14.78) 95.26 (04.85 98.70 (02.52) 88.77 (02.63) 80.86 (09.70)

sobre el dominio es el que se puede ver en la gura 5.2. Es una de las muchas posibles transformaciones que consigue acercar los puntos de la misma clase

38

CAP ITULO 5. EXPERIMENTACION

entre s a la vez que distanciarlos de los de la otra clase, con lo que se mejora como se deseaba la clasicacin con K-vecinos. o Figura 5.2: Dominio Rectas Rotadas tras la transformacin. Ejemo plo del efecto de una transformacin obtenida mediante evolucin sobre el o o dominio.

Se puede observar que en la mayor de los casos los resultados son mea jores para CMA-ES. Sin embargo, la opcin ms exible, la que evoluciona o a una matriz de transformacin completa, obtiene en un nmero signicatio u vo de ocasiones peores resultados que la matriz diagonal o incluso que la bsqueda local. La explicacin para esto es que el espacio de bsqueda para u o u la matriz completa es mucho mayor que el de la diagonal (el nmero de u elementos al cuadrado) por lo que la evolucin es ms lenta, adems de exiso a a tir ms posibilidades de estancamiento por m a nimos locales. Por todo esto, cuando la solucin ptima se puede representar con una matriz diagonal, se o o encontrar mucho ms fcilmente si se busca directamente entre las matrices a a a diagonales que si se busca entre todas las posibles, aunque stas comprendan e a las diagonales. An con todo esto, hay que tener en cuenta que las opciones que se utiu lizaron para CMA-ES fueron las elegidas por defecto, por lo que se podr an esperar mejoras ajustando los parmetros al problema. a

5.2. OPTIMIZANDO LOS PARAMETROS DE CMA-ES

39

5.2.

Optimizando los parmetros de CMA-ES a

Aunque la documentacin de CMA-ES indica que las opciones por defeco to son en general buenas para cualquier problema, el algoritmo proporciona una cantidad generosa de parmetros si se quiere ajustar lo mximo posible a a el algoritmo al problema al que se est aplicando. e Restarts: Inicia de nuevo el algoritmo al alcanzar alguna de las condiciones de parada, aumentando cada vez el tamao de la poblacin n o segn un parmetro. Se reinicia hasta llegar al l u a mite de reinicios o hasta alcanzar una condicin denitiva de parada (v.g. nmero mximo o u a de evaluaciones de la funcin de tness. o StopOnStagnation: Parada si tras un gran nmero de generaciones no u se producen cambios signicativos en el valor de tness. La decisin o est implementada internamente en CMA-ES y no admite parmetros. a a DiagonalOnly: Utiliza una matriz de covarianzas diagonal durante el nmero de generaciones que se le indique. Se recomienda su uso para u dominios con un nmero elevado de dimensiones (cercano o superior u a 100). StopFitness: Permite indicar un valor de tness de parada para evitar ms iteraciones de las necesarias buscando por ejemplo un valor a negativo cuando el m nimo posible fuera el cero. LBound, UBound : Cotas, inferior y superior respectivamente, para los valores que puede tomar la variable buscada, fuera de estos valores se establece una penalizacin a la bsqueda. o u DiMinChange, DiMaxChange: Cambios m nimo y mximo que se a pueden realizar en un valor de una generacin a otra. o Se realizaron una serie de pruebas (Tabla 5.2 ) modicando estos parmea tros para comprobar si se obten alguna mejora en los dominios problemtia a cos, es decir, en los que el CMA-ES diagonal o la bsqueda local obten u an mejores resultados que el CMA-ES completo. Asimismo, se mantuvo el dominio Rectas45 en el que CMA-ES obten los mejores resultados para coma probar si las mejoras en unos dominios perjudicaban a otros. Analizando cada dominio por separado:

40

CAP ITULO 5. EXPERIMENTACION

Tabla 5.2: Resultados de Optimizacin de CMA-ES. Pruebas para todos los domio nios con: 1) 1000 evaluaciones, permitiendo volver a empezar aumentando la poblacin si o no hay mejoras durante mucho tiempo. 2) 10000 evaluaciones. 3) Slo valores positivos. o 4) No cambiar el valor de un atributo en la media que utiliza CMA-ES si el cambio va a ser menor a 0.0005. Dominio Reinicios 10000 Cota Cambio m nimo (1000 ev.) evaluaciones inferior 0 0.0005 Aleatorio 60.96 (15.39) 88.86 (12.26) 70.90 (24.69) 68.50 (16.31) Iris 95.66 (04.86) 95.93 (05.09) 94.80 (05.65) 95.53 (05.28) Rectas45 99.00 (02.13) 98.90 (02.31) 08.00 (08.58) 98.80 (02.47) Ripley 88.51 (02.80) 88.60 (02.40) 88.63 (02.95) 88.84 (02.60) Wine 80.09 (09.47) 87.14 (08.56) 88.97 (08.87) 83.09 (09.75)

Aleatorio: Simplemente aumentando el l mite de evaluaciones se consigue una mejora notable, acotar los valores a nmeros positivos tamu bin parece mejorar el resultado, aunque debido a la alta varianza no e se puede asegurar esto. Iris: En este dominio ya se consegu resultados cercanos al 95 % con an todos los mtodos probados, con las modicaciones no se ha mejorado e ni empeorado este valor. Rectas45: En este dominio queda claro que las modicaciones que mejoran los resultados en un dominio pueden perjudicar a otro, en este caso al forzar los valores positivos se han eliminado transformaciones que produc la rotacin de los datos imprescindibles para conseguir an o clasicar las instancias de este dominio. Ripley: Tampoco se ha encontrado ninguna modicacin que mejore o o empeore los resultados. Wine: Tanto el aumentar el nmero de evaluaciones como eliminar los u valores negativos consiguen mejoras notables en la clasicacin. o La conclusin de estos experimentos es que, aunque pueden mejorarse los o resultados de clasicacin a base de optimizar los parmetros, con mejoras o a notables en algunos casos y apenas perceptibles en otros, estos ajustes no son generalizables y requieren el estudio del dominio del problema en cada caso.

5.3. EVOLUCION CON FITNESS PONDERADA

41

Tabla 5.3: Resultados del Mtodo H e brido. Resultados de evolucionar una matriz diagonal con un mximo de 100 evaluaciones de la funcin de a o tness y utilizar el resultado para inicializar una matriz completa (no tiene por qu tener ceros) que se evoluciona con un mximo de 900 evaluaciones. e a Aleatorio Rectas45 Wine Ratio Clasicacion 85.93(9.44) 98.60(2.75) 93.40(6.23)

5.3.

Evolucin con tness Ponderada o

Los resultados hasta ahora muestran que, en ciertos casos, una matriz de transformacin diagonal consigue resultados notablemente mejores que o los de una matriz completa, pero que en otros se necesitan transformaciones que slo se consiguen con una matriz que pueda tener en cualquiera de sus o posiciones un valor distinto de cero. Por todo esto, cabe preguntarse si se podr desarrollar un mtodo que llevara hacia un tipo de matriz u otro a e dependiendo de los resultados que se obtengan durante la evolucin. o En primer lugar se prob un mtodo que evolucionaba una matriz diagoo e nal con un nmero bajo de evaluaciones (100), utilizando despus la matriz u e obtenida como punto de partida para la evolucin de una matriz completa. o Sin embargo, los resultados de esta tcnica h e brida (tabla 5.3) mostraban tendencia al estancamiento en la primera matriz diagonal, sin conseguir mejoras despus. e La segunda aproximacin al problema fue tratar de maximizar el nmero o u de ceros en la matriz, con la intencin de simplicar la bsqueda, eliminando o u tambin el posible ruido, producto de la forma en que CMA-ES obtiene las e instancias de cada generacin. Para ello se modic la funcin de tness de o o o forma que calculara dos objetivos y diera el resultado ponderado de stos e mediante la frmula 5.1 : o f itness = ErrorRate P eso + (1 P eso)(1 Donde: ErrorRate: Indice de errores de clasicacin oInstancias incorrectamente clasif icadas total

nCeros ) Dimension

(5.1)

P eso: Importancia entre 0 y 1 que se le da a la clasicacin. o

42

CAP ITULO 5. EXPERIMENTACION

Tabla 5.4: Resultados del mtodo ponderado para Aleatorio (Clasicacin). e o Medias y desviaciones t picas (entre parntesis) del porcentaje de xito de clasicacin e e o para las combinaciones de umbrales y pesos indicadas en el dominio Aleatorio.Peso Umbral 0 0.2 1 2 3 5 01 57.76 52.46 53.30 50.00 50.00 50.00 (15.96) (11.99) (09.64) (00.00) (00.00) (00.00) 0.5 62.03 57.43 98.10 97.23 50.00 50.10 (15.08) (15.93) (03.85) (03.25) (00.00) (01.00) 0.7 63.13 60.53 98.06 97.43 50.00 50.16 (15.94) (17.32) (02.88) (02.75) (00.00) (01.66) 62.36 61.50 99.23 98.43 50.00 50.00 09 (16.35) (16.20) (01.94) (02.97) (00.00) (00.00) 61.80 62.76 98.16 99.03 50.00 50.00 1 (16.92) (17.15) (06.50) (02.08) (00.00) (00.00)

nCeros: Nmero de ceros en la matriz. u Dimension: Nmero de elementos de la matriz. u Recordando el funcionamiento de CMA-ES, que trata de minimizar el valor de tness, lo que se obtiene con esta frmula es reducir el nmero de o u errores de clasicacin, con una importancia P eso, y maximizar el nmero o u de ceros, normalizado respecto al tamao de la matriz, con una importancia n 1 P eso. Como se trata de valores reales y no enteros, se redondearon todos los valores inferiores en valor absoluto a cierto umbral, igualndolos a cero a la a hora de transformar los datos y de calcular la nueva generacin del algoritmo o evolutivo. Se probaron distintos valores de umbral para encontrar el mejor y comprobar si era distinto para cada dominio. Con el dominio Aleatorio, que obten mejores resultados para la matriz a diagonal que para la completa se obtuvieron los resultados de clasicacin o mostrados en la tabla 5.4 , con el nmero de ceros medio en la tabla 5.5 . u Como contraste, se pueden comparar estos resultados con los obtenidos en la seccin 5.1 (tabla 5.1). o La mejora en los resultados es evidente, llegando a superar al mtodo e que utilizaba 10 veces ms evaluaciones. El caso base (umbral 0, peso 1) a ofrece un porcentaje de aciertos en la clasicacin del 61.80 %, mientras o que el mejor encontrado (con umbral 1 y peso 90 %) es del 99.23 %. Se ha realizado la misma prueba para los dominios Wine y Rectas45, con dos objetivos: comprobar la validez del mtodo y ver si los mejores resultados e segu consiguindose para los mismos valores de umbral y peso, con lo an e

5.3. EVOLUCION CON FITNESS PONDERADA

43

Tabla 5.5: Resultados del mtodo ponderado para Aleatorio (Ceros). Medias y e desviaciones t picas (entre parntesis) del nmero total de ceros en las matrices para las e u combinaciones de umbrales y pesos indicadas.Peso Umbral 0 0.2 1 2 3 5 01 0.00 (0.00) 8.87 (1.92) 15.64 (0.57) 16.00 (0.00) 16.00 (0.00) 16.00 (0.00) 05 0.00 (0.00) 7.93 (2.20) 13.89 (0.34) 14.00 (0.00) 16.00 (0.00) 15.99 (0.10) 0.7 0.00 (0.00) 6.61 (2.02) 13.69 (0.61) 13.99 (0.10) 16.00 (0.00) 15.99 (0.10) 09 0.00 (0.00) 2.59 (2.40) 12.57 (1.17) 13.61 (0.49) 16.00 (0.00) 16.00 (0.00) 1 0.00 (0.00) 1.46 (1.78) 10.00 (1.48) 12.04 (1.21) 16.00 (0.00) 16.00 (0.00)

Tabla 5.6: Resultados del mtodo ponderado para Wine (Clasicacin). Medias e o y desviaciones t picas (entre parntesis) del porcentaje de xito de clasicacin para las e e o combinaciones de umbrales y pesos indicadas para el dominio Wine.Peso Umbral 0 0.2 1 2 3 5 01 81.21 73.03 75.74 71.54 34.53 35.59 (09.92) (09.63) (09.86) (26.07) (08.69) (09.77) 80.90 79.46 84.99 91.40 35.41 35.35 05 (09.84) (09.84) (09.45) (06.27) (09.84) (09.62) 0.7 80.20 81.62 87.70 90.99 33.93 35.28 (07.97) (08.68) (08.24) (06.67) (04.83) (08.26) 80.97 81.14 84.56 91.94 37.69 36.12 09 (09.62) (09.53) (09.93) (06.57) (14.56) (10.29) 80.96 81.10 85.08 91.66 36.30 35.75 1 (09.03) (09.09) (09.47) (06.76) (11.60) (10.81)

que podr considerarse independientes del dominio y utilizarse siempre an los mismos. Analizando los dominios por separado y comparando con resultados anteriores (tabla 5.1), se puede ver como para el dominio Wine se consigue una mejora notable (del 80.86 % al 91.94 % en el mejor caso) aunque sin llegar al resultado de la matriz diagonal. En el dominio Rectas45 el mejor resultado (98.95 %) se obtiene con el umbral en 0 y el peso de clasicacin o al 1 %, como es prcticamente imposible que se genere un 0 entero, al nal a todo el peso del tness recae sobre el valor de clasicacin y es equivalente o a realizar el proceso sin considerar los ceros. Con este mtodo se han obtenido resultados cercanos a los que aportaba e la matriz diagonal, con la diferencia de que tambin ha funcionado para un e dominio expl citamente diseado para requerir rotaciones en la transforman cin de los datos que no pod obtenerse con matrices de transformacin o an o diagonales. La unica complicacin se encuentra en la arbitrariedad de los o

44

CAP ITULO 5. EXPERIMENTACION

Tabla 5.7: Resultados del mtodo ponderado para Rectas45 (Clasicacin). e o Medias y desviaciones t picas (entre parntesis) del porcentaje de xito de clasicacin e e o para las combinaciones de umbrales y pesos indicadas para el dominio Rectas45.Peso Umbral 0 0.2 1 2 3 5 01 98.95 44.85 49.50 50.00 50.00 50.00 (02.16) (39.08) (05.00) (00.00) (00.00) (00.00) 98.60 96.90 51.40 50.00 50.00 50.00 05 (02.57) (05.21) (10.70) (00.00) (00.00) (00.00) 0.7 98.90 96.70 75.95 50.00 50.00 50.00 (02.08) (10.25) (24.24) (00.00) (00.00) (00.00) 98.90 98.85 87.85 50.00 50.00 50.00 09 (02.19) (02.34) (21.38) (00.00) (00.00) (00.00) 98.70 97.90 91.40 50.50 50.00 50.00 1 (02.62) (08.26) (18.02) (05.00) (00.00) (00.00)

parmetros umbral y peso, que tienen importancia en el resultado obtenido a y son diferentes para cada dominio. Para poder utilizar este mtodo de fore ma general, es necesario generalizar tambin la bsqueda de valores ptimos e u o para estos parmetros. a

5.4.

Evolucin Multiobjetivo o

En la seccin 5.3 se pudo ver cmo el buscar maximizar el nmero de ceo o u ros dentro de la matriz de transformacin durante la evolucin pod ayudar o o a a mejorar los resultados nales de clasicacin. El problema resid en eno a contrar los valores ptimos de umbral (qu se considera un cero) y el balance o e entre la importancia de la clasicacin y el nmero de ceros. o u Para resolver el primer problema se propuso aadir a los valores que n optimiza el algoritmo el valor de umbral, con esto se evita tener que conocer de antemano un valor ptimo segn el dominio o encontrarlo a base de o u prueba y error con un gran consumo de tiempo y recursos, con el posible riesgo de que la evolucin sea ms lenta. o a Para incluir el umbral en el genotipo que evoluciona CMA-ES, basta con introducirlo en el vector que representa dicho genotipo, de esta forma se tendr a:

IN DIV IDU On = (umbral, m1,1 , m1,2 , . . . , mk,k ) Con mi,j los distintos valores de la matriz de transformacin y k la o

5.4. EVOLUCION MULTIOBJETIVO

45

Tabla 5.8: Resultados evolucionando el umbral. Media y desviacin o t pica del ratio, en porcentaje, de clasicacin correcta para el conjunto de o test cuando se evolucion con CMA-ES la matriz de transformacin y el o o umbral que se le aplicar a la vez. a Aleatorio 99.23 (01.94) Rectas45 98.70 (02.20) Wine 91.29 (06.88)

dimensin del dominio. Cuando se fuera a evaluar el individuo habr que o a aplicar el umbral: 0 mi,j si mi,j < umbral si mi,j >= umbral

mi,j =

(5.2)

En la tabla 5.8 se puede ver que los resultados de esto son excelentes comparados con el resto de pruebas que se han realizado anteriormente. Esto es as an sin considerar la idea de maximizar el nmero de ceros. Se debe u u tener en cuenta ademas que se ha mantenido la conguracin, en cuanto a o nmero de evaluaciones y dems, que se utiliz en el resto de pruebas con u a o CMA-ES. Un ejemplo de matriz obtenida con este mtodo es: e 0 0 0 0 0 3,7789 0 0 3,8901 0, 0 0 0 0 0 0

Que tiene sobre el dominio aleatorio el efecto mostrado en la gura 5.3, Se muestran la representacin de las 3 primeras dimensiones, pero la cuarta o sufre el mismo efecto que las dos primeras, se quedan a 0 todos los valores. Para tener en cuenta la idea de aumentar el nmero de ceros sin tener que u establecer un nivel de importancia o peso para optimizar un objetivo u otro se decidi pasar a un mtodo evolutivo multiobjetivo. Se utiliz la impleo e o mentacin de MATLAB de NSGA-II, estableciendo un l o mite de 2 minutos para la evaluacin para poder realizar las pruebas completas de validacin o o

46

CAP ITULO 5. EXPERIMENTACION

Figura 5.3: Dominio Aleatorio tras la Transformacin. Representao cin de las 3 primeras dimensiones del dominio Aleatorio tras aplicarle una o transformacin obtenida evolucionando el umbral. La dimensin que no se o o muestra (x4 ) qued tambin reducida toda a 0, por lo que queda slo una o e o dimensin representativa. o

5.4. EVOLUCION MULTIOBJETIVO

47

Tabla 5.9: Resultados del mtodo multiobjetivo. e Resultados de clasicacin en el conjunto de test para las matrices evoluo cionadas con los objetivos de minimizar el error de clasicacin ms los o a indicados en la tabla. Ceros Ceros,Umbral 1/Desviacin o Media/Desviacin o Ceros noD Aleatorio 99.60 (01.66) 97.40 (03.12) 54.30 (11.69) 61.16 (10.61) 76.86 (12.87) Rectas45 99.55 (01.60) 99.10 (02.05) 98.90 (02.52) 99.55 (01.60) 95.45 (12.99) Wine 91.25 (06.37) 91.94 (06.07) 77.33 (09.39) 75.11 (09.37) 91.30 (00.67)

cruzada en un tiempo razonable. Del frente que devuelve el algoritmo se eligi el individuo con mejores resultados de clasicacin para el conjunto o o de entrenamiento. En la tabla 5.9 se pueden ver los resultados para diferentes objetivos. A parte del de minimizar el error de clasicacin, que es un objetivo en todos o los casos, se probaron los siguientes: Ceros: Maximizar el nmero de ceros. u Umbral: Minimizar el valor absoluto a partir del cual un valor de la matriz de transformacin se considerar igual a cero. o a 1/Desviacin: Se pretende maximizar la desviacin t o o pica para tener valores separados en la matriz. Media/Desviacin: Para intentar que los valores sean o muy pequeos o n o muy grandes se intenta minimizar la media a la vez que se aumenta la desviacin t o pica. Ceros noD: Slo se aplica el umbral y se maximiza el nmero de ceros o u en las posiciones fuera de la diagonal. La intencin es tratar de dar o preferencia a las matrices diagonales sin eliminar la posibilidad de las completas.

48

CAP ITULO 5. EXPERIMENTACION

Anlisis de Resultados y Frentes Finales a A continuacin se muestran ejemplos de frentes obtenidos para cada o conjunto de objetivos junto con la conclusin del resultado de clasicacin. o o Maximizar nmero de ceros: Figura 5.4. Los resultados para los domiu nios aleatorio y rectas45 son ligeramente superiores a todos los obtenidos hasta el momento aunque, si se tiene en cuenta la desviacin, la o diferencia no es notable respecto a otros mtodos con resultados cere canos al 98 %. En el dominio Wine, sin embargo, se sigue sin alcanzar los ratios de clasicacin de los mtodos con diagonales de la seccin o e o 5.1. Aunque no se aprecia en la gura, el frente est formado por 89 a puntos, 86 de ellos con un valor de umbral tan alto que deja a 0 todas las posiciones de la matriz y la clasicacin se queda en el 50 %. o Maximizar nmero de ceros, minimizar umbral: El frente tridimenu sional se muestra en la gura 5.7, con los perles en 5.8. Se puede ver tanto la dependencia entre el nmero de ceros y el umbral, como u el rango de ceros en el que se obtienen los mejores valores de clasicacin. El utilizar dos objetivos opuestos permite una exploracin o o ms detallada del frente en comparacin con el resto de conjuntos de a o objetivos probados, sin embargo si lo que se busca es exclusivamente encontrar el mejor valor de clasicacin en el menor tiempo posible, o con el objetivo de minimizar el umbral parece que slo se est reduo a ciendo el rendimiento, ya que los resultados son muy similares a los del punto anterior. Por otra parte en las guras correspondientes al dominio de las rectas rotadas (5.9) se ve como, aunque en este caso aumentar el nmero de ceros empeora el resultado de clasicacin, se u o sigue explorando el espacio de bsqueda de forma que se encuentran u buenas soluciones. Maximizar desviacin: Figura 5.5. El valor de desviacin no parece o o ofrecer ventajas en la bsqueda de la matriz de transformacin. u oM edia Minimizar Desviacion : Figura 5.6. Los resultados son ligeramente mejores pero an as no llegan a los de los dems mtodos. Para comprobar u a e que los valores de inicializacin (por defecto en [0, 1]), se realiz una o o prueba con menos ejecuciones iniciando en los valores de la matriz en [100, 100], pero los resultados fueron similares. Esto es lgico segn o u la teor ya que se pueden conseguir transformaciones similares con a

5.4. EVOLUCION MULTIOBJETIVO

49

Figura 5.4: Frente para Aleatorio: Maximizar Ceros. Aunque el frente est formado por 89 puntos, casi todos ellos se acumulan en valores muy a cercanos entre s .

1 matrices proporcionales, p.ej. escalar una dimensin en 10 es equivao 1 lente a multiplicar todas las dems por 10, o a escalarla por 100 y a a 1 las dems por 10 , etc. a

Maximizar ceros fuera de la diagonal: Aunque el frente (gura 5.10) parece mostrar tendencia a mejorar los resultados cuanto menor es el nmero de ceros, los resultado estn por debajo de los de otras pruebas u a pruebas. El trabajo con la desviacin, aunque no consiguiera buenos resultados, o s que muestra que, an siendo los objetivos en teor independientes, el resto u a de objetivos elegidos afecta a la bsqueda y al resultado de clasicacin nal. u o Comparando con lo visto en la tabla 5.8 o con los mejores resultados del mtodo ponderado en la seccin 5.3, se comprueba que los resultados con e o los objetivos de minimizar los errores de clasicacin y maximizar el nmero o u de ceros son cercanos a los mejores obtenidos hasta el momento. De estos experimentos se puede concluir que: El mtodo multiobjetivo permite obtener de forma automatizada ree

50

CAP ITULO 5. EXPERIMENTACION

Figura 5.5: Frente para Aleatorio: Maximizar Desviacin. o

5.4. EVOLUCION MULTIOBJETIVO

51

Figura 5.6: Frente para Wine: Maximizar Desviacin y Minimizar o Media.

52

CAP ITULO 5. EXPERIMENTACION

Figura 5.7: Frente 3d para Wine: Minimizar Umbral y Maximizar Ceros. Al introducir el objetivo de minimizar el umbral, opuesto al de maximizar el nmero de ceros, se consigue una exploracin ms amplia del u o a frente, pero no por ello unos mejores resultados de clasicacin. o

5.4. EVOLUCION MULTIOBJETIVO

53

Figura 5.8: Frentes 2d para Wine: Minimizar Umbral y Maximizar Ceros. Se puede ver que en torno a los 130-170 ceros se consiguen los mejores resultados de clasicacin. o

54

CAP ITULO 5. EXPERIMENTACION

Figura 5.9: Frente 3d para Rectas Rotadas: Minimizar Umbral y Maximizar Ceros. Aunque se trate de objetivos opuestos en este dominio, se exploran las soluciones sucientes para encontrar buenos resultados para ambos objetivos.

5.4. EVOLUCION MULTIOBJETIVO

55

Figura 5.10: Frente para Aleatorio: Maximizar Ceros Fuera de la Diagonal.

56

CAP ITULO 5. EXPERIMENTACION sultados tan buenos como otras tcnicas que requieren modicaciones e en cuanto a metodolog y optimizacin manual de parmetros. a o a Aun as teniendo en cuenta los resultados al incluir el valor de umbral , en CMA-ES, puede ser posible encontrar mtodos relativamente ms e a simples con la misma capacidad de mejorar la clasicacin. o Hay que resaltar que resulta muy sencillo aadir nuevos objetivos o n modicar los ya existentes a la implementacin con NSGA-II, por lo o que se podr incluir metas como minimizar los falsos positivos para an una clase o la confusin entre dos clases espec o cas. Con esto se obtendr un frente distinto que tuviera en cuenta estas caracter a sticas y se podr elegir el individuo que mantuviera el mejor compromiso a posible entre todos los objetivos que se deseasen.

Por todo esto, la eleccin del mtodo multiobjetivo se debe basar en una o e consideracin entre rendimiento y exibilidad. o

5.5. PRUEBAS FINALES

57

5.5.

Pruebas nales: comparativas de la evolucin o del umbral con otros mtodos e

El mtodo que ha obtenido los mejores resultados de clasicacin entre e o todos los probados ha sido el de incluir el umbral en el genotipo con CMAES, por lo que se ha realizado una bater de pruebas extendida con mltiples a u dominios para comprobar hasta qu punto es generalizable este mtodo. e e Adems, se ha utilizado el mtodo descrito en [23], que bsicamente consiste a e a en construir una distribucin normal con la diferencia entre los resultados o de todos los fold de todas las ejecuciones externas y aplicarle un test t de Student, espec camente el corrected replicated k-fold cross validation ttest descrito en la referencia, comprobando as que las diferencias entre los resultados obtenidos son estad sticamente signicativas. Si el valor de es menor a 0.01, la diferencia se considera signicativa. Se ha comparado con los resultados sin realizar ninguna transformacin o y con los mtodos que obtuvieron los mejores resultados en las primeras e pruebas (seccin 5.1): o Eucl dea: No se realiza transformacin alguna de los datos. o LS: Bsqueda Local. u CMA: Evolucin de la matriz de transformacin con CMA-ES o o diag: la matriz de transformacin es diagonal. o comp: la matriz de transformacin puede tener valores distintos de o cero en todas sus posiciones. Los dominios reales que se han aadido, todos extra n dos del repositorio UCI, son: Bupa: Problemas de h gado en hombres adultos. 345 instancias de 7 atributos. Car: Agrupacin de automviles en distintos tipos. 1728 instancias con o o 6 variables. Diabetes: Diabetes en mujeres nativas americanas de ms de 21 aos. a n 768 instancias de 8 atributos.

58

CAP ITULO 5. EXPERIMENTACION Ionosphere: Pulsos enviados mediante antenas de alta frecuencia en busca de estructuras reconocibles en la ionosfera. 351 instancias con 34 atributos. Yeast: Localizacin de prote o nas. 1484 instancias con 8 atributos.

Tabla 5.10: Comparacin de mejoras y test de signicacin estad o o stica. Se compara la media del porcentaje de individuos clasicados correctamente para los conjuntos de test con la obtenida originalmente sin transformaciones. Dominio Resultado Resultado sin Diferencia CMAES+Umbral transformacin signicativa? o Aleatorio 99.23 49.40 s Bupa 63.18 62.11 no Car 97.54 87.35 s Diabetes 67.18 67.53 no Ionosphere 89.13 86.98 s Iris 94.93 96 no Rectas45 98.7 6.95 s Ripley 88.56 88.71 no Wine 91.30 76.14 s Yeast 51.64 51.97 no

En la comparacin con los datos sin transformar (tabla 5.10), los reo sultados son signicativamente mejores para el 50 % de los dominios. Estas diferencias son ms grandes en el caso de los dominios articiales, pero an a u con esto en varios de los dominios reales hay una mejora notable. Los valores de la tabla 5.11 muestran que en los experimentos en los que hubo diferencia signicativa en los resultados entre los mejores mtodos, sta e e fue a favor del mtodo que inclu el umbral en el genotipo, exceptuando el e a dominio Wine.

5.5. PRUEBAS FINALES

59

Tabla 5.11: Comparacin de los mejores resultados y test de signicacin eso o tad stica. Comparacin entre CMA-ES evolucionando matriz de transformacin y umo o bral y el mtodo, a parte de ste, que obtuvo los mejores resultados. Se muestran las e e medias de aciertos en clasicacin obtenidas mediante validacin cruzada, el mtodo con o o e el que se compara y si hay signicacin en la diferencia. o Dominio Mejor Mtodo Resultado e Resultado Diferencia Anterior Anterior CMAES+Umbral signicativa? Aleatorio CMA-diag 95.70 99.23 s Bupa CMA-comp 64.17 63.18 no Car CMA-comp 97.51 97.54 no Diabetes Eucl dea 67.53 67.18 no Ionosphere CMA-comp 86.60 89.13 s Iris Eucl dea 96 94.93 no Rectas45 CMA-Comp 98.7 98.7 no Ripley LS-diag 88.89 88.56 no Wine CMA-diag 94.17 91.30 s Yeast Eucl dea 51.97 51.64 no

60

CAP ITULO 5. EXPERIMENTACION

Cap tulo 6

Conclusiones6.1. Resumen del Proyecto y Conclusiones

Se han realizado un amplio nmero de experimentos para comprobar de u qu formas se pod mejorar los resultados que consegu el algoritmo de e an a clasicacin K-Vecinos en diversos dominios. o Se realiz en primer lugar una bater de pruebas sencilla basada en o a utilizar matrices diagonales y completas evolucionadas mediante bsqueda u local y CMAES con sus opciones por defecto. Al comprobar que en algunos dominios las matrices diagonales consegu resultados mejores o mucho an mejores que las completas y, sabiendo que en otros dominios son necesarias transformaciones que slo pueden conseguirse con matrices completas para o obtener buenos resultados; se han buscado mtodos que simplicaran las e matrices buscadas pero mantuvieran la posibilidad de tener valores distintos a cero en todas las posiciones. Los mtodos probados fueron: e Evolucionar una matriz diagonal y despus una completa a partir de e ella. En ste caso slo se modicaba la matriz en el segundo paso si los e o resultados del primero produc unos ratios de clasicacin pobres, an o por lo que el proceso terminaba siendo equivalente a realizar las dos pruebas completas. Utilizar un valor prejado como umbral de forma que las posiciones 61

62

CAP ITULO 6. CONCLUSIONES cuyo valor absoluto fuera inferior, se quedaran a cero. Adems se cala cul la funcin de tness como media ponderada entre el ratio de o o clasicacin errneo del conjunto de entrenamiento y el nmero de o o u ceros inverso, de forma que al minimizar esta tness, se trataba de minimizar el error y maximizar el nmero de ceros. Se consiguieron u algunos resultados muy buenos, pero para ello se tuvieron que realizar muchas pruebas para encontrar valores de