Beruflich Dokumente
Kultur Dokumente
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
TABLA DE CONTENIDOS
1. Introduccin.......................................................................................... 3 2. Fundamentos tericos .......................................................................... 5 2.1. El sistema inmune y la teora de seleccin clonal .......................... 5 2.2. Algoritmo CLONALG...................................................................... 6 2.3. Algoritmo CSCA .............................................................................. 8 2.4. Algoritmos y dominios de clasificacin ........................................ 10 2.5. Validacin cruzada........................................................................ 11 3. Descripcin de la solucin.................................................................. 13 3.1. Dominios utilizados ....................................................................... 13 3.2. Descripcin del programa utilizado ............................................. 16 4. Experimentacin y resultados ........................................................... 19 4.1. Experimento 1: Dominio Aleatorio Sencillo ................................. 19 4.2. Experimento 2: Dominio Aleatorio Modificado............................ 20 4.3. Experimento 3: Dominio Bupa...................................................... 20 4.4. Experimento 4: Dominio Car ........................................................ 21 4.5. Experimento 5: Dominio Diabetes ................................................ 21 4.6. Experimento 6: Dominio Ionosphere ............................................ 22 4.7. Experimento 7: Dominio Iris......................................................... 22 4.8. Experimento 8: Dominio Wine ...................................................... 23 4.9. Grficas comparativas .................................................................. 23 5. Conclusiones........................................................................................ 25 6. Referencias .......................................................................................... 27
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
1.
Introduccin
Los Sistemas Inmunolgicos Artificiales (SIA) son sistemas computacionales que imitan al sistema inmune de los animales vertebrados (ms especficamente, de los seres humanos), implementando las funciones, principios y modelos fundamentales de dicho sistema para su aplicacin en la resolucin de multitud de problemas. Estas tcnicas se comenzaron a utilizar en los aos 90 como parte de la rama de la Inteligencia Artificial que se ocupa de los sistemas con inspiracin biolgica, es decir, aqullas tcnicas que imitan comportamientos observados y analizados en la naturaleza y la biologa para resolver problemas que otros algoritmos y tcnicas no pueden resolver o para los cules ofrecen resultados poco satisfactorios. Estas mejoras aportadas por las tcnicas de los SIAs estn basadas, fundamentalmente, en las caractersticas que poseen dichos sistemas (Cruz, 2003): aprendizaje y memoria, descentralizacin, reconocimiento de patrones, paralelismo, diversidad, autorregulacin y deteccin distribuida, por lo que los SIAs se convierten en herramientas eficaces y robustas para su aplicacin en multitud de reas, como el desarrollo de antivirus, los sistemas de deteccin de intrusos (IDS), la proteccin de datos y de redes, la resolucin de problemas de bsqueda y optimizacin, la clasificacin y el reconocimiento de patrones, el aprendizaje automtico, el anlisis y la minera de datos, la navegacin autnoma de robots, etc. En el presente trabajo, se van a analizar la eficacia y el rendimiento de algunas tcnicas extradas de los SIAs, aplicadas a problemas de clasificacin en los que algoritmos clsicos de clasificacin no arrojan buenos resultados. Se van a analizar varios problemas de clasificacin, cada uno de los cules est representado por un dominio o conjunto de datos o patrones representativos del problema. Aunque existen otras tcnicas interesantes dentro de los SIAs (como la seleccin negativa o las redes inmunes), la tcnica que se va a utilizar en este trabajo es la denominada seleccin clonal, un proceso de seleccin, activacin y maduracin de las clulas del sistema inmune que permite reconocer elementos externos a dicho sistema (denominados antgenos) y activar los elementos internos del sistema (anticuerpos) para luchar contra dicho antgeno, as como mejorar el anticuerpo y memorizarlo para conseguir una defensa contra el antgeno ms rpida y ms precisa en un futuro (adaptabilidad y maduracin del sistema inmune). La implementacin de la tcnica de seleccin clonal en un algoritmo est basada en las caractersticas principales del
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 sistema natural (reconocimiento, seleccin, clonacin y maduracin), por lo que los algoritmos que se van a utilizar en el presente trabajo controlarn la interaccin entre los componentes del sistema inmune (en nuestro caso, los elementos clasificadores) y los antgenos externos (los patrones que se quieren clasificar). Es decir, el conjunto de anticuerpos que desarrollarn los algoritmos utilizados ser utilizado para clasificar los patrones de los dominios que sean presentados al sistema. Se van a utilizar dos algoritmos diferentes que implementan la tcnica de seleccin clonal: por una parte, el algoritmo CLONALG, que es uno de los ms utilizados por los SIAs para la resolucin de problemas de muy diversos tipos, y por otra parte, el algoritmo CSCA (Clonal Selection Classification Algorithm), una evolucin de CLONALG desarrollada para su aplicacin en problemas de clasificacin, como los que nos ocupan en este trabajo. En apartados posteriores se detallarn ambos algoritmos en mayor profundidad. El criterio principal que se utilizar para evaluar el comportamiento de los algoritmos utilizados en los problemas de clasificacin ser la tasa de acierto que presenta cada algoritmo en cada dominio probado, ya que el objetivo que se persigue es conseguir mejoras en la clasificacin que realizan otros algoritmos clsicos; sin embargo, tambin es importante prestar atencin al consumo de recursos de los algoritmos utilizados (fundamentalmente el tiempo de ejecucin), ya que aunque se consigan mejoras, si el tiempo de ejecucin es elevado habr que analizar la conveniencia de utilizar cada algoritmo en un momento concreto, o en un dominio de clasificacin en particular.
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
2.
Fundamentos tericos
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Monoespecificidad: Se refiere al reconocimiento de cada antgeno por un linfocito diferente. Hipermutacin somtica: A la hora de realizar clonaciones de anticuerpos generados para luchar contra una infeccin, se producen cambios genticos aleatorios en dichos anticuerpos para conseguir mejores respuestas inmunes.
Como ya se ha dicho, el proceso de seleccin clonal comienza en fases tempranas del desarrollo de un organismo, mediante la eliminacin de linfocitos reconocedores de clulas propias para evitar el desarrollo de enfermedades auto-inmunes (autotolerancia). En etapas posteriores del sistema inmune, cuando el antgeno entra en contacto con los receptores de un linfocito maduro, la clula se activa y se replica para hacer frente a la infeccin. Los clones que se generan, se diferencias en clulas efectoras, y clulas de memoria. Por tanto, se puede decir que los conceptos fundamentales del proceso de seleccin clonal son dos: por un lado, el aprendizaje, conseguido mediante la exposicin repetida a los antgenos, el incremento de las poblaciones de anticuerpos (clonacin), y la maduracin de la afinidad de dichos anticuerpos (mutacin); por otro lado la memoria, representada por la presencia en el organismo de linfocitos de larga vida que se encuentran en reposo, esperando la posibilidad de volver a participar en una respuesta inmune si se produce una infeccin con el mismo antgeno en el futuro. Las mutaciones que se producen en los anticuerpos dentro del proceso de maduracin de la afinidad persiguen mejorar la capacidad de ataque de un anticuerpo a un antgeno, mejorando as la respuesta inmune.
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 funcionan correctamente, la maduracin de la afinidad mediante la mutacin de anticuerpos, la reseleccin de los mejores clones y el mantenimiento de la diversidad de anticuerpos. Los pasos a seguir por el algoritmo se exponen a continuacin: 1. Inicializacin: Se prepara un conjunto aleatorio de N anticuerpos, el cul estar dividido en dos subconjuntos, uno denominado m que almacena la memoria de anticuerpos (al final del algoritmo representar la solucin), y un subconjunto r utilizado para incluir diversidad al sistema. 2. Bucle: Una generacin finaliza cuando se ha ejecutado el bucle para todos los antgenos disponibles. Se pueden ejecutar tantas generaciones como el usuario configure. a. Seleccin de antgeno: Se selecciona aleatoriamente un antgeno, sin reemplazo para la presente generacin (ya no se vuelve a seleccionar en esta generacin). b. Exposicin: Se presenta el antgeno a todos los anticuerpos presentes y se mide la afinidad de cada uno con el antgeno (normalmente con distancias de Hamming). c. Seleccin: Se seleccionan aqullos anticuerpos que presentan mayor afinidad con el antgeno. d. Clonacin: Se clonan los anticuerpos seleccionados de forma directamente proporcional a la afinidad (a mayor afinidad, mayor nmero de clones). e. Maduracin de la afinidad: Se mutan los clones de forma inversamente proporcional a la afinidad (a mayor afinidad, menor grado de mutacin). f. Exposicin de clones: Se presenta el antgeno a todos los clones generados y mutados, y se calcula la afinidad de cada uno. g. Candidatura: Se selecciona el anticuerpo o anticuerpos con mayor afinidad, y se incluye en m, sustituyendo a aqullos que ocupasen sus mismas posiciones en el conjunto m en caso de presentar mayor valor de afinidad. h. Reemplazo: Los elementos con menor afinidad de los restantes en r se sustituyen por anticuerpos aleatorios. 3. Finalizacin: El conjunto m contiene la solucin al problema.
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Los parmetros ms importantes del algoritmo CLONALG son: El nmero de anticuerpos que componen el conjunto inicial (N), as como los valores para m y r, el nmero de anticuerpos que se seleccionan en el paso 2c (n), que define la presin que tienen los anticuerpos para conseguir buenos clones en tiempo reducido (a menor nmero n, mayor presin), el nmero total de anticuerpos a sustituir en el paso 2h (d), que define la diversidad que se introduce en el sistema en cada paso (a mayor d, mayor diversidad), el factor clonal (), que escala el nmero de clones que se generan en el paso 2d, y por ltimo el nmero de generaciones (G). Hay que controlar el problema del sobreaprendizaje para valores muy altos de G.
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Los anticuerpos que no presentan errores (patrones clasificados
incorrectamente), no participan en la clonacin y la maduracin, aunque no son eliminados del conjunto de anticuerpos.
1. Inicializacin: El conjunto inicial de anticuerpos se rellena con un S elementos tomados de la poblacin inicial de antgenos, de forma aleatoria y sin reemplazo. 2. Bucle: Se repiten los siguientes pasos para G generaciones. a. Seleccin y poda: Se expone toda la poblacin de anticuerpos al conjunto de antgenos, se calcula el fitness, se selecciona todo el conjunto, y se poda de la siguiente forma: i. Los anticuerpos con tasa de clasificaciones incorrectas igual a cero se eliminan del conjunto seleccionado. ii. Los anticuerpos con tasa de clasificaciones correctas igual a 0, y clasificaciones incorrectas mayor que cero, se modifican cambiando su clase a aqulla mayoritaria en las clasificaciones realizadas, y se recalcula el fitness. iii. Los anticuerpos cuyo fitness es menor que un umbral son eliminados del conjunto seleccionado y del conjunto base de anticuerpos. b. Clonacin y mutacin: Se realiza de forma proporcional a los valores de fitness, de la misma manera que en CLONALG. c. Insercin: Los clones generados se insertan en la poblacin general de anticuerpos. Se insertan tambin nuevos antgenos de forma aleatoria, para completar el conjunto de anticuerpos. 3. Poda final: Se realiza una ltima exposicin del conjunto de anticuerpos, evaluacin del fitness y poda. 4. Clasificacin: Se clasifica el conjunto de antgenos contra el conjunto de anticuerpos resultante del algoritmo, utilizando una estrategia KNN, es decir, se seleccionan los K anticuerpos con mayor afinidad para cada antgeno, y la clase mayoritaria de dicha seleccin es asignada al antgeno (instancia).
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Existen dos maneras principales de evitar que el conjunto final de anticuerpos se reduzca a una duplicacin de un subconjunto de antgenos (debido a que el conjunto de anticuerpos se inicializa con antgenos):
Lmite en el nmero de generaciones (G): Permite al usuario definir el nivel de adaptacin deseado para un determinado dominio, y establecer un criterio de parada. Es decir, es necesario establecer un nmero suficiente para conseguir un buen aprendizaje, pero sin sufrir sobreaprendizaje. Umbral mnimo de fitness (): Permite eliminar aquellos elementos que no son tiles para el sistema; su efecto es predecible y obvio para una poblacin de anticuerpos dada.
d ( xi , x j ) =
(x
r =1
ir
x jr ) 2
10
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Donde xi y xj son dos patrones y p es el nmero total de atributos de los patrones. Por tanto, la distancia Eucldea nos dar una medida de similitud entre dos ejemplos distintos. No obstante, existen muchas posibles variaciones para calcular la distancia entre dos ejemplos en KNN, como por ejemplo la utilizacin de la distancia de Chebyshev o de Mahalanobis. Adems, existen trabajos (Valls, 2009) que buscan aumentar el porcentaje de acierto de algoritmos de clasificacin clsicos, como KNN, mediante la modificacin directa de los patrones a medida que entran en el clasificador, a travs de una matriz de transformacin que permita, una vez modificados los datos, la utilizacin de la distancia Eucldea para determinar la clase a la que ha de pertenecer el patrn. En lo que se refiere a los dominios de clasificacin, se pueden encontrar multitud de datos en Internet para utilizarlos en experimentos de clasificacin; en concreto, los dominios que se van a utilizar en el presente trabajo, se han extrado de la base de datos del UCI Machine Learning Repository (www.ics.uci.edu/~mlearn), y se explicarn en apartados posteriores.
11
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Una vez que se han realizado todos los experimentos, los resultados del algoritmo se obtendrn computando la media de la tasa de acierto y fallo en aprendizaje y en validacin de todos los experimentos realizados.
12
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
3.
Descripcin de la solucin
Dominio Bupa: Se trata de un dominio utilizado para dividir un grupo de personas en dos clases, aqullos que presentan problemas de hgado y aqullos que no, basndose en una serie de caractersticas y resultados mdicos. El dominio posee 6 atributos, y 2 posibles clases. Los atributos son: 1. Volumen corpuscular medio. 2. Fosfatasa alcalina. 3. Aminotransferasa alanina. 4. Aminotransferasa de aspartato. 5. Gamma-glutamil transpeptidasa. 6. Nmero de bebidas alcohlicas ingeridas al da (la unidad se corresponde con media pinta). En total existen 345 patrones diferentes, 145 pertenecientes a la clase 1, y 200 pertenecientes a la clase 2.
Dominio Car: Dominio que trata de la evaluacin de coches a partir de una serie de atributos representativos. Existen 6 atributos y 4 posibles clases. Los atributos son los siguientes: 1. Precio de compra (muy alto, alto, medio y bajo). 2. Precio de mantenimiento (muy alto, alto, medio y bajo). 3. Nmero de puertas (2, 3, 4, 5 o ms). 4. Nmero de personas que caben en el coche (2, 4 o ms). 5. Tamao del maletero (pequeo, mediano o grande). 6. Seguridad (baja, media o alta).
13
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Se dispone de 1728 patrones, de los cules 1210 pertenecen a la clase unacc, 384 a la clase acc, 69 a la clase good y 65 a la clase vgood.
Dominio Diabetes: Contiene informacin para determinar si una mujer tiene diabetes o no (2 clases diferentes) a partir de los siguientes 7 atributos: 1. Nmero de veces embarazada. 2. Concentracin de glucosa en plasma. 3. Presin sangunea diastlica. 4. Grosor de la piel que envuelve el trceps. 5. Resistencia a la insulina (2-hour serum insulin). 6. ndice de masa corporal. 7. Funcin de diabetes (Diabetes pedigree function). 8. Edad. De un total de 768 instancias, 268 pertenecen a la clase 1 (test positivo para diabetes) y 500 a la clase 0 (test negativo para diabetes).
Dominio Ionosphere: El dominio Ionosphere permite averiguar si una serie de pulsos electromagnticos enviados a la ionosfera son devueltos al origen, es decir, rebotan en la ionosfera, lo cul indica presencia de estructuras de electrones libres, o por el contrario continan adelante y no son captadas de vuelta por un radar, lo que indica la ausencia de dichos electrones libres. Se utilizan 17 pulsos magnticos, cada uno de ellos con 2 parmetros diferentes, por lo que cada instancia del dominio contiene 34 atributos distintos (los cules no se van a exponer en detalle). La clase puede ser 0, en caso de que la emisin electromagntica no rebote y se pierda, y 1 si la emisin rebota en la ionosfera. De un total de 351 instancias, 225 pertenecen a la clase 1 (los pulsos se registran de vuelta en el radar), y 126 pertenecen a la clase 0 (los pulsos se pierden).
Dominio Iris: Se trata de un dominio utilizado para clasificar plantas de la familia Iris. Existen tres clases diferentes de esta planta: Iris Setosa, Iris Versicolour e Iris Virginica. Los atributos utilizados son los siguientes: 1. Longitud del spalo en cm. 2. Anchura del spalo en cm. 14
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 3. Longitud del ptalo en cm. 4. Anchura del ptalo en cm. Se dispone de 150 ejemplos, de los cules 50 pertenecen a cada una de las clases.
Dominio Wine: Este dominio analiza 13 atributos diferentes de vinos cultivados en la misma regin de Italia, pero en zonas diferentes y por personas diferentes. Los atributos son: 1. Alcohol. 2. cido mlico. 3. Ceniza. 4. Alcalinidad de la ceniza. 5. Magnesio. 6. Fenoles totales. 7. Flavanoides. 8. Fenoles no flavanoides. 9. Proantocianidinas. 10. Intensidad del color. 11. Matiz. 12. Medidores OD280/OD315 de vinos diluidos. 13. Prolina. De los 178 ejemplos totales, 59 pertenecen a la clase 1, 71 a la clase 2 y 48 a la clase 3.
Adems de estos dominios extrados de Internet, se han utilizado dos dominios artificiales, es decir, creados especficamente para su utilizacin en este trabajo:
Dominio aleatorio sencillo: El primer dominio consta nicamente de dos atributos y de dos clases, de tal manera que se puede representar en un grfico de dispersin de dos dimensiones, donde el eje de abscisas representa los valores del primer atributo, mientras que el eje de ordenadas representa los valores del segundo atributo. Las clases se representan mediante el color de los puntos.
15
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
Dominio aleatorio modificado: Se va a utilizar un segundo dominio aleatorio, cuyos dos primeros atributos son los mismos, y con los mismos valores, que los utilizados en el dominio anterior, pero que adems aade dos atributos ms, de un rango de valores mucho mayor, lo que provoca que los valores de los datos estn mucho ms dispersos. El objetivo de este dominio es observar si el algoritmo consigue anular estos dos atributos que slo incluyen ruido, y permitir as una correcta clasificacin. En ambos dominios habr un total de 300 instancias de datos, 150 pertenecientes a cada clase.
16
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 o Immunos: Immunos1, Immunos2 e Immunos99. Algoritmos neurales: o LVQ: HierarchicalLVQ, LVQ1, LVQ2_1, LVQ3, MultipassLVQ, MultipasSOM, OLVQ1, OLVQ3 y SOM. o Perceptrn multicapa: BackPropagation, BoldDriverBackPropagation. o Perceptrn simple: Perceptron, WidrowHoff. Algoritmos basados en reglas: o ZeroR.
Por tanto, se escogern los dos algoritmos que nos interesan: CLONALG y CSCA. Los parmetros de configuracin de CLONALG se exponen en la siguiente figura:
Como se observa en la figura, se pueden modificar los siguientes parmetros: tamao del conjunto de anticuerpos, factor clonal, nmero de generaciones, ratio de memoria del conjunto de anticuerpos, semilla inicial, nmero de anticuerpos a seleccionar tras evaluar la afinidad y reemplazo total. En los dominios utilizados se han mantenido todos los valores por defecto (que son los que se muestran en la figura), excepto el
17
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 atributo antibodyPoolSize (tamao del conjunto de anticuerpos inicial), que se ha modificado entre 20 y 30 en funcin del tamao del dominio utilizado, sin que esto haya supuesto grandes diferencias en los resultados obtenidos, as como el nmero de generaciones para evaluar las diferencias en los resultados. A continuacin se exponen los parmetros configurables del algoritmo CSCA:
Los parmetros configurables, en este caso, son: valor de K para el algoritmo KNN utilizado en la clasificacin final, factor clonal, tamao de la poblacin inicial, umbral mnimo de fitness, nmero de particiones, semilla y generaciones totales. En este algoritmo se han variado casi todos los parmetros posibles, aunque los resultados obtenidos con los valores por defecto (que se muestran en la figura) son similares a los mejores resultados obtenidos con diversas configuraciones iniciales. Es decir, no se han mejorado los resultados obtenidos con la configuracin por defecto.
18
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
4.
Experimentacin y resultados
En este apartado se expondrn los diversos experimentos realizados, as como los resultados obtenidos en cada uno de ellos, y su comparacin con los resultados del algoritmo KNN aplicado a cada uno de los dominios utilizados. Como ya se ha citado anteriormente, se utilizar una validacin cruzada de 10 campos, es decir, el conjunto inicial de ejemplos se dividir en 10 subconjuntos, y se realizarn diez entrenamientos y validaciones para cada experimento, utilizando cada vez un subconjunto diferente para test, y los otros nueve para aprendizaje. Por tanto, los resultados obtenidos sern la media de cada una de las ejecuciones de dicha validacin cruzada. Hay que destacar que los resultados para KNN se han extrado del artculo (Valls, 2009).
A continuacin se muestran los resultados obtenidos, tanto en lo que se refiere a las tasas de acierto como al tiempo de ejecucin de cada algoritmo:
19
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
Como se puede observar, los algoritmos CLONALG y CSCA mejoran ligeramente los resultados obtenidos por KNN, aunque no se trata de mejoras muy significativas, ya que los porcentajes de acierto son todava muy bajos. Adems, los algoritmos inmunes tardan ms tiempo en ejecutarse que KNN.
El algoritmo CLONALG no consigue mejorar la tasa de acierto para el dominio Bupa obtenida por el algoritmo KNN, mientras que el algoritmo CSCA s que la mejora, pero muy ligeramente, por lo que los resultados siguen siendo poco satisfactorios. Al igual
20
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 que en experimentos anteriores, los algoritmos inmunes tardan ms tiempo que el algoritmo de KNN.
Como se puede observar, ninguno de los dos algoritmos analizados es capaz de mejorar la tasa de acierto obtenida por el algoritmo KNN; adems, aunque el tiempo de ejecucin de CLONALG aumenta, es muy reseable el aumento de dicho tiempo de ejecucin que experimenta el algoritmo CSCA, ms de 100 veces mayor que el de KNN.
Observamos que nicamente CSCA puede mejorar ligeramente la tasa de acierto obtenida por KNN para este dominio, mientras que CLONALG obtiene una tasa de
21
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 acierto menor. Asimismo, tal y como se pensaba, el tiempo de ejecucin de CSCA aumenta significativamente por el nmero de instancias presentes en el dominio.
El algoritmo CLONALG no consigue mejorar la tasa de acierto obtenida por KNN, cosa que s consigue CSCA aunque con una mejora muy pequea. El nmero de atributos elevado tambin influye en el tiempo de ejecucin de CSCA, que es bastante mayor que el de KNN y CLONALG.
Los resultados obtenidos por los tres algoritmos son muy similares y, en general, bastante satisfactorios. En lo que se refiere al tiempo de ejecucin, al tratarse de pocas 22
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 instancias y atributos, los tiempos son bastante bajos, aunque KNN sigue presentando el tiempo de ejecucin ms reducido de todos.
23
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
Tasas de acierto
100,00% 90,00% 80,00% 70,00% 60,00% 50,00% 40,00% 30,00% 20,00% 10,00% 0,00%
Se nc ill o M od ifi ca do D ia be te s Bu pa e Io no sp he r W in e C ar Ir i s
Al ea to r
io Al ea to r
io
Tiem pos de ejecucin (segundos) 180,00 160,00 140,00 120,00 100,00 80,00 60,00 40,00 20,00 0,00
Al ea to rio Al Se ea nc to rio ill o M od ifi ca do ia be te s Bu pa e Io no sp he r W in e C ar Iri s
24
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
5.
Conclusiones
De todos los resultados extrados de los experimentos que se han realizado en el presente trabajo, se pueden extraer las siguientes conclusiones:
Aunque los dos algoritmos que se han utilizado (CLONALG y CSCA) demuestran cierta robustez desde el punto de vista de que son capaces de afrontar problemas de clasificacin muy diferentes sin modificacin de sus parmetros, obteniendo resultados similares a otros algoritmos de clasificacin ms clsicos, como se puede observar por los resultados obtenidos, ninguno de los dos algoritmos utilizados mejora sensiblemente las tasas de acierto de dichos algoritmos clsicos (KNN).
El algoritmo CLONALG slo ha conseguido mejorar la tasa de acierto ofrecida por KNN en un dominio (Aleatorio Modificado), y se trata del dominio para el que KNN funcionaba peor de todos los que se han utilizado; adems, la mejora que ha conseguido CLONALG es nicamente de un 1%. Para el resto de los dominios, observamos que el uso de CLONALG no es recomendable, ya que no consigue mejorar las tasas de acierto ni los tiempos de ejecucin.
El algoritmo CSCA mejora las tasas de acierto conseguidas por KNN en los dominios Aleatorio Modificado, Bupa, Diabetes e Ionosphere, consigue resultados ms o menos similares en Iris, y no consigue mejorar las tasas de acierto en Aleatorio Sencillo ni en Wine. Adems, en los casos en los que existe mejora, esta es muy pequea, de entre el 1% y el 2%, salvo en Aleatorio Modificado, en el que la mejora es del 6%, aunque como ya se ha dicho se trata del dominio para el que peor se comporta KNN. Adems, analizando los tiempos de ejecucin del algoritmo, se observa que CSCA tarda siempre ms que KNN en obtener la solucin, por lo que tampoco se recomendara especialmente la utilizacin de CSCA por encima de otros algoritmos clsicos de clasificacin.
25
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010 Los tiempos de ejecucin aumentan, para CLONALG y CSCA de forma proporcional al nmero de instancias del dominio y al nmero de atributos, aunque las mejoras obtenidas por los algoritmos (en los casos en que se producen) no tienen ninguna relacin con el tiempo de ejecucin del algoritmo.
El hecho de que ninguno de los algoritmos utilizados (CLONALG y CSCA) consiga mejoras significativas en los dominios probados respecto a KNN puede deberse a que, al final, la forma de extraer medidas de afinidad y de fitness en estos algoritmos de seleccin clonal es la comparacin y el clculo de distancias entre patrones, es decir, la misma tcnica que se utiliza en KNN, por lo que si la base de los algoritmos es similar, es lgico que stos arrojen resultados similares.
Otro tipo de tcnicas, como por ejemplo la programacin automtica, la generacin de programas matemticos que obtienen una funcin para clasificar cada patrn del dominio, han demostrado funcionar bastante mejor que los algoritmos clsicos de clasificacin para estos mismos dominios, ya que abordan el problema desde un enfoque diferente, buscando relaciones matemticas entre los atributos de un dominio y no slo utilizando medidas de similitud entre los patrones de dicho dominio.
26
Aplicacin de algoritmos de seleccin clonal en problemas de clasificacin Computacin No Convencional. Curso 2009/2010
6.
Referencias
Valls, J.M. y Aler, R.: Optimizing Linear and Quadratic Data Transformations for Classification Tasks. ISDA 09. Ninth International Conference on Intelligent Systems Design and Applications, 2009.
Cruz, N. y Coello, C.A.: Optimizacin Multiobjetivo Utilizando el Principio de Seleccin Clonal del Sistema Inmune. 9 Conferencia de Ingeniera Elctrica, Mxico, D.F., 2003.
Brownlee, J.: Clonal Selection Theory & CLONALG. The Clonal Selection Classification Algorithm (CSCA). Technical Report. Swinburne University of Technology (SUT), 2005.
De Castro, L.N. y Von Zuben, F.J.: The Clonal Selection Algorithm with Engineering Applications. GECCO 2000, Workshop on Artificial Immune Systems and Their Applications, Las Vegas, USA, 2000.
De Castro, L.N. y Von Zuben, F.J.: Learning and Optimization Using the Clonal Selection Principle. IEEE Transactions on Evolutionary Computation, Special Issue on Artificial Immune Systems, 2002.
27