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