SciELO - Scientific Electronic Library Online

 
vol.12 suppl.1Metaheurística GRASP para el problema Vertex Bisection Minimization.Algoritmos para la determinación de los homomorfismos de inmersión de Campos de Galois. índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Cubana de Ciencias Informáticas

versión On-line ISSN 2227-1899

Rev cuba cienc informat vol.12  supl.1 La Habana  2018

 

ARTÍCULO ORIGINAL

 

Evaluación del algoritmo  AR-NSGEP en colecciones de datos desbalanceadas.

 

Evaluation of  the AR-NSGEP algorithm  in  unbalanced  datasets.

 

 

Alain  Guerrero  Enamorado1*, Carlos Morell2, Sebastián Ventura3

1Universidad de las Ciencias Informáticas (UCI), Cuba
2Universidad Central “Marta  Abreu”de las Villas (UCLV),  Cuba
3Universidad de Córdoba (UCO), España

*Autor para la correspondencia: alaing@uci.cu

 

 


RESUMEN

Uno de los grandes problemas que tiene la minería de datos es la existencia del desbalance. Este fenómeno puede afectar gravemente la efectividad de los sistemas de clasificación. Este trabajo persigue como objetivo fundamental obtener información empírica del desempeño del algoritmo AR-NSGEP en colecciones de datos no-balanceados.  Se evaluá  dicho algoritmo en colecciones de datos con diferentes niveles de desbalance.  Se utilizaron colecciones con razones de desbalance entre 1,5 y 40. Durante la etapa de evaluación se utilizaron técnicas de validación cruzada y pruebas estadísticas no-paramétricas para consolidar los resultados obtenidos. La evaluación se realizó con tres métricas muy utilizadas para medir el desempeño en Sistemas Clasificadores con Aprendizaje. Los resultados obtenidos muestran la competitividad del algoritmo AR-NSGEP en colecciones de datos no-balanceados.

Palabras clave: Sistemas Clasificadores con Aprendizaje, Desbalance, Clasificación


ABSTRACT

One of the biggest problems  with data mining is the existence of imbalance. This phenomenon can seriously affect the effectiveness of classification systems. The main objective of this work is to obtain empirical information of the performance of the AR-NSGEP algorithm in unbalanced datasets. This algorithm is evaluated in datasets with different levels of imbalance.  Were  used datasets with an unbalance rate between 1,5 and 40. During the evaluation stage, cross-validation  techniques and non-parametric statistical tests were used to consolidate the results obtained. The evaluation was carried out with three  metrics widely used to measure the performance in Learning Classifier Systems. The obtained results show the competitiveness of the AR-NSGEP algorithm in unbalanced data collections.

Key words: Learning Classifier Systems, Unbalance, Classification


 

 

INTRODUCCIÓN

Las Tecnologías  de la Información  y las Comunicaciones juegan un papel protagónico  en la digitalización de grandes volúmenes  de datos. La extracción  automática  de información comprensible y útil  desde  esta avalancha de datos es de gran importancia para muchos dominios de aplicación. Una de las maneras que han sido desarrolladas para minar estos datos son las técnicas de Aprendizaje Automático (AA). El AA (Gollapudi, 2016) lo define como un mecanismo para la búsqueda de patrones que le permita aprender y hacer predicciones a las máquinas, lo cual implica que sean capaces de mejorar su desempeño futuro a partir de la experiencia.  Se trata de crear programas  capaces de generalizar comportamientos a partir  de una información suministrada en forma de ejemplos. Es, por lo tanto, un proceso de inducción  del conocimiento. Así,  los algoritmos de Aprendizaje Automático  pueden utilizarse para construir modelos de clasificación  a partir  de un proceso de extracción de patrones  desde ejemplos previamente etiquetados. Esto permite que los modelos obtenidos puedan predecir ejemplos nuevos.

Existe una familia de algoritmos de Aprendizaje Automático que utilizan las reglas como forma de Representar el Conocimiento, la cual se combina  con un Método de Solución de Problemas (usualmente Algoritmos Genéticos) para obtener clasificadores interpretables. A este tipo de tecnologías se les llama Sistemas Clasificadores con Aprendizaje (SCA) (Urbanowicz and Browne, 2017).

A pesar de todo este esfuerzo por el desarrollo de algoritmos que sean capaces de procesar eficazmente los datos, existen problemas inherentes a estos que pueden afectar el desempeño  de los SCA. Uno de los más comunes cuando se trata de datos reales  es el desbalance. En (Sanatkar and Haratizadeh, 2015) definen las colecciones de datos no-balanceados como aquellas que tienen una distribución de instancias donde una de las clases  es mayoritaria respecto al resto. En presencia de este fenómeno un algoritmo de clasificación puede que no pierda mucho en exactitud predictiva (ACC) incluso si ignora por completo las instancias de la clase minoritaria. Esto puede ser un problema serio, puesto que precisamente la clase minoritaria puede ser la de mayor interés para un problema dado. Algunos ejemplos de problemas de este tipo pueden ser:

  • Detección de productos defectuosos en una línea de ensamblaje.
  • Detección  de enfermedades en una población  aparentemente sana. Si la enfermedad que se  pretende detectar es rara el problema puede tener un elevado nivel de desbalance.
  • Detección de fraudes bancarios (tarjetas de crédito, transacciones).

Para evitar este problema,  es necesario hacer un tratamiento a nivel de algoritmo o a nivel de datos. Ejemplo del primer caso,  es el trabajo de (Bria et˜al., 2014) donde se presenta un enfoque que utiliza una cascada de clasificadores, donde cada nodo es entrenado por un algoritmo basado en ranking en lugar de utilizar el error de clasificación. El segundo  caso se basa en re-balancear las clases disminuyendo la clase mayoritaria o aumentando la minoritaria. En los trabajos (Xue and Hall, 2015; Japkowicz and Stephen, 2002) se realiza un análisis más profundo de este tema. En general se  utilizan  varios esquemas: sobre-muestreo,  sub-muestreo  y muestreo aleatorio. En los trabajos (Chawla et˜al., 2002; Wang et˜al., 2015) se han utilizado estas técnicas combinadas con algoritmos evolutivos. Otra forma de abordar el problema es utilizando los Algoritmos Evolutivos Multi- Objetivo (AEMO),  de manera que se utiliza un objetivo por cada clase, maximizando al mismo tiempo la exactitud predictiva para la clase minoritaria  y para la clase mayoritaria. Este enfoque puede utilizar  los enfoques clásicos NSGA-II (Deb et˜al., 2002) o SPEA2 (Zitzler et˜al., 2001).

Con este trabajo se persigue  como objetivo fundamental realizar una evaluación del algoritmo AR-NSGEP (Guerrero-Enamorado et˜al., 2018) frente a diferentes niveles de desbalance, para esto se utilizaron colecciones de datos del repositorio UCI (Dua and Karra Taniskidou, 2017). La Sección  2 describe las características fundamentales del algoritmo sometido a evaluación. Posteriormente en la Sección 3 se muestra la metodología seguida para evaluar el algoritmo y se exponen posteriormente los resultados obtenidos. Finalmente, la Sección 4 expone las conclusiones fundamentales del trabajo.

 

MATERIALES Y MÉTODOS

En esta sección se explica  el principio de funcionamiento  del algoritmo utilizado en la evaluación del algoritmo, AR-NSGEP, así como los elementos de diseño fundamentales. Mayor nivel de detalles  se pueden encontrar en el trabajo donde se introdujo (Guerrero-Enamorado et˜al., 2018). Este algoritmo está basado en el trabajo de (Deb and Jain, 2014). Básicamente tiene dos fases, la primera es para el descubrimiento de reglas y sigue el esquema del algoritmo NSGA-III (Deb and Jain, 2014) pero utilizando el punto utópico (Deb, 2014) como punto de referencia. En la segunda fase del algoritmo dichas reglas son ordenadas en forma de lista de decisión.

La primera fase utiliza un ciclo evolutivo clásico (ver figura 1), se parte de la generación y evaluación de la población inicial, posteriormente  se aplican los operadores genéticos de selección, mutación y cruzamiento.

A continuación se evaluá la población obtenida y se da paso a un proceso de reemplazo elitista, que utiliza el esquema del NSGA-III. En este proceso se ordenan  las soluciones en frentes de no-dominancia, las soluciones muy cercanas (a menos de una distancia epsilon) entre sí, dentro de un mismo frente son agrupadas dejando solo una al azar. Dentro de un mismo frente de no-dominancia  son preferibles las soluciones que tienen una distancia euclidiana menor hasta el punto de referencia  utópico de los objetivos. Finalmente se realiza una competición para generar un vector-solución de individuos no redundantes. En cada iteración del ciclo evolutivo se repite el proceso anterior y a su vez esto se realiza para cada clase de la colección de datos.

f01

Figura 1: Ciclo evolutivo o fase de descubrimiento de reglas.

La segunda fase inicia al terminar las iteraciones de la primera fase por cada clase.  Se crea entonces un clasificador vacío. Se ordenan  las reglas obtenidas en la primera fase,  se toma la mejor regla y se adiciona al clasificador, se eliminan de la colección de datos las instancias que esta regla cubre, se reordenan  las reglas pero ahora en la colección de datos reducida,  se extrae nuevamente la mejor regla y se adiciona  al clasificador. Este proceso  se repite hasta que no queden reglas en la lista de la primera fase o instancias en la colección de datos. El clasificador así obtenido es el que se utiliza para evaluar el algoritmo.

2.1 Esquema de codificación de los individuos

En el diseño del algoritmo AR-NSGEP se utilizó la Programación de Expresiones Genéticas (PEG) propuesta por Ferreira (2006). Con esta, se estableció la codificación de los individuos de la población. Esta tecnología aprovecha la eficiencia  de los Algoritmos Genéticos  (AG)  para evolucionar y la potencia de los árboles  de la Programación Genética (PG) para construir reglas en forma de Funciones  Discriminantes (FD).  En este trabajo los individuos  son representados genotípicamente en forma de cadenas de caracteres y fenotípicamente en forma de árboles de expresión que se traducen en una función discriminante.

La tecnología  PEG separa el genotipo en dos partes: la “cabeza”  y la “cola”.  La cabeza puede generarse con funciones, atributos predictores o constantes, su tamaño  es  uno de los parámetros  del algoritmo. Una vez definida la cabeza, el  tamaño  de la cola queda determinado puesto que está  diseñada  para garantizar que existan suficientes elementos terminales en caso de que la cabeza esté compuesta solo de funciones. Esto garantiza la completitud de los árboles de expresión. La cola se genera solamente  con elementos terminales,  es decir, atributos predictores o constantes. En los casos donde la cabeza no tenga solo funciones, la información presente en el genotipo (cabeza + cola) no se expresa  del todo a nivel fenotípico, pero permanece latente hasta que una condición externa (cruzamiento o mutación) permita su activación. Siguiendo  estas restricciones  se genera la población inicial de manera aleatoria.

Por otro lado, el algoritmo AR-NSGEP solo utiliza funciones aritméticas básicas (suma, resta, multiplicación y división) en las FD. Se utiliza un enfoque Michigan (Holland and Reitman, 1977) por lo cual cada individuo codifica una sola regla como una FD. El clasificador final se crea como una base de reglas que es ordenada  en la segunda fase del algoritmo como  se explicó en la sección 2.

El consecuente de cada regla representa la clase que predice y se utilizaron algunos de los operadores genéticos que Ferreira (2006) definió para PEG. A continuación los más importantes:

Operador de selección: no realiza ningún cambio a nivel genotípico, sin embargo contribuye a generar variación en la frecuencia relativa de diferentes genotipos en una población (genetic drift ), debido a que brinda la posibilidad de desaparición  de genes particulares a medida que los individuos mueren o no se reproducen.  La selección  se realiza utilizando un torneo binario que tiene en cuenta los frentes de no-dominancia y la distancia euclidiana pesada hasta el punto de referencia utópico.  Estos elementos permiten crear un sesgo que provoca que los mejores individuos tengan mayor probabilidad de generar
descendencia.

  • Operador de mutación simple: puede aplicarse con una probabilidad definida como parámetro, se cambia en cualquier lugar del genotipo un elemento por otro cualquiera.
  • Mutación  de transposición  con inserción  de secuencia (TIS),  la probabilidad de ocurrencia se  define como parámetro. Se selecciona aleatoriamente  una secuencia de elementos a transponer, esta se escoge aleatoriamente en tamaño y lugar de inicio. Posteriormente  esta secuencia es insertada en una posición aleatoria de la cabeza exceptuando  el inicio para evitar que se formen individuos de un solo elemento.
  • Mutación de transposición con inserción de secuencia en la raíz (TISR), este operador  selecciona aleato- riamente una secuencia de elementos a transponer, pero con la restricción de que inicie con una función. Esta secuencia  es insertada en el inicio de la cabeza del genotipo.
  • Recombinación por un punto, se escoge  aleatoriamente un mismo punto de corte en los progenitores, se  intercambian entonces las partes resultantes  para generar dos nuevos individuos. Por ejemplo, los individuos Aa y Bb generan la descendencia Ab y aB.
  • Recombinación por dos puntos, se seleccionan  dos puntos de corte en cada uno de los progenitores, estos puntos determinan una secuencia de genes en cada uno de ellos. Las secuencias de los progenitores son intercambiadas para generar dos nuevos individuos. Por ejemplo, AaA y BbB generarían la descendencia AbA y BaB.

2.2 Clasificación con Funciones Discriminantes

En el algoritmo AR-NSGEP las reglas codifican en su antecedente una FD. Las FD son expresiones matemáticas en las cuales diferentes tipos de operadores y funciones se aplican a los atributos de una instancia devolviendo un valor numérico (Espejo et˜al., 2010). Este valor numérico se puede  interpretar como una salida de clasificación binaria a partir de definir un umbral (normalmente cero). El clasificador consistiría en una lista de FD, donde cada función  tiene asociada una clase de salida. Para el caso de clasificación  binaria, quedaría  como en la ecuación  1, donde X  es  el vector de atributos de entrada. En este caso la función  f (X ) divide el espacio característico  solamente  en dos regiones. Para el caso de problemas multi-clase se  utiliza  el enfoque uno- contra-todos (OVA)  donde un problema con n-clases  es transformado en n problemas binarios. Este enfoque utiliza cada clase como positiva mientras el resto de las clases son negativas.

if (f(X ) > 0)  then  X ∈ Class1   else X ∈ Class2                                         (1)

2.3 Objetivos que se utilizan  para la aptitud

El algoritmo AR-NSGEP utiliza cuatro objetivos para guiar el proceso de búsqueda multi-objetivo,  tres de ellos en la dirección de la exactitud y el cuarto en la comprensibilidad  de las reglas. Cada uno de estos objetivos se representan  en las ecuaciones 2, 3, 4 y 5 respectivamente.

fo01

En las ecuaciones anteriores vp, vn, f p y f n representan los verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos respectivamente de la matriz de confusión (ver figura 2) que se obtiene al evaluar un individuo en el conjunto de entrenamiento. La ecuación 5 es una métrica de la simplicidad de un individuo. El término  TamañoMáximo  representa el tamaño  más  grande que puede tomar un individuo. La variable TamañoFenotipo, es la longitud del fenotipo del individuo ya expresado. En la sección 2.1 se planteó como puede existir una parte del genotipo que no se expresa  en el fenotipo.

f02

Figura 2: Matriz de confusión de una regla.

2.4 Proceso adaptativo de AR-NSGEP

Shen et˜al. (2008) plantea que en los problemas multi-objetivo  no todos los objetivos son igualmente importantes y en distintos momentos del proceso evolutivo la prioridad de estos puede cambiar. Para enfrentar estas problemáticas AR-NSGEP incorpora una estrategia adaptativa que modifica la importancia relativa entre los objetivos, de manera que toda la población recibe una presión selectiva en la dirección del mejor individuo de la iteración anterior. Para esto se modifican los pesos de la distancia euclidiana  pesada que utiliza el operador de selección (ver sección 2.1) utilizando meta-información del movimiento del mejor individuo en un espacio ROC (ver figura 3).

De esta forma cuando el mejor individuo se mueve  en la dirección A, de una generación a otra significa una buena dirección en los objetivos sensibilidad y especificidad al mismo tiempo, por lo cual se resta importancia a ambos objetivos para reducir la velocidad de exploración del algoritmo y así este se concentre  más en esa vecindad. En cambio, si el mejor individuo se movió en la dirección C, significa que hubo un empeoramiento en ambos objetivos al mismo tiempo, por lo cual se aumenta la velocidad de exploración del algoritmo para permitir que se escape de esa zona. Los casos intermedios B y D se manejan variando la velocidad en uno u otro objetivo según esta misma lógica. Finalmente, a las ecuaciones de ajuste de los pesos que permiten modificar los niveles de importancia de cada objetivo se aplica un amortiguamiento para lograr que los cambios  se realicen de manera menos brusca (ver figura 4).

f03

Figura 3: Análisis ROC del movimiento de O

 

RESULTADOS Y DISCUSIÓN

En esta sección mostramos la metodología seguida para realizar la evaluación del algoritmo AR-NSGEP. Se utilizaron  técnicas  de validación  cruzada en 10 partes, además  de utilizar  en cada partición  cinco semillas aleatorias distintas, generando un total de 50 experimentos por cada pareja algoritmo base de datos. La eva- luación se realiza  en 15 colecciones de datos desbalanceadas frente a seis algoritmos que generan clasificadores interpretables (UCS, GASSIST, HIDER, SLAVE, LOGIT-BOOST y CORE).

3.1 Bases de datos desbalanceadas

Se utilizaron las siguientes colecciones de datos desbalanceadas tomadas del repositorio UCI (Dua and Karra Taniskidou, 2017): glass1, ecoli-0_vs_1, iris0, glass0, glass-0-1-2-3_vs_4-5-6, ecoli1, ecoli2, glass6, ecoli3, ecoli4, glass-0-1-6_vs_5, glass2, glass4, glass5 y ecoli-0-1-3-7_vs_2-6. Como se puede ver en la tabla 1 las primeras nueve tienen una razon de desbalance menor que 9 y las últimas 6 mayor que 9.

f04

Figura 4: Efecto del factor de amortiguamiento

3.2 Herramientas  utilizadas

Para la experimentación se utilizó el marco de trabajo KEEL (Triguero et˜al., 2017), reutilizando las implementaciones que esta herramienta  trae de los algoritmos UCS, GASSIST, HIDER, SLAVE, LOGIT-BOOST y CORE. En cada unos de ellos se utilizaron las configuraciones óptimas que sus desarrolladores  recomiendan. Dichas configuraciones pueden encontrarse condensadas en el trabajo de Fernández et˜al. (2009). Se utilizó un procesador Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz  con GNU/Linux Ubuntu 16.04 LTS y 8GiB de memo- ria RAM. Para el análisis estadístico se utilizaron pruebas no-paramétricas. En particular se utilizó la prueba de Friedman, combinada con las pruebas post hoc de Finner y Li. Según Derrac et˜al. (2011), estas últimas logran los p-valores más pequeños en las comparaciones.

3.3 Resultados

En la Tabla 2 se muestran los resultados obtenidos para la métrica de exactitud predictiva (ACC). La última fila muestra el rankin promedio de cada algoritmo entre todas las colecciones.  Se puede notar como el algoritmo UCS logra el primer lugar 3,37 en el rankin promedio para esta métrica.  Sin embargo, la mayoría  de los algoritmos están muy cercanos en este ranking.

Aplicando la prueba de Friedman se  obtiene un p-valor = 2.2782E-1. Por lo cual no se  logra rechazar la hipótesis nula de que todos los algoritmos se desempeñan de igual manera. Como era de esperar esta métrica no es útil para evaluar colecciones de datos desbalanceadas.

En la Tabla 3 se muestran los resultados obtenidos para la métrica AUC. La última fila muestra el ranking promedio de cada algoritmo entre todas las colecciones de datos. Se puede notar como el algoritmo AR-NSGEP logra el primer lugar 2,17 en el rankin promedio para esta métrica.

Aplicando la prueba de Friedman se obtiene  un p-valor = 1.0000E-5. En la Tabla 5 se muestran los resultadosde varias pruebas post hoc para el AUC donde se nota que los algoritmos HIDER, SLAVE y CORE fueron mejorados significativamente por el algoritmo de control AR-NSGEP. En cambio los algoritmos GASSIST, LogitBoost y UCS no pudieron ser mejorados. Esto constata el efecto que tiene en esta métrica el proceso adaptativo de AR-NSGEP ya que a pesar de no tener en cuenta el desbalance de manera explicita, el algoritmo logra sobreponerse a este.

Tabla 1: Imbalanced data sets

t01

Tabla 2: Resultados de los algoritmos en la métrica ACC

Tabla 3: Resultados de los algoritmos en la métrica AUC

Tabla 4: Resultados de los algoritmos en la métrica NR

Tabla 5: Pruebas estadísticas para la métrica AUC

En la Tabla 4 se muestran los resultados obtenidos para la métrica  NR. La última  fila muestra el ranking promedio de cada algoritmo entre todas las colecciones de datos. Se puede  notar como ahora es el algoritmo SLAVE el que logra el primer lugar 1,83 en el rankin promedio para esta métrica. Se aplicó entonces el método de multi-comparación por pares de Bergmann y Hommel. Para ejecutar esta prueba estadística se utilizó la librería  “scmamp” de R (Calvo and Santafé,  2015). Con esta se  generó  el gráfico  de la figura 5 donde el algoritmo SLAVE está resaltado con el primer lugar del ranking. Las líneas conectan aquellos algoritmos que no tienen diferencia significativa entre ellos.

f05

Figura 5: Prueba de Bergmann y Hommel para la métrica NR

Finalmente, se creó la figura 6 que combina en un único gráfico el desempeño de los algoritmos en las tres métricas evaluadas (ACC, AUC y NR), el área sombreada abarca la zona donde se encuentran  los algoritmos que se desempeñan de manera equivalente respecto a las métricas ACC y AUC al mismo tiempo. En dicha zona se encuentran  los mejores algoritmos: GASSIST, LOGITBOOST,  UCS y AR-NSGEP, este último muy cercano al punto de mejor desempeño. Las líneas conectan a los algoritmos  que no tienen diferencia significativa entre ellos según la prueba de Bergmann y Hommel (ver figura 5). Teniendo en cuenta al mismo tiempo las tres métricas se puede  decir que los algoritmos GASSIST, LOGITBOOST  y AR-NSGEP se desempeñan de manera equivalente.

f06

Figura 6: Gráfico del comportamiento de los algoritmos con el aumento del desbalance para la métrica ACC

 

CONCLUSIONES

Tras la evaluación experimental se pudo constatar la competitividad del algoritmo AR-NSGEP en presencia del desbalance. Los experimentos mostraron  que AR-NSGEP logra quedar entre los primeros lugares del rankin teniendo en cuenta al mismo tiempo las tres métricas (ACC, AUC y NR) utilizadas para evaluar los algoritmos. Para el caso de la métrica AUC, AR-NSGEP quedó en primer lugar del ranking mejorando significativamente a varios de los algoritmos utilizados en la comparación.  Junto con AR-NSGEP, los algoritmos GASSIST y LOGITBOOST  se  desempeñaron de manera equivalente teniendo en cuenta las tres métricas  al mismo tiempo. A pesar de estos resultados,  no se puede  dejar de subrayar que todos los algoritmos que se utilizaron se vieron afectados por este indeseable fenómeno. La métrica ACC no permitió establecer diferencias entre los algoritmos. Esto permitió reafirmar la inefectividad de la métrica ACC para evaluar algoritmos cuando  se está en presencia del desbalance entre las clases.

 

REFERENCIAS BIBLIOGRÁFICAS

Bria, A., Karssemeijer, N., and Tortorella, F. (2014). Learning from unbalanced data: A cascade-based ap- proach for detecting clustered microcalcifications. Medical Image Analysis, 18:241–252.

Calvo, B. and Santafé, G. (2015). scmamp: Statistical Comparison of Multiple  Algorithms in Multiple  Pro- blems. The R Journal, 8(1):248–256.

Chawla, N. V., Bowyer, K. W., Hall, L. O., and Kegelmeyer, W. P. (2002).  SMOTE: Synthetic minority over-sampling technique. Journal of Artificial Intelligence  Research, 16:321–357.

Deb, K. (2014). Multi-objective Optimization.  In Burke, E. K. and Graham, K., editors, Search Methodolo- gies: Introductory Tutorials in Optimization and Decision Support Techniques, chapter 15, pages 403–446. Springer, New York, second edition.

Deb, K. and Jain, H. (2014). An Evolutionary Many-Objective Optimization Algorithm Using Reference-point Based Non-dominated Sorting Approach, Part I: Solving Problems with Box Constraints. IEEE Transactions on Evolutionary Computation, 18(4):577 – 601.

Deb, K.,  Pratap, A., Agarwal, S., and Meyarivan, T.  (2002).  A  Fast and Elitist  Multiobjective  Genetic Algorithm: NSGA-II. IEEE Transactions on evolutionary computation, 6(2):182–197.

Derrac, J., García, S., Molina, D., and Herrera, F. (2011). A practical tutorial  on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms.  Swarm and Evolutionary Computation, 1(1):3–18.

Dua, D. and Karra Taniskidou, E. (2017). {UCI}Machine Learning Repository.

Espejo, P. G., Ventura, S., and Herrera, F. (2010). A Survey on the Application of Genetic Programming to Classification. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 40(2):121–144.

Fernández, A., García, S., Bernadó-Mansilla, E., and Herrera, F. (2009). Genetics-Based Machine Learning for Rule Induction: Taxonomy , Experimental Study and State of the Art.

Ferreira, C. (2006).   Gene Expression Programming Mathematical Modeling by an Artificial Intelligence. Springer-Verlag, Berlin Heidelberg,  second edition.

Gollapudi, S. (2016).  Practical Machine Learning.  Tackle the real-world  complexities of modern machine learning with innovative and cutting-edge techniques.  Birmingham, UK.

Guerrero-Enamorado, A., Morell, C., and Ventura, S. (2018).  A gene expression  programming algorithm for discovering classification rules in the multi-objective  space.   International  Journal of Computational Intelligence  Systems, 11(1):540 – 559.

Holland, J. H. and Reitman, J. O. (1977).  Cognitive  Systems Based on Adaptive  Algorithms.   SIGART Bulletin, (63):49–49.

Japkowicz, N. and Stephen, S. (2002). The class imbalance problem: A systematic study.  Intelligent Data Analysis, 6(5):429–449.

Sanatkar, H. and Haratizadeh, S. (2015).  An XCS-Based Algorithm  for Classifying Imbalanced Datasets. International Journal of Intelligent Systems, 4(6):101–105.

Shen, X., Guo, Y., Chen, Q., and Hu, W. (2008).  A multi-objective  optimization  evolutionary algorithm incorporating preference information based on fuzzy logic. Computational Optimization and Applications, 46(1):159–188.

Triguero, I., González, S., Moyano, J. M., García, S., Alcalá-Fdez, J., Luengo, J., Fernández, A., Del Jeús, M. J., Sánchez, L., and Herrera, F. (2017). KEEL 3.0: An Open Source Software for Multi-Stage Analysis in Data Mining. International Journal of Computational Intelligence  Systems, 10:1238–1249.

Urbanowicz, R. J. and Browne, W. N. (2017). Introduction to Learning Classifier Systems. In Weiss, G. and Tuyls, K., editors, Springer Briefs in Intelligent Systems, page 135. Springer Berlin Heidelberg.

Wang, S., Minku, L. L., and Yao, X. (2015). Resampling-Based Ensemble Methods for Online Class Imbalance

Learning. IEEE Transactions on Knowledge and Data Engineering, 27(5):1356–1368.

Xue, J.-h. and Hall, P. (2015).  Why Does Rebalancing Class-Unbalanced Data Improve  AUC for Linear Discriminant Analysis? IEEE Transactions on Pattern Analysis and Machine Intelligence, 37(5):1109–1112.

Zitzler, E., Laumanns, M., and Thiele, L. (2001). SPEA2: Improving the Strength Pareto Evolutionary Al- gorithm.   Tik  report 103, Computer Engineering and Networks Laboratory (TIK), ETH  Zurich, Zurich, Switzerland.

 

 

Recibido: 28/05/2018
Aceptado: 11/09/2018

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons