aprendizaje supervisado en conjuntos de datos no...

137
Aprendizaje supervisado en conjuntos de datos no balanceados con Redes Neuronales Artificiales Métodos de mejora de rendimiento para modelos de clasificación binaria en diagnóstico médico Juan Águila Martínez TRABAJO FINAL DE MÁSTER Dirigido por el Dr. Agustí Solanas Gómez MÁSTER EN INGENIERÍA COMPUTACIONAL Y MATEMÁTICAS Barcelona, Junio de 2017

Upload: others

Post on 19-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Aprendizaje supervisado en conjuntos de datos no balanceados con Redes Neuronales Artificiales

Métodos de mejora de rendimiento para modelos de clasificación binaria en diagnóstico médico

Juan Águila Martínez

TRABAJO FINAL DE MÁSTER

Dirigido por el Dr. Agustí Solanas Gómez

MÁSTER EN INGENIERÍA COMPUTACIONAL Y MATEMÁTICAS

Barcelona, Junio de 2017

Page 2: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Esta obra está sujeta a una licencia de Reconocimiento-NoComercial-SinObraDerivada 3.0 España de Creative Commons C) Copyright © (el autor/a) Reservados todos los derechos. Está prohibido la reproducción total o parcial de esta obra por cualquier medio o procedimiento, comprendidos la impresión, la reprografía, el microfilme, el tratamiento informático o cualquier otro sistema, así como la distribución de ejemplares mediante alquiler y préstamo, sin la autorización escrita del autor o de los límites que autorice la Ley de Propiedad Intelectual.

Page 3: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

FICHA DEL TRABAJO FINAL de MÁSTER

Título del trabajo:

Aprendizaje supervisado en conjuntos de datos no balanceados con Redes

Neuronales Artificiales

Métodos de mejora de rendimiento para modelos de clasificación binaria en

diagnóstico médico

Nombre del autor: Juan Águila Martínez

Nombre del director: Dr. Agustí Solanas Gómez

Fecha de entrega (mm/aaaa): 06/2017

Área del Trabajo Final de Máster: Análisis de datos

Titulación: Máster en Ingeniería Computacional y Matemáticas

Resumen del Trabajo (máximo 250 palabras):

El presente trabajo aborda el problema del reconocimiento de patrones en un conjunto de datos obtenido a partir de imágenes digitalizadas de muestras de líquido de tumor mamario mediante test de aguja fina o FNA. Dicho conjunto de datos presenta un marcado desequilibrio de clases, además de otras características que degradan el rendimiento de las técnicas de clasificación supervisada habituales, como la escasez de datos o el efecto Hughes. El enfoque del trabajo es el siguiente:

- En el primer bloque del trabajo se presenta un estado del arte de las técnicas para trabajar con datos no balanceados, y se realiza una reseña histórica sobre el uso de los clasificadores neuronales (Redes Neuronales Artificiales o ANN).

- En el segundo bloque del trabajo se utilizan las técnicas descritas en el bloque anterior junto a un clasificador neuronal para construir un modelo de reconocimiento de patrones sobre una versión modificada del conjunto de datos Wisconsin Diagnostic Breast Cancer (WDBC).

Los resultados obtenidos en el experimento demuestran que la aplicación de técnicas de preprocesamiento de datos basados en técnicas de sobremuestreo sintético adaptativo y submuestreo informado mejoran hasta en un 7,5% el rendimiento del clasificador de base cuando se trabaja en el escenario indicado. Por otro lado, la utilización de técnicas de ensamble de clasificadores y decisión por votación son capaces de proporcionar modelos más estables (reduciendo la varianza del resultado hasta en un 30%). El trabajo realiza un análisis comprensivo tanto de las técnicas como de los resultados, y proporciona una recomendación general justificada sobre el mejor marco de trabajo a utilizar cuándo deba trabajarse sobre conjuntos de datos con características similares a las del WDBC.

Page 4: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Abstract (in English, 250 words or less):

The following work addresses the problem of recognizing a set of patterns within a database obtained from scanned images through the liquid of mammary samples taken via FNA (Fine Needle Aspiration). Such data present a marked class imbalance, not to mention other features which degrade the usual supervised classification techniques in terms of performance (e.g. the lack of data or the Hughes phenomenon).

The working approach is as follows:

- The first work package presents the current state of techniques dealing with unbalanced data. Furthermore, an historical account is taken into consideration when it comes to neural classifiers (the ANN-based model).

- In the second block of work, these techniques are applied along with a neural classifier to build a model of pattern recognition in relation to a modified version of Wisconsin Diagnostic Breast Cancer (WDBC) set of data.

The results obtained in this test prove that the application of pre-processing based techniques, when carried out with synthetic and adaptive oversampling techniques, along with already informed undersampling, can improve the performance of base classifier up to 7,5%. Furthermore, the application of techniques based on classifier assembling and decision by vote can provide more stable models (reducing the result variance up to 30%).

This work tries to carry out a comprehensive analysis both in terms of techniques and results. This is undertaken to put forward a general justified recommendation focused on how to improve the method applied when it comes to data presenting the above-referred characteristics.

Palabras clave (entre 4 y 8):

Estadística Multivariante, Redes Neuronales, Análisis de Datos, Datos No Balanceados, Modelización Estadística, Machine Learning, Data Mining

Page 5: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Resumen

El presente trabajo aborda el problema del reconocimiento de patrones en un conjunto de datosobtenido a partir de imagenes digitalizadas de muestras de lıquido de tumor mamario mediante testde aguja fina o FNA1. Dicho conjunto de datos presenta un marcado desequilibrio de clases, ademasde otras caracterısticas que degradan el rendimiento de las tecnicas de clasificacion supervisadahabituales, como la escasez de datos o el efecto Hughes.

El enfoque del trabajo es el siguiente:

En el primer bloque del trabajo se presenta un estado del arte de las tecnicas para trabajarcon datos no balanceados, y se realiza una resena historica sobre el uso de los clasificadoresneuronales (Redes Neuronales Artificiales o ANN2).

En el segundo bloque del trabajo se utilizan las tecnicas descritas en el bloque anterior juntoa un clasificador neuronal para construir un modelo de reconocimiento de patrones sobre unaversion modificada del conjunto de datos Wisconsin Diagnostic Breast Cancer (WDBC).

Los resultados obtenidos en el experimento demuestran que la aplicacion de tecnicas de prepro-cesamiento de datos basados en tecnicas de sobremuestreo sintetico adaptativo y submuestreoinformado mejoran hasta en un 7,5% el rendimiento del clasificador de base cuando se trabajaen el escenario indicado. Por otro lado, la utilizacion de tecnicas de ensamble de clasificadores ydecision por votacion son capaces de proporcionar modelos mas estables (reduciendo la varianzadel resultado hasta en un 30%). El trabajo realiza un analisis comprensivo tanto de las tecnicascomo de los resultados, y proporciona una recomendacion general justificada sobre el mejor marcode trabajo a utilizar cuando deba trabajarse sobre conjuntos de datos con caracterısticas similaresa las del WDBC.

1Del ingles Fine Needle Aspiration.2Del ingles Artificial Neural Netowrk.

iii

Page 6: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

iv

Page 7: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Abstract

The following work addresses the problem of recognizing a set of patterns within a databaseobtained from scanned images through the liquid of mammary samples taken via FNA (FineNeedle Aspiration). Such data present a marked class imbalance, not to mention other featureswhich degrade the usual supervised classification techniques in terms of performance (e.g. the lackof data or the Hughes phenomenon).

The working approach is as follows:

The first work package presents the current state of techniques dealing with unbalanceddata. Furthermore, an historical account is taken into consideration when it comes to neuralclassifiers (the ANN-based model).

In the second block of work, these techniques are applied along with a neural classifier tobuild a model of pattern recognition in relation to a modified version of Wisconsin DiagnosticBreast Cancer (WDBC) set of data.

The results obtained in this test prove that the application of pre-processing based techniques,when carried out with synthetic and adaptive oversampling techniques, along with already infor-med undersampling, can improve the performance of base classifier up to 7,5%. Furthermore, theapplication of techniques based on classifier assembling and decision by vote can provide morestable models (reducing the result variance up to 30%).

This work tries to carry out a comprehensive analysis both in terms of techniques and results.This is undertaken to put forward a general justified recommendation focused on how to improvethe method applied when it comes to data presenting the above-referred characteristics.

v

Page 8: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

vi

Page 9: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Agradecimientos

Quiero agradecer su dedicacion al profesor Dr. Agustı Solanas. Su guıa experta ha sido deenorme ayuda en la definicion de las directrices generales y el alcance de este trabajo.

Tambien quiero agradecer a todo el personal docente y administrativo de la Universitat Rovira iVirgili y la Universitat Oberta de Catalunya su excelente labor, que hace facil algo tan complicadocomo la educacion a distancia, incluso para quienes tienen que compaginar los estudios con unajornada laboral completa.

Por ultimo, quiero agradecer su apoyo incondicional a mi pareja y a mi familia.

vii

Page 10: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

viii

Page 11: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Indice general

1. Introduccion 11.1. Contexto y justificacion del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Sistemas de Soporte a la Decision en diagnostico medico . . . . . . . . . . 11.1.2. Utilizacion del test FNA en el diagnostico de cancer de mama . . . . . . . 11.1.3. El problema del desequilibrio de clases . . . . . . . . . . . . . . . . . . . . 2

1.2. Objetivos del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Enfoque del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4. Organizacion del documento y descripcion de las Secciones . . . . . . . . . . . . . 4

2. Redes Neuronales Artificiales (ANN) 52.1. Introduccion a las ANN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2. Clasificacion Supervisada (definiciones) . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1. Definicion formal de la tarea de clasificacion supervisada . . . . . . . . . . 72.2.2. Sobreajuste y subajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.3. Clasificacion binaria y clasificacion multiple . . . . . . . . . . . . . . . . . 7

2.3. Resena historica sobre ANN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1. El modelo neuronal de McCulloch-Pitts . . . . . . . . . . . . . . . . . . . . 82.3.2. El Perceptron simple de Rosenblatt . . . . . . . . . . . . . . . . . . . . . . 92.3.3. El ADALINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.4. El Perceptron multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Evaluacion de modelos de clasificacion 193.1. Metricas de evaluacion de modelos de clasificacion . . . . . . . . . . . . . . . . . . 19

3.1.1. Evaluacion mediante la precision . . . . . . . . . . . . . . . . . . . . . . . 193.1.2. Analisis ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.3. Curvas Precision-Recall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2. Estrategias de evaluacion de modelos de clasificacion . . . . . . . . . . . . . . . . 243.2.1. Submuestreo aleatorio o Holdout . . . . . . . . . . . . . . . . . . . . . . . 253.2.2. Validacion cruzada o Cross-Validation . . . . . . . . . . . . . . . . . . . . 253.2.3. Leave-one-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2.4. Evaluacion por bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3. Comparacion de clasificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4. El problema del desequilibrio de clases 274.1. ¿Por que es difıcil aprender en dominios no balanceados? . . . . . . . . . . . . . . 27

4.1.1. Existencia de subclases poco representadas dentro de la clase minoritaria oSmall Disjuncts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ix

Page 12: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

x INDICE GENERAL

4.1.2. Falta de densidad en los datos de entrenamiento o Lack of density . . . . . 284.1.3. Solape entre clases en zonas concretas o Class Separability Problem . . . . 284.1.4. Efecto del ruido o Noisy data . . . . . . . . . . . . . . . . . . . . . . . . . 284.1.5. Division del conjunto de datos o Dataset shift . . . . . . . . . . . . . . . . 29

4.2. Taxonomıa de tecnicas para datos no balanceados . . . . . . . . . . . . . . . . . . 294.3. Tecnicas de remuestreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3.1. Remuestreo aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3.2. Sobremuestreo sintetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.3.3. Submuestreo informado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.3.4. Submuestreo por limpieza de datos . . . . . . . . . . . . . . . . . . . . . . 364.3.5. Submuestreo mediante k-vecinos: Edited Nearest Neighbors, ENN y Con-

densed Nearest Neighbors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.4. Combinacion de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4.1. Tecnicas de manipulacion de registros . . . . . . . . . . . . . . . . . . . . . 384.4.2. Tecnicas de manipulacion de atributos . . . . . . . . . . . . . . . . . . . . 42

4.5. Metodos hıbridos para conjuntos de datos no balanceados . . . . . . . . . . . . . . 424.5.1. Tecnicas basadas en boosting con introduccion de costes . . . . . . . . . . 424.5.2. Tecnicas basadas en boosting con remuestreo . . . . . . . . . . . . . . . . . 444.5.3. Tecnicas basadas en bagging . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5. Experimento computacional 475.1. El conjunto de datos WDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.1.1. Descripcion del conjunto de datos . . . . . . . . . . . . . . . . . . . . . . . 485.1.2. WDBC modificado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2. Descripcion estadıstica del conjunto de datos . . . . . . . . . . . . . . . . . . . . . 505.2.1. Medidas de centralidad y variabilidad . . . . . . . . . . . . . . . . . . . . . 505.2.2. Analisis de correlacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.2.3. Estandarizacion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . 635.2.4. Analisis de componentes principales . . . . . . . . . . . . . . . . . . . . . . 635.2.5. Seleccion de atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.3. Definicion del marco de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.3.1. Definicion de la estrategia de evaluacion . . . . . . . . . . . . . . . . . . . 71

5.4. Aplicacion de tecnicas de remuestreo y ensamble . . . . . . . . . . . . . . . . . . . 745.4.1. Resumen de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.4.2. Detalle de resultados (configuracion y curvas ROC) . . . . . . . . . . . . . 765.4.3. Lectura de resultados y modelo definitivo . . . . . . . . . . . . . . . . . . . 81

5.5. Ajuste de los parametros de la ANN . . . . . . . . . . . . . . . . . . . . . . . . . 885.5.1. Numero de capas ocultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.5.2. Organizacion de las capas ocultas . . . . . . . . . . . . . . . . . . . . . . . 895.5.3. Funcion de activacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.5.4. Algoritmo de optimizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6. Conclusiones y trabajo futuro 93

Page 13: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Indice de figuras

1.1. Imagenes digitalizadas de una muestra de tumor mamario obtenida mediante FNA.La imagen de la izquierda muestra un tumor benigno, mientras que la derechamuestra un tumor maligno o cancerıgeno. . . . . . . . . . . . . . . . . . . . . . . . 2

2.1. Representacion esquematica del modelo de neurona artificial de McCulloch-Pitts.La salida de la neurona se obtiene aplicando una funcion de activacion a la sumade las entradas ponderadas con los pesos sinapticos. . . . . . . . . . . . . . . . . . 8

2.2. Modelo de McCulloch-Pitts para una neurona artificial, considerando el sesgo comoel peso sinaptico de una entrada adicional. Esto permite expresar el proceso de acti-vacion como el resultado de aplicar una funcion de activacion f sobre las entradas,cuya finalidad es unicamente identificar el signo del potencial sinaptico. . . . . . . 9

2.3. Representacion esquematica del Perceptron de Rosenblatt, recogido originalmenteen Perceptrons [Minsky y Papert, 1969]. . . . . . . . . . . . . . . . . . . . . . . . 10

2.4. A la izquierda Rosenblatt junto al display original del Perceptron. A la derechajunto a una unidad de la capa de predicados. . . . . . . . . . . . . . . . . . . . . . 10

2.5. Topologıa descriptiva del Perceptron multicapa. La capa de entrada se encarga derecoger y transmitir la informacion a un estrato de una o varias capas ocultas, quetras aplicar transformaciones generalmente no-lineales devuelven el pronostico paracada una de las etiquetas a traves de las neuronas de salida. . . . . . . . . . . . . 15

2.6. Preudocodigo de Adam, propuesto por Kingma y Ba en [Kingma y Ba, 2014]. . . 17

3.1. Representacion del espacio ROC. La diagonal muestra la clasificacion aleatoria, demanera que la posicion relativa del clasificador analizado respecta a esta muestrael rendimiento (siendo la esquina superior derecha el clasificador perfecto). . . . . 22

4.1. Taxonomıa de tecnicas hıbridas propuesta por [Galar et al., 2012] . . . . . . . . . 304.2. Esquema de funcionamiento del algoritmo SMOTE. Para cada instancia de la clase

minoritaria se selecciona una de las k instancias mas proximas, para generar unanueva instancia en un punto aleatorio del segmento que une ambas. . . . . . . . . 32

4.3. Esquema del borderline-smote, de [Han et al, 2005]. . . . . . . . . . . . . . . . . . 33

5.1. Distribucion de clases del conjunto de datos WDBC modificado. Se observa la ele-vada prevalencia de la clase negativa. . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.2. Correlacion de metricas por atributo. Se observa la correlacion entre el valor medioy el valor peor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.3. Diagramas de dispersion de metricas por atributo - valor medio contra valor peor.Se observa una fuerte correlacion entre los atributos de valor medio y valor peor. . 55

xi

Page 14: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

xii INDICE DE FIGURAS

5.4. Diagramas de dispersion de metricas por atributo - valor de error contra valor peor.No se observa correlacion entre atributos. . . . . . . . . . . . . . . . . . . . . . . . 56

5.5. Matriz de correlacion para los valores peores. Se muestra la correlacion entre elgrupo de variables geometricas (cercana a 1) y el grupo de variables de concavidad(cercana a .9). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.6. Matriz de correlacion para los valores de error. Se muestra la correlacion entre elgrupo de variables geometricas (cercana a 1) y el grupo de variables de concavidad(cercana a .8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.7. Matriz de graficos de dispersion para los valores peores. No se observan relaciones,aparte de las lineales indicadas en la Figura 5.6. . . . . . . . . . . . . . . . . . . . 61

5.8. Matriz de graficos de dispersion para los valores de error. No se observan relaciones,aparte de las lineales indicadas en la Figura 5.6. . . . . . . . . . . . . . . . . . . . 62

5.9. Analisis de componentes principales de WDBC*. Se observa que las 5 primerascomponentes recogen aproximadamente el 90% de la varianza. . . . . . . . . . . . 65

5.10. Matriz de diagramas de dispersion en el espacio PCA. Se recogen los cruces porpares de las 5 primeras componentes, que explican el 90% de la varianza. . . . . . 66

5.11. Valor relativo de F respecto a Fmax

para cada una de las variables de WDBC*. . . 685.12. Distribucion de worst concave points segun la variable de clase. . . . . . . . . . . . 685.13. Distribucion de smothness error segun la variable de clase. . . . . . . . . . . . . . 695.14. Diagramas de caja por clase para cada una de las variables de WDBC* reducido. . 695.15. Importancia relativa de cada caracterıstica de WDBC* (Random Forests). . . . . 705.16. Curvas ROC para el modelo de base segun atributos de entrada. . . . . . . . . . . 735.17. Modelo de referencia o baseline model . . . . . . . . . . . . . . . . . . . . . . . . . 745.18. Curvas ROC para las tecnicas de sobremuestreo . . . . . . . . . . . . . . . . . . . 765.19. Curvas ROC para las tecnicas de submuestreo . . . . . . . . . . . . . . . . . . . . 775.20. Curvas ROC para las tecnicas de limpieza . . . . . . . . . . . . . . . . . . . . . . 785.21. Curvas ROC para las tecnicas mixtas . . . . . . . . . . . . . . . . . . . . . . . . . 795.22. Curvas ROC para las tecnicas de ensamble . . . . . . . . . . . . . . . . . . . . . . 805.23. Proyeccion de WDBC* sobremuestreado mediante ADASYN en los planos formados

por las 5 primeras componentes principales. . . . . . . . . . . . . . . . . . . . . . 835.24. Fronteras de decision de la ANN representadas sobre la Figura 5.23. Se observa

que la generacion de instancias en las zonas fronterizas mejora el rendimiento delclasificador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.25. Proyeccion de WDBC* submuestreado mediante ClC en los planos formados porlas 5 primeras componentes principales. . . . . . . . . . . . . . . . . . . . . . . . . 85

5.26. Fronteras de decision de la ANN representadas sobre la Figura 5.25. Se observa quela eliminacion de instancias de la clase mayoritaria en las zonas fronterizas aumentala presencia relativa de la clase minoritaria y mejora el rendimiento del clasificador. 86

5.27. Modelo definitivo. Se obtiene mediante submuestreo basado en clusters con la ANNdescrita en 5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.28. Curvas ROC para distinto tamano de red. . . . . . . . . . . . . . . . . . . . . . . 895.29. Curvas ROC para distintas distribuciones de capas ocultas. . . . . . . . . . . . . . 905.30. Curvas ROC para funciones de activacion lineal, logıstica y tanh. . . . . . . . . . 915.31. Curvas ROC correspondientes a los optimizadores SGD, Adam y LBFGS. . . . . . 92

Page 15: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Indice de cuadros

3.1. Matriz de casos para un clasificador. Los elementos de la matriz muestran el volumeno porcentaje de elementos representados en relacion a su clase verdadera y estimada. 20

3.2. Distribucion de costes en la Matriz de Costes. Los costes se utilizan en la evaluacionjunto a los datos del Cuadro 3.1 para obtener una evaluacion basada en coste, y noen precision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3. Tabla de la normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5.1. Atributos del conjunto de datos WDBC. La columna izquierda indica las posicionesde las 3 metricas tomadas para cada atributo. . . . . . . . . . . . . . . . . . . . . 49

5.2. Medidas de distribucion univariante de WDBC*. . . . . . . . . . . . . . . . . . . . 515.3. Medidas robustas de distribucion univariante de WDBC*. . . . . . . . . . . . . . 525.4. Valores propios de la matriz de covarianzas de WDBC*. . . . . . . . . . . . . . . . 645.5. Vectores propios de la matriz de covarianzas de WDBC*. El valor de cada com-

ponente indica la presencia del atributo en la misma, que se ha etiquetado porcolumnas en la tabla para facilitar la lectura. . . . . . . . . . . . . . . . . . . . . . 64

5.6. Paired t-test de las tecnicas de remuestreo y ensamble (contra modelo de referencia). 75

xiii

Page 16: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

xiv INDICE DE CUADROS

Page 17: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Lista de abreviaturas y contracciones

DSS: Decision Support System

ANN: Artificial Neural Network

IA: Inteligencia Artificial

AECC: Asociacion Espanola Contra el Cancer

FNA: Fine Needle Aspiration

WDBC: Wisconsin Diagnostic Breast Cancer

WDBC*: Wisconsin Diagnostic Breast Cancer (modificado)

TP: True Positive

FP: False positive

TN: True Negative

FN: False Negative

ACC: Accuracy

TPR: True Positive Rate

FPR: False Positive Rate

TNR: True Negative Rate

FNR: False Negative Rate

ROC: Receiver Operating Characteristic

AUC: Area Under Curve (ROC)

PPR: Positive Prevalence Rate

ROS: Random Over-Sampling

RUS: Random Under-Sampling

SMOTE: Synthetic Minority Over-Sampling Technique

bSMOTE: borderline-Synthetic Minority Over-Sampling Technique

xv

Page 18: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

xvi INDICE DE CUADROS

ADASYN: Adaptative Synthetic Sampling

NM-*: Near-Miss-*

OSS: One-Sided-Selection

ClC: Cluster Centroids

TL: Tomek’s Links

ENN: Edited Nearest Neighbors

CNN: Condensed Nearest Neighbors

NCL: Neighborhood Cleaning Rule

RSM: Ransom Subspace Method

ADABOOST: Adaptative Boosting

PCA: Principal Component Analysis

LDA: Linear Discriminant Analysis

ANOVA: Analysis of Variance

OOBB: Out-of-bag-Bootstrap

SGD: Stochastic Gradient Descent

Adam: Adaptive Moment Estimation

LBFGS: Broyden–Fletcher–Goldfarb–Shanno Algotithm

Page 19: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Seccion 1

Introduccion

1.1. Contexto y justificacion del trabajo

1.1.1. Sistemas de Soporte a la Decision en diagnostico medico

La utilizacion de Sistemas de Soporte a la Decision o DSS (del ingles Decision Support Systems)en el ambito medico ha demostrado ser una gran herramienta para la prevencion, deteccion ycontrol de propagacion de multiples enfermedades. Uno de los usos mas populares de los DSS enel campo de la medicina es el de soporte a la decision en diagnostico de diversas dolencias, talescomo la diabetes, la hepatitis o multiples tipos de cancer. Estos DSS, en general, son utilizadospor el personal sanitario como herramienta de apoyo en la diagnosis o prognosis de un paciente,aportando una medida de la probabilidad de que dicho paciente desarrolle la afeccion de referencia.Dicha medida es utilizada para completar el juicio experto, y en muchas ocasiones constituye unaparte fundamental de este.

Conceptualmente, estos DSS funcionan dando un pronostico sobre una etiqueta o clase a cadapaciente, que expresa la situacion de este respecto a la dolencia (paciente sano/enfermo). Dichaasignacion se realiza utilizando la experiencia previa en el dignostico de la enfermedad, que seintroduce al sistema en la forma de un conjunto de datos en el que cada paciente ya diagnosticadose recoge en uno o varios registros, de manera que los atributos del paciente se acompanan de unaetiqueta que indica el diagnostico que se realizo. Para la prospeccion de nuevos casos, este conjuntode datos es utilizado por un algoritmo matematico capaz de extraer patrones de los binomiosatributo-etiqueta existentes, aportando una prediccion sobre el nuevo caso no etiquetado. Estatarea -la prediccion de una etiqueta en nuevos casos partiendo de casos anteriores ya etiquetados-se conoce en analisis y minerıa de datos como clasificacion supervisada, y puede llevarse a caboutilizando un amplio rango de tecnicas de la estadıstica clasica como los Modelos Lineales, losClasificadores Bayesianos o las tecnicas mas modernas de Inteligencia Artificial (en adelante, IA).Dentro de este ultimo grupo, las Redes Neuronales Artificiales o ANN (del ingles Artificial NeuralNetworks) han ganado popularidad en los ultimos anos gracias a los avances en las tecnologıasde procesamiento de datos, y han demostrado ser uno de los metodos mas efectivos para realizartareas de clasificacion supervisada en todo tipo de dominios.

1.1.2. Utilizacion del test FNA en el diagnostico de cancer de mama

De acuerdo con la Asociacion Espanola Contra el Cancer (AECC, aecc.es), el cancer de mamarepresenta el tipo de cancer mas frecuente en la mujer, con una incidencia anual de mas de 25.000

1

Page 20: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2 SECCION 1. INTRODUCCION

casos en Espana (el 29% de todos los tumores femeninos). Esta enfermedad supone la primeracausa de mortalidad por cancer en mujeres, con alrededor de 6.000 fallecimientos al ano. Lejos demitigar, las tasas de incidencia de esta enfermedad han aumentado en los ultimo anos, movidassobretodo por el envejecimiento de la poblacion, y actualmente se preve que 1 de cada 8 mujeressufra esta dolencia a lo largo de su vida.

El diagnostico del cancer de mama es uno de los temas que mas preocupa en la comunidadmedica, y da lugar a una gran cantidad de publicaciones cientıficas que presentan distintas tecnicaspara valorar la presencia de la enfermedad -es decir, discriminar la naturaleza del tumor. En gene-ral, estas tecnicas tienen como objetivo proporcionar un diagnostico con un nivel de sensibilidadsimilar al de la biopsia quirurgica abierta, salvando las afectaciones negativas que este metodo dediagnostico tiene sobre el bienestar de la paciente.

Una de las posibles aproximaciones al problema del diagnostico de cancer de mama es lautilizacion de biopsias de aguja fina o FNA (del ingles Fine Needle Aspiration). La FNA es unprocedimiento ambulatorio sencillo, durante el cual se inserta una aguja en la masa o tumor paraextraer celulas que luego seran tenidas y examinadas con el microscopio para obtener imagenesdigitalizadas (Figura 1.1) que puedan servir al medico para realizar el diagnostico sin recurrir aun procedimiento quirurgico mayor.

Figura 1.1: Imagenes digitalizadas de una muestra de tumor mamario obtenida mediante FNA. Laimagen de la izquierda muestra un tumor benigno, mientras que la derecha muestra un tumor maligno ocancerıgeno.

Es en este punto de evaluacion de las muestras donde las tecnicas de inteligencia artificialse presentan como una herramienta de gran potencial para dar soporte a la decision del personalsanitario mediante el desarrollo de DSS. En este caso, el objetivo del DSS es cuantificar la confianzaque se tiene en la presencia del patron buscado, es decir, determinar la naturaleza maligna deltumor.

1.1.3. El problema del desequilibrio de clases

Uno de los grandes retos en el desarrollo de DSS para el diagnostico del cancer es el procesode recoleccion de datos, ya que la manifestacion en una poblacion de afecciones graves es muyminoritaria, lo que da lugar a conjuntos de datos con una presencia relativa muy pequena de laclase de interes (la que identifica al individuo enfermo). Esta situacion se conoce como Problemadel desequilibrio de clases y dificulta el desarrollo de sistemas DSS con un nivel de sensibilidad

Page 21: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

1.2. OBJETIVOS DEL TRABAJO 3

aceptable ya que, en general, cuantos mas casos previos etiquetados existen para cada una de lasclases, mayor es la posibilidad de conseguir comprender los patrones inherentes del problema. Enel caso del diagnostico de cancer, ademas, concurren otras circunstancias que dificultan aun masla labor de extraccion de patrones. De manera no exhaustiva, se pueden mencionar las siguientes:

En general, caracterizar y diagnosticar un paciente que sufre una dolencia grave requieretiempo, por lo que el tamano de los conjuntos de datos (binomios atributos-etiqueta) que sepueden obtener con los recursos sanitarios disponibles suele ser reducido.

El reconocimiento de pacientes da lugar a un gran numero de atributos, muchos de los cuales(a) estan relacionados entre ellos o (b) no son informativos 1.

Por ultimo, la concurrencia de las dos caracterısticas anteriores (pocas observaciones en unespacio de atributos de gran cardinalidad) genera matrices de datos con una relacion deforma elevada (ancho:alto), lo que provoca que los datos se dispersen y afecta negativamenteal comportamiento de la mayorıa de algoritmos de clasificacion supervisada, que basan sufuncionamiento en la localizacion de zonas con una densidad relativa elevada de casos de laclase de interes.

1.2. Objetivos del trabajo

En los ultimos anos se han desarrollado numerosas tecnicas numericas que modifican las apro-ximaciones habituales de clasificacion intentando lidiar con el problema del desequilibrio de clases,ya sea mediante el preprocesamiento del conjunto de datos (modificando la distribucion de clasescon metodos de remuestreo, p.ej.) o por modificacion directa de los algoritmos de clasificacion ha-bituales (ensamblando clasificadores o aplicando penalizaciones por mala clasificacion). Son masescasas, sin embargo, las aproximaciones que estudian este problema en un dominio complejo, en elque concurran ademas otras caracterısticas como las arriba indicadas. El proposito de este trabajoes proporcionar marco de trabajo para este tipo de actuaciones. El enfoque utilizado para llevar acabo dicho objetivo se describe a continuacion.

1.3. Enfoque del trabajo

Con el objetivo de fomentar el desarrollo de tecnicas de analisis de datos capaces de proporcio-nar un pronostico sobre la presencia de cancer con un nivel de sensibilidad aceptable, el HospitalUniversitario de Wisconsin hizo una gran aportacion publicando en 1995 el conjunto de datosBreast Cancer (Wisconsin Diagnostic) (en adelante WDBC) que se ha utilizado como base enla mayorıa de las publicaciones sobre diagnostico de cancer de mama a traves de muestras deFNA desde la fecha. Dicho conjunto de datos, ademas de presentar clases desequilibradas, recogelos problemas de escasez de datos y forma descritos. En este trabajo utilizaremos el WDBC paradesarrollar el marco de trabajo enunciado en 1.2, realizando una evaluacion comprensiva del efectode aplicar metodos de remuestreo de datos y ensamble de clasificadores sobre el rendimiento delas ANN. Esta empresa, no obstante, requerira de una labor previa de aprendizaje sobre ANN,tecnicas de evaluacion de clasificadores y metodos para trabajar datos no balanceados, por lo queconvendra dedicar una parte importante del trabajo a documentar estos tres ambitos.

1Como se vera mas adelante, la adicion de datos redundantes o no informativos a los sistemas de clasificacionsupervisada puede llevar a reducir la precision del pronostico si no se realiza de forma controlada.

Page 22: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4 SECCION 1. INTRODUCCION

1.4. Organizacion del documento y descripcion de las Sec-ciones

El documento se estructura como sigue:

1. El primer capıtulo del trabajo, formado por las Secciones 2 a 4, introduce conceptos generalesrelacionados con el desarrollo de modelos de clasificacion mediante ANN sobre conjuntos dedatos no balanceados (en los que existe un desequilibrio de clases marcado). El bloque seorganiza como sigue:

La Seccion 2 tiene como objetivo introducir, en forma de resena historica, el uso deANN para la realizacion de tareas de clasificacion supervisada.

La Seccion 3, por su parte, se centra en un aspecto crıtico en el desarrollo de modelosde clasificacion: la estrategia de evaluacion de resultados. Esta parte del proceso cobraespecial importancia en el trabajo con datos no balanceados, lo que nos ha llevado adedicarle su propia seccion.

Por ultimo, la Seccion 4 recoge un estado del arte con las aproximaciones disponiblespara afrontar la tarea de clasificacion en conjuntos de datos no balanceados.

2. El segundo capıtulo del documento recoge la aportacion principal de este Trabajo de Fin deMaster, y esta comprendido por las Secciones 5 y 6:

La Seccion 5, la mas extensa del trabajo, recoge la descripcion y resultados de unexperimento computacional que, como se ha indicado, pretende evaluar de la maneramas comprensiva posible los efectos de aplicar las tecnicas descritas en la Seccion 4 alconjunto de datos WDBC.

La Seccion 6 cierra el documento con los comentarios cualitativos que no tienen lugaren la descripcion de resultados del experimento computacional.

Page 23: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Seccion 2

Redes Neuronales Artificiales (ANN)

2.1. Introduccion a las ANN

Las ANN son un conjunto de algoritmos del campo de la IA cuyo proposito es modelar abs-tracciones de alto nivel en datos usando arquitecturas compuestas de transformaciones no-linealesmultiples. En este sentido, las ANN se componen de un conjunto de elementos de proceso, deno-minados neuronas, localizadas en los vertices de un digrafo (grafo dirigido) en una estructura quepermite la propagacion de informacion de neuronas anteriores hacia neuronas posteriores: cadaelemento de proceso recibe una entrada (senal) de las unidades anteriores, y comunica su salida alas unidades posteriores tras aplicar una transformacion no-lineal a la senal entrante. La inferen-cia de las propiedades que se desea obtener ocurre en las neuronas, y la concatenacion de estosmodelos inferenciales da lugar a un modelo unico que recoge la abstraccion buscada.

La mecanica de las ANN tiene su origen en el entendimiento que se tiene sobre el modeloneurologico humano y, si bien actualmente no pretenden cenirse al funcionamiento de este modelobiologico, si comparten con el mismo ciertas caracterısticas que definen el comportamiento deambos sistemas. A continuacion se indican algunas de estas caracterısticas:

El procesamiento de informacion ocurre en muchos elementos simples denominados unidadesde proceso o neuronas.

Las senales se transmiten entre las neuronas a traves de conexiones sinapticas.

Cada enlace de conexion entre dos unidades de proceso tiene asociado un peso denominadopeso sinaptico que pondera la senal transmitida.

Cada unidad de proceso aplica una funcion de activacion o transferencia a las entradas paradeterminar la salida.

A continuacion se mencionan algunas de las ventajas de las ANN frente a otros sistemas deaprendizajes provenientes de la estadıstica clasica:

Pueden orientarse a distintas tareas en el ambito de la IA.

A diferencia de otras tecnicas como el particionamiento recursivo (arboles de decision) y losmodelos lineales, pueden utilizarse para realizar modelizado estadıstico no lineal, lo que lasconvierte en una alternativa a los modelos de regresion logıstica utilizados habitualmente enel ambito medico.

5

Page 24: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

6 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

Si se configuran de la forma adecuada y se exponen a un numero suficiente de patrones deentrada, tienen la capacidad de detectar relaciones complejas entre las variables (relacionesde dependencia/independencia, por ejemplo).

Pueden ser ajustadas para adaptarse a un gran numero de problemas distintos, ya quepermiten un gran numero de opciones de configuracion que van desde la propia arquitecturade la red a los parametros utilizados en el algoritmo de entrenamiento.

Pueden operar en tiempo real, ya que no necesitan reajustarse ante la presentacion de unnuevo caso.

Con la configuracion adecuada y la cantidad necesaria de patrones de entrada, son sistemasestables (presentacion de casos atıpicos, por ejemplo).

Dan lugar a modelos muy expresivos (capaces de reconocer un gran numero de patrones).

Por el contrario, las ANN presentan algunos inconvenientes que deben ser mencionados:

El gran numero de parametros de configuracion que admiten, que se presentaba como unaventaja en el punto anterior, provoca que sean uno de los algoritmos de mas difıcil configu-racion.

Funcionan como una caja negra, y no dan lugar a un conjunto comprensible de reglas -comolas proporcionadas por los arboles de decision o los modelos lineales.

Son exigentes en el uso de recursos de calculo, debido al gran numero de operaciones que serealizan en el proceso de entrenamiento de la red -sobretodo para redes de gran tamano.

Su naturaleza superexpresiva hace que sean tendentes al sobreajuste, y obliga a prestar es-pecial atencion a la configuracion de la red para evitarlo, e incluso a que se anadan a laarquitectura de la red modulos adicionales cuyo unico proposito es olvidar patrones apren-didos.

Aunque si se configuran adecuadamente son sistemas estables, la naturaleza estocastica desu proceso de entrenamiento (que veremos mas adelante) hace que un mismo escenario deentrenamiento pueda dar lugar a clasificadores distintos.

Entre las ventajas de las ANN, se ha mencionado que pueden orientarse a la realizacion de distintastareas relacionadas con la IA. Dichas tareas pueden ser clasificadas en dos grandes bloques:

Tareas de clasificacion supervisada: esta tarea de aprendizaje consiste en presentarle ala red repetidamente datos de entrada consistentes en un patron de estımulos y la respuestaesperada, para comparar despues dicha respuesta con la respuesta que da la red. En virtud deesa comparacion, se realizan ajustes incrementales del modelo para que el resultado previstose acerque cada vez mas a la respuesta esperada. En general, el aprendizaje se lleva a cabosobre un numero determinado de respuestas esperadas o clases, y se basa en un conjuntopre-etiquetado (la clase acompana al conjunto de atributos) que servira como comparable,por lo que nos referimos a esta tarea como clasificacion supervisada.

Page 25: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2.2. CLASIFICACION SUPERVISADA (DEFINICIONES) 7

Tareas de clasificacion no supervisada: en este tipo de tarea, por el contrario, no se leindica a la red cual es la respuesta correcta, por lo que no hay comparacion entre la respuestade la red y la esperada. En este caso no se informa a la red sobre la correccion del resultado,y se le permite realizar sus propias asociaciones (normalmente centradas por un criterio deoptimizacion de algun tipo de funcion de coste).

En las paginas siguientes nos centraremos en el desarrollo de ANN para tareas de clasificacionsupervisada. Esta seccion del trabajo se organizara como sigue: en primer lugar, se proporcionarauna definicion formal de la tarea de clasificacion supervisada (2.2). A continuacion, se realizarauna breve resena historica sobre el desarrollo de las redes neuronales (2.3), desde el primer modeloneuronal simple hasta las redes neuronales multicapa utilizadas en la actualidad.

2.2. Clasificacion Supervisada (definiciones)

2.2.1. Definicion formal de la tarea de clasificacion supervisada

La tarea de clasificacion supervisada (o simplemente clasificacion) se define como sigue [VanPrehn, 2008]: sea X una variable aleatoria vectorial p-variante e Y un conjunto finito de posiblesclases. El espacio de instancias Z sobre X e Y se define como Z = X x Y . Definimos el conjuntode datos de entrenamiento B como un saco {z1, z2, ..., zn} de instancias z

i

2 Z obtenidas de lamisma distribucion de probabilidad P

z

= PXY

(en general desconocida). La tarea de clasificacionconsiste en encontrar una funcion objetivo f capaz de estimar la clase correcta para un objetox 2 X.

La aproximacion de la minerıa de datos a la tarea de clasificacion asume la presencia de unconjunto fijo H ⇢ Y X de funciones de clasificacion o hipotesis h llamado espacio de hipotesis.Dado el conjunto de entrenamiento B se pretende identificar el mejor clasificador en el espaciode hipotesis H. Para este proposito, se emplea un algoritmo de aprendizaje L que realiza unabusqueda en el espacio H tomando como base el conjunto de entrenamiento. Dicho algoritmoinfiere la funcion de clasificacion deseada, que puede ser utilizada para clasificar nuevos objetos x.

2.2.2. Sobreajuste y subajuste

El proceso descrito corresponde a un sistema de aprendizaje inductivo, ya que asume unaconclusion general (la funcion de clasificacion) a partir de premisas que contienen datos particu-lares (el conjunto de entrenamiento) mediante la busqueda de una funcion en un conjunto fijo (elespacio de hipotesis). La definicion del conjunto de entrenamiento y del espacio de hipotesis repre-sentan asunciones a priori del sistema de aprendizaje, que forman la base racional sobre la que seclasificaran nuevas instancias. Dichas asunciones se conocen como sesgo inductivo del clasificador.

El sesgo inductivo tiene que ser fijado con cautela, de manera que el clasificador no quede sobre-ajustado (overfitted) o subajustado (underfitted). Un clasificador esta sobreajustado (subajustado)cuando existe otro clasificador en el espacio de hipotesis que (1) tiene un rendimiento mayor ennuevas instancias derivadas de Z a partir de P

z

y (2) tiene peor rendimiento en el conjunto deentrenamiento B.

2.2.3. Clasificacion binaria y clasificacion multiple

Dentro de la tarea de clasificacion supervisada es posible distinguir los siguientes dominios:

Page 26: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

8 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

Clasificacion binaria, cuando solo son posibles 2 valores o clases para Y .

Clasificacion multiple o multiclase, cuando el conjunto de valores que puede tomar Y essuperior a 2.

El problema de la clasificacion multiclase presenta algunas dificultades adicionales sobre la clasi-ficacion binaria, como por ejemplo la disponibilidad de clasificadores1, la evaluacion del algoritmode clasificacion o la menor presencia relativa de las clases respecto al conjunto total de datos. Dadoque el problema que analizaremos en este trabajo es un problema con solo 2 clases, en adelante alhablar de clasificacion supervisada nos estaremos refiriendo siempre a la clasificacion binaria.

2.3. Resena historica sobre ANN

2.3.1. El modelo neuronal de McCulloch-Pitts

La definicion del primer modelo de neurona artificial se debe a McCulloch y Pitts [McCullochy Pitts, 1943]. La Figura 2.1 recoge la representacion del mismo.

Figura 2.1: Representacion esquematica del modelo de neurona artificial de McCulloch-Pitts. La salidade la neurona se obtiene aplicando una funcion de activacion a la suma de las entradas ponderadas conlos pesos sinapticos.

En el modelo neuronal de McCulloch-Pitts, la tarea de clasificacion es llevada a cabo par-tiendo de un vector con los atributos de una instancia concreta, representados por las entradas{x1, x2, ..., xm

} de la figura, cuyo procesamiento resultara en una respuesta binaria, yk

, asociada ala estimacion que realiza la neurona en la iteracion k sobre la clase de la instancia. Para realizaresta clasificacion, las entradas son ponderadas con una serie de coeficientes {w1,k, w2,k, ..., wm,k

}Tdenominados pesos sinapticos, dando lugar a una combinacion lineal de estas a la que denominare-mos potencial sinaptico, s

k

. Despues, el potencial sinaptico es comparado con una entrada externaadicional denominada umbral o sesgo, b

k

, para definir el estado de activacion de la neurona: si

1Por su naturaleza, la mayorıa de clasificadores solo pueden realizar clasificacion binaria, y es necesario desarrollarmeta-algoritmos de aprendizaje para adaptarlos a un escenario de clasificacion mutiple.

Page 27: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2.3. RESENA HISTORICA SOBRE ANN 9

el valor del potencial sinaptico iguala o supera el umbral de excitacion, la neurona se encuentraactivada (y

k

= 1); en el caso contrario la neurona permanece inactiva (yk

= �1).Es habitual en la bibliografıa considerar el sesgo como el peso sinaptico de una entrada adicional

de valor �1 (Figura 2.2), lo que permite expresar el proceso de activacion como el resultado deaplicar una funcion de activacion f sobre las entradas, cuya finalidad es unicamente identificar elsigno del potencial sinaptico.

Figura 2.2: Modelo de McCulloch-Pitts para una neurona artificial, considerando el sesgo como el pesosinaptico de una entrada adicional. Esto permite expresar el proceso de activacion como el resultado deaplicar una funcion de activacion f sobre las entradas, cuya finalidad es unicamente identificar el signodel potencial sinaptico.

Con esta ultima aproximacion, la salida de la neurona se define como

yk

= f(sk

) =

(1 si

Pm

j=1 wj,k

xj

� bk

=P

m+1j=1 w

j,k

xj

� 0

�1 siP

m

j=1 wj,k

xj

� bk

=P

m+1j=1 w

j,k

xj

< 0

Los pesos sinapticos y el sesgo son los parametros libres del modelo, cuyo ajuste equivale a apren-der a clasificar un conjunto de datos determinado, y diremos que la neurona artificial clasificacorrectamente las clases si, dados los pesos sinapticos {w1, w2, ..., wm

} y el termino de sesgo bk

larecta con ecuacion implıcita

m+1X

j=1

wkj

xj

= 0

es una recta separante de las dos clases.

2.3.2. El Perceptron simple de Rosenblatt

Basandose en el modelo de neurona de McCulloch-Pitts, Frank Rosenblatt [Rosenblatt, 1958]trabajo en un sistema conexionista de un unico estrato o capa con una regla de aprendizaje basadaen correccion del error al que denomino Perceptron (del ingles Perception).

El Perceptron de Rosenblatt, recogido en las Figura 2.3 y 2.4, consta de 3 capas:

Page 28: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

10 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

Una capa de entrada o retina, con un conjunto de unidades de entrada binarias .

Una capa intermedia capa de predicados, que contiene las neuronas que realizan el procesa-miento.

Una capa de salida o capa de respuesta, cuya unica finalidad es entregar una salida binaria.

Figura 2.3: Representacion esquematica del Perceptron de Rosenblatt, recogido originalmente en Per-ceptrons [Minsky y Papert, 1969].

Figura 2.4: A la izquierda Rosenblatt junto al display original del Perceptron. A la derecha junto a unaunidad de la capa de predicados.

Aunque el Perceptron de Rosenblatt dispone de dos estratos de conexiones o sinapsis, solo elestrato que conecta la capa de predicados con la capa de salida dispone de conexiones modificables,puesto que las conexiones entre la retina y la capa de predicados son de valor fijo y su funcion es,unicamente, la de realizar la entrega de entradas a la capa de predicados.

Las aportaciones mas importante de Rosenblatt son la Regla de aprendizaje del Perceptronsimple y el Teorema de convergencia de la regla de aprendizaje, que veremos a continuacion.

2.3.2.1. La regla de aprendizaje del Perceptron simple

La regla de aprendizaje propuesta por Rosenblatt propone el ajuste de los parametros libresdel modelo neuronal mediante un proceso adaptativo que consiste en inicializar los valores de lospesos sinapticos y el sesgo con valores aleatorios e ir modificandolos progresivamente cuando la

Page 29: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2.3. RESENA HISTORICA SOBRE ANN 11

salida del Perceptron en la iteracion, yk

(x), no coincide con la salida esperada, z(x). La expresionutilizada para el ajuste de los pesos, que como veremos en el siguiente punto es un caso particulardel metodo del gradiente, es:

wj,k+1 = w

j,k

+�wj,k

k = 1, 2, ...

siendo

�wj,k

= ⌘k

[yk

(x)� z(x)]xj,k

,

es decir,

wj,k+1 =

8<

:

wj,k

+ 2⌘xj,k

si z(x) = �1 e yk

(x) = 1w

j,k

si z(x) = yk

(x)w

j,k

� 2⌘xj,k

si z(x) = 1 e yk

(x) = �1

9=

; (2.1)

Esto indica que la variacion del peso wj,k

es proporcional al producto del error yk

(x) � z(x) porla componente j-esima del patron de entrada que hemos introducido en la iteracion k, es decir,xj,k

. El parametro ⌘ es un parametro positivo denominado Tasa de aprendizaje, puesto que cuantomayor es mas se modifica el valor del peso sinaptico, y viceversa. Si la tasa de aprendizaje esconstante en todas las iteraciones, ⌘

k

= ⌘, se tiene una Regla de adaptacion con incremento fijo.El aprendizaje, por lo tanto, se realiza con una regla de deteccion del error y correccion, y elsistema solo aprende -modifica los pesos- cuando se equivoca. Notese que el procedimiento parala modificacion del sesgo es analogo, considerando que este puede ser interpretado como un pesosinaptico adicional para una entrada de valor �1.

2.3.2.2. El teorema de convergencia de la regla de clasificacion

El teorema de convergencia del aprendizaje de la regla de clasificacion enunciado por Rosenblattestablece que, si el conjunto de patrones de entrenamiento es linealmente separable, el Perceptronsimple encuentra una solucion en un numero finito de iteraciones, es decir, consigue que la salidade la red coincida con la salida deseada para cada uno de los patrones de entrenamiento.

A diferencia del modelo de McCulloch-Pitts, los Perceptrones tienen cierta importancia practi-ca. La limitacion de poder aplicarse solo a problemas separables linealmente es importante paraconstruir con Perceptrones un modelo general de computacion, pero no es un inconveniente graveen aplicaciones simples de clasificacion (los clasificadores lineales son ampliamente empleados).

2.3.3. El ADALINE

Otro modelo clasico de red neuronal de una sola capa es el ADALINE (del ingles AdaptativeLinear Neuron), introducido por Widrow [Widrow, 1959]. El modelo ADALINE es similar almodelo de Perceptron de Rosenblatt, pero utiliza como funcion de activacion la funcion identidad.El resultado entregado, por tanto, es una combinacion lineal de las entradas ponderadas con lospesos sinapticos, y la salida de la red es un valor continuo (en lugar de binario, como en el casodel Perceptron), que resulta de la expresion

yk

=mX

j=1

wj,k

xj

� bk

=m+1X

j=1

wj,k

xj

Page 30: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

12 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

El entrenamiento del modelo neuronal consiste en determinar los pesos sinapticos y los sesgos demanera que se minimice la funcion de error cuadratico

E =1

2

pX

k=1

(z(x)� yk

(x))2 =1

2

pX

k=1

✓z(x)�

m+1X

j=1

wj,k

xj

◆2

,

donde se ha considerado que el modelo se ajustara utilizando un conjunto de p instancias. Elmetodo utilizado para optimizar (minimizar) la funcion de error es el metodo de Descenso porel gradiente, que consiste en modificar el valor de las variables libres en la direccion opuesta algradiente. La modificacion realizada por dicho patron se define como

wj,k+1 = w

j,k

+�wj,k

,

con

�wj,k

= �⌘ @E

@wj,k

= ⌘[z(x)� yk

(x)]xj,k

j = 1, 2, ...,m+ 1.

Observese que, como se ha indicado en el punto anterior, esta regla coincide con la Regla deaprendizaje del Perceptron simple para una neurona con funcion de activacion la funcion signo,por lo que la Ecuacion (2.1) puede interpretarse como un caso particular de la regla de correccionpara neuronas con salida continua.

2.3.3.1. Funciones de activacion para neuronas con salida continua

Como se acaba de indicar, el modelo ADALINE utiliza como funcion de activacion la identi-dad, aunque veremos a continuacion que es relativamente sencillo generalizar el planteamiendo deWidrow para neuronas con otras funciones de activacion con salida continua.

Definiremos una neurona con salida continua como una unidad de proceso cuya salida vienedada por la siguiente expresion:

y = g(NX

j=1

wi

xj

)

Donde x = (x1, x2, ..., xn

)0 2 R, w = (w1, w2, ..., wn

)0 2 R y g es la funcion de transferencia dela neurona. La funcion de transferencia es la encargada de realizar la transformacion de la sumaponderada de entradas de la neurona y, como se ha dicho antes, puede ser definida para guiarel aprendizaje de la neurona. En general, utilizaremos como funcion de transferencia una de lassiguientes funciones:

Funcion logıstica: La funcion logıstica

g(x) =1

1 + e�2�x

es una funcion de aplastamiento que transforma los valores del potencial sinaptico, queson del intervalo (�1,+1) al intervalo [0, 1]. El parametro �, denominado parametro deganancia, controla la pendiente de la curva, de manera que cuanto mayor es � mas seaproxima la funcion logıstica a la funcion escalon. La utilizacion de la funcion logısticaesta justificada por la simplicidad de su derivada -que despues utilizaremos en la regla deaprendizaje-, que es una funcion de la propia funcion g0(x) = 2�g(x)[1� g(x)].

Page 31: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2.3. RESENA HISTORICA SOBRE ANN 13

Funcion tangente hiperbolica: Una alternativa al uso de la funcion logıstica es la funciontangente hiperbolica

g(x) = tanh(�x) =e�x � e��x

e�x + e��x

que presenta las mismas propiedades que la funcion logıstica: actua como una funcion deaplastamiento (�1,+1)$ [0, 1] y su derivada, g0(x) = �g(x)[1� g(x)], es una funcion dela propia funcion

.

2.3.3.2. La regla de aprendizaje de Widrow-Ho↵ para neuronas con salida continua

Como se ha indicado, es posible generalizar la regla de aprendizaje del ADALINE para funcionesde activacion distintas a la funcion identidad. Para ellos, considerese de nuevo que se requieredeterminar los pesos sinapticos de manera que se minimice la funcion de error cuadratico

E =1

2

pX

k=1

(z(x)� yk

(x))2 =1

2

pX

k=1

(z(x)� g(sk

))2 =1

2

pX

k=1

✓z(x)� g

�m+1X

j=1

wj,k

xj

�◆2

,

donde la funcion de activacion g es cualquier funcion continua y no decreciente que se apliquesobre el potencial sinaptico en la iteracion k, s

k

. El metodo de descenso en la direccion opuestaal gradiente conduce a la siguiente regla de aprendizaje, conocida como Regla de Widrow-Ho↵ oRegla de mınimos cuadrados medios (en ingles, Least Mean Squares):

�wj,k

= �⌘ @E

@wj,k

= ⌘[z(x)� yk

(x)]g0(sk

)xj

j = 1, 2, ...,m+ 1

donde se ha aplicado la regla de la cadena para el calculo de la derivada parcial de la funcion deerror cuadratico.

2.3.4. El Perceptron multicapa

Las limitaciones del Perceptron simple en la resolucion de problemas no linealmente separa-bles llevaron a plantear la necesidad de implementar redes en las que se aumentase el numerode capas introduciendo capas intermedias u ocultas entre la capa de entrada y salida para obte-ner aproximadores universales. Dicho razonamiento se fundamenta en el teorema de Kolmogorov[Kolmogorov, 1957], segun el cual cualquier funcion continua o con un conjunto finito de dis-continuidades f (x1, x2, ..., xn

) definida en [0, 1]n, con n � 2, puede ser representada mediante laexpresion

f (x1, x2, ..., xn

) =2n+1X

i=1

gi

nX

j=1

�ij

(xj

)

!

donde las funciones gi

son funciones continuas y reales de una unica variable elegidas adecuada-mente y las funciones �

ij

son funciones continuas y monotonas crecientes independientes de f .Este resultado establece que cualquier funcion vectorial continua de Rn puede ser aproximada contanta precision como se desee como suma de funciones de una unica variable.

Al tener estas redes multicapa una topologıa mas complicada, tambien se complico el problemade ajustar los pesos sinapticos, por lo que se llego a un perıodo de pesimismo en cuanto a las

Page 32: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

14 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

posibilidades de las redes neuronales. En 1986, sin embargo, se abrio un nuevo panorama con elredescubrimiento del algoritmo de retropropagacion por parte de Rumerhald, Hinton y Williams[Rumerhald, Hinton y Williams, 1986] -el algoritmo de retropropagacion habıa sido planteado porWerbos en 1974.

2.3.4.1. Topologıa del Perceptron multicapa y dinamica de computacion

El Perceptron multicapa es un digrafo (grafo dirigido) que se compone de una capa de unida-des de entrada o sensores, un numero determinado de capas intermedias o unidades de proceso,llamadas capas ocultas, y una capa de salida. Cada capa se conecta con la capa siguiente en unesquema de propagacion hacia adelante (en ingles, feedforward), de manera que las senales leıdaspor los sensores son dirigidas hacia la capa de salida mientras son transformadas en las capasocultas.

Con esta topologıa se pretende establecer una correspondencia entre el conjunto de entrada ylas salidas deseadas, es decir

(x1, x2, ..., xN

) 2 RN ! (y1, y2, ..., yM) 2 RM

Para implementar esta relacion, la capa de entrada tendra tantas neuronas como componentes ten-ga el patron de entrada, es decir, N y la capa de salida tendra tantas neuronas como componentestenga la salida deseada, es decir, M 2. El conjunto de entrenamiento debe contener instanciasetiquetadas que identifiquen los p patrones de entrenamiento, de manera que sabemos que a cadaelemento del patron de entrada le corresponde una salida determinada,

�xi

1, xi

2, ..., xk

N

�!

�yi1, y

i

2, ..., yi

M

�i = 1, 2, ..., p

La Figura 2.5 representa la topologıa descrita.Cabe realizar aquı el siguiente comentario en relacion al tamano del Perceptron: en general es

preferible utilizar redes neuronales pequenas debido al menor numero de parametros a ajustar, quederiva en una mayor velocidad de entrenamiento. Adicionalmente, las redes pequenas suelen teneruna mayor capacidad de generalizacion al introducir nuevos patrones 3. No hay un procedimientoestandar para definir el tamano de una red neuronal, y en general se recomienda partir de unared pequena e ir incrementando el numero de neuronas (mediante mas capas o capas de menortamano) hasta conseguir un resultado satisfactorio (en el que las nuevas neuronas no muestrenuna aportacion relevante). Adicionalmente, cabe notar la importancia de mantener controlado eltamano de los patrones de entrada en el desarrollo de redes neuronales, mediante la eliminacionde atributos redundantes y/o no informativos.

Para explicar la dinamica de computacion que se produce en el Perceptron consideraremos unPerceptron con una unica capa oculta. Como la entrada de cada una de las unidades de procesode una capa es la salida de las unidades de proceso de la capa precedente, y dado que la capade entrada se limita a transmitir la informacion al estrato de capas ocultas, la relacion entrelas entradas (x

i

) y las salidas yi

de un Perceptron multicapa de una sola capa puede expresarse

2Notese que para ejercicios de clasificacion binaria, como el que se llevara a cabo en este trabajo, la aproximacionhabitual es utilizar 2 neuronas en la capa de salida, de manera que cada una de ellas aporta el pronostico sobreuna de las clases.

3Si bien cabe notar que recientemente se han desarrollado redes de gran tamano con excelentes resultados graciasa lo que se conoce como capas de olvido o dropout

Page 33: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2.3. RESENA HISTORICA SOBRE ANN 15

Figura 2.5: Topologıa descriptiva del Perceptron multicapa. La capa de entrada se encarga de recogery transmitir la informacion a un estrato de una o varias capas ocultas, que tras aplicar transformacionesgeneralmente no-lineales devuelven el pronostico para cada una de las etiquetas a traves de las neuronasde salida.

mediante la siguiente funcion:

yi

= g1

LX

j=1

wij

sj

!= g1

LX

j=1

wij

g2

NX

r=1

tjr

xr

!!!

donde wij

es el peso sinaptico de la conexion entre la unidad de salida i y la unidad de proceso jde la capa oculta; L es el numero de unidades de proceso de la capa oculta; g1 es la funcion detransferencia de las unidades de salida, que puede ser una funcion logıstica, una funcion tangentehiperbolica o la funcion identidad; t

jr

es el peso sinaptico que conecta la unidad de proceso j dela capa oculta con el sensor de entrada r y g2 es la funcion de transferencia de las unidades de lacapa oculta, que puede ser tambien una funcion logıstica, una funcion tangente hiperbolica o lafuncion identidad.

Una vez que hemos establecido la topologıa de la red y su dinamica de la computacion, ladeterminacion de los pesos sinapticos definira el diseno completo de la red. Para ello, y siguiendola direccion definida por el ADALINE, se sigue un proceso de entrenamiento, mediante el cual seintroduce secuencialmente cada uno de los patrones y se evalua el error que se comete entre lassalidas obtenidas por la red y las salidas deseadas; los pesos sinapticos se modifican segun el errorcometido, tal y como se indicara a continuacion.

2.3.4.2. Retropropagacion del error: la Regla Delta

El algoritmo de retropropagacion del error (en ingles, backpropagation) trata de determinar lospesos de las conexiones sinapticas de manera que las salidas de la red sean las salidas deseadas,

Page 34: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

16 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

es decir, de manera que se minimice el error total

E =1

2

pX

k=1

MX

i=1

(zi

(x)� yi,k

(x))2

donde el denominador se ha anadido para simplificar la derivacion. El algoritmo de retropropa-gacion utiliza el metodo de descenso de gradiente para ajustar los pesos comenzando por la capade salida, y propagando dicho error a las capas anteriores hasta llegar a las neuronas de entrada.Supongamos que estamos en la iteracion k, y hemos introducido un patron cuya salida es y

k

(x),mientras que la salida esperada es z

k

(x) La regla de modificacion de los pesos de salida es

wij,k+1 = w

ij,k

+�wij,k

donde

�wij,k

= �⌘ @E

@wij,k

= ⌘[zi

� yi,k

]g10(hi

)zj

Se denomina termino delta a la siguiente expresion:

�2i

(k) = g0(hi

)[zi

� yi,k

]

y es la cantidad que iremos propagando hacia atras, por lo que,

�wij,k

= �⌘�2i

(k)zj

2.3.4.3. Aprendizaje con momentos: la Regla Delta Generalizada

En general, la funcion de error cuadratico presenta un gran numero de mınimos locales, lo queprovoca que el algoritmo de optimizacion presentado en el punto anterior (metodo del gradiente)pueda quedar atrapado en un mınimo local (puesto que en este el valor del gradiente es cero).Una tecnica que permite prevenir esta situacion es utilizar valores medios en un entorno, enlugar de utilizar el valor del gradiente en un unico punto. Este metodo, sin embargo, conllevaun coste computacional muy elevado, y no resulta eficiente. Por ello, Hinton y Williams [Hintony Williams, 1986] propusieron que se tuviera en cuenta el gradiente de la iteracion anterior y sepromediara con el gradiente de la iteracion actual, lo que produce una reduccion drastica de lasfluctuaciones en iteraciones consecutivas. Conceptualmente, este proceso equivale a hacer que elalgoritmo descienda por la direccion intermedia entre la direccion marcada por el gradiente (ensentido opuesto) y la direccion seguida en la iteracion anterior. Este procedimiento viene definidopor la expresion

�wj,k

= ↵�wj,k�1 � ⌘

@E

@wj,k

= ↵�wj,k�1 + ⌘�2

k

zj

y corresponde al incremento en cada iteracion del peso sinaptico de la componente j del vectorde datos. A la constante ↵ se le denomina constante de momentos (0 ↵ 1), y controlael grado de modificacion de los pesos en funcion de la etapa anterior. Para ↵ = 0 tenemos laRegla delta original, por lo que a esta aproximacion se la conoce como Regla delta generalizada.La incorporacion de momentos en el algoritmo de retropropagacion tiende a acelerar la bajadacuando iteraciones consecutivas tienen el mismo signo, mientras que frena (estabiliza) la bajadacuando el signo se alterna.

Page 35: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

2.3. RESENA HISTORICA SOBRE ANN 17

2.3.4.4. Alternativas para el entrenamiento: el optimizador Adam

Como alternativa al entrenamiento por descenso de gradiente, en los ultimos anos se handesarrollado algunos algoritmos de optimizacion que pretenden agilizar el proceso de aprendizajede las ANN de retropropagacion. Uno de los mas destacados es el optimizador Adam (del inglesAdaptative Momentum), propuesto recientemente por Kingma y Ba [Kingma y Ba, 2014]. Adammantiene la idea de mover el gradiente en la direccion de la media movil de las ultimas iteraciones(es decir, anadiendo un termino de momento) pero propone realizar la actualizacion del gradientede acuerdo a un termino de momento ajustado con una constante de detrimento. La Figura 2.6recoge el algoritmo original de Kingma y Ba. El optimizador Adam ha demostrado dar lugar a

Figura 2.6: Preudocodigo de Adam, propuesto por Kingma y Ba en [Kingma y Ba, 2014].

convergencias mucho mas rapidas que la optimizacion por descenso de gradiente tradicional, y yase utiliza como optimizador por defecto en numerosos paquetes de Machine Learning. Para masdetalles, puede consultarse el paper original en https://arxiv.org/pdf/1412.6980v8.pdf.

Page 36: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

18 SECCION 2. REDES NEURONALES ARTIFICIALES (ANN)

Page 37: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Seccion 3

Evaluacion de modelos de clasificacion

Llegados a este punto, cabe preguntarse como podemos saber si un modelo de clasificaciones lo suficientemente valido para el proposito para el que ha sido construido. Esto, en casosconcretos, puede determinarse mediante un analisis clasico de hipotesis nula (vease [Pena, 2001]).En ocasiones, sin embargo, o no es posible o el objetivo es seleccionar entre varios modelos oestimar su fiabilidad mediante metricas [Hernandez, 2005]. Para ello existen varios metodos quepermiten evaluar la calidad de un modelo a partir de la evidencia. En esta seccion se presentanlas tecnicas mas utilizadas para este proposito.

La seccion se estructura en 3 puntos:

En el punto 3.1 se analizan las principales aproximaciones para evaluar modelos de clasifi-cacion: la evaluacion mediante la precision, el analisis ROC y el analisis P-R.

El punto 3.2 revisa las principales estrategias para llevar a cabo la evaluacion.

Para finalizar, el punto 3.3 expone como comparar los resultados de 2 modelos de clasificacionen presencia de incertidumbre utilizando el test t pareado.

3.1. Metricas de evaluacion de modelos de clasificacion

3.1.1. Evaluacion mediante la precision

3.1.1.1. El error verdadero, el error de muestra y la precision

La primera metrica de evaluacion de modelos de clasificacion que revisaremos se basa en elporcentaje el error de la hipotesis h con respecto a la funcion objetivo f . Dicho porcentaje deerror puede ser estimado utilizando los datos del espacio de instancias Z, tal y como se vera acontinuacion.

Formalmente, se define el error verdadero de una hipotesis h con respecto a la funcion objetivof como

et

(h) = Prx2D[(�(f(x) 6= h(x))],

donde D es la distribucion de probabilidad que ha generado los datos. En general, sin embargo,la funcion objetivo f es desconocida, por lo que todo lo que se puede conocer sobre la precisionde una hipotesis es el error de muestra. El error de muestra se define, dada una muestra S de

19

Page 38: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

20 SECCION 3. EVALUACION DE MODELOS DE CLASIFICACION

instancias xi

2 X, como

es

(h) =1

n

X

x2S

�(f(x) 6= h(x)),

donde n es el numero de componentes de S, y �(verdadero) = 1, �(falso) = 0. La metrica comple-mentaria al error de muestra se denomina Precision (Accuracy) del modelo, y puede interpretarsecomo el porcentaje de instancias (casos o sujetos) que el modelo ha clasificado correctamente.El procedimiento operativo para medir la precision es el siguiente: en situaciones de clasificacionbinaria, cada instancia es etiquetada con uno de los elementos del conjunto

{”Positivo(P )”, ”Negativo(N)”}

segun la estimacion de la clase a la que pertenece dicha instancia. La aplicacion de un clasificadora un conjunto de casos o sujetos produce cuatro resultados posibles:

Si el caso es positivo y es clasificado como positivo por el clasificador se denomina VerdaderoPositivo (TP, del ingles True Positive)

Si el caso es negativo y es clasificado como positivo se denomina Falso Positivo (FP, delingles Flase Positive), o Error de Tipo I

Si el caso es negativo y es clasificado como negativo se denomina Verdadero Negativo (TN,del ingles True Negative)

Si el caso es positivo y es clasificado como negativo se denomina Falso Negativo (FN, delingles False Negative), o Error de Tipo II

A partir de estos resultados, es posible construir una tabla como la mostrada en el Cuadro 3.1para representar la distribucion de exitos de dicho conjunto. A esta tabla se la denomina Tabla deContingencia o Matriz de Confusion, y se utiliza para expresar el resultado de un clasificador.

Clase VerdaderaClase hipotetica P N

P TP FPN FN TN

Cuadro 3.1: Matriz de casos para un clasificador. Los elementos de la matriz muestran el volumen oporcentaje de elementos representados en relacion a su clase verdadera y estimada.

La diagonal principal de la Matriz de Confusion representa las clasificaciones correctas, mien-tras que la diagonal secundaria representa la confusion o error entre clases. Con estos valores, lametrica de precision enunciada se obtiene a partir de la matriz de confusion como

Accuracy (ACC) =TP + TN

TP + TN + FP + FN.

3.1.1.2. Aplicacion de costes a la evaluacion

En los sistemas de aprendizaje es comun que los errores de clasificar un ejemplo de la claseminoritaria en la clase mayoritaria tengan asociado un coste mayor que la situacion inversa (p.ej.,la clasificacion de un individuo enfermo como sano es menos deseable que la situacion contraria).

Page 39: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

3.1. METRICAS DE EVALUACION DE MODELOS DE CLASIFICACION 21

Para estos casos la precision vista en 3.1.1.1 no es, en general, una buena medida para evaluar lacalidad del modelo, pues considera costes uniformes para todos los errores de clasificacion. En estasituacion cabe la posibilidad de extender el planteamiento de evaluacion presentado anteriormentepara medir la calidad del modelo en terminos de minimizacion de costes, en lugar de utilizar laminimizacion de errores.

Considerese que se pueden determinar los costes de cada clasificacion erronea, de manera quees posible construir una tabla que exprese los costes de todas las combinaciones posibles entre laclase predicha y la real como la presentada en el Cuadro 3.2. A esta tabla se le denomina Matrizde Costes, y puede utilizarse para estimar el coste de un clasificador realizando el producto escalarentre esta y la Matriz de Confusion.

Cuadro 3.2: Distribucion de costes en la Matriz de Costes. Los costes se utilizan en la evaluacion juntoa los datos del Cuadro 3.1 para obtener una evaluacion basada en coste, y no en precision.

Clase VerdaderaClase hipotetica P N

P 0 CI

N CII

0

Los costes CI

y CII

corresponden a los errores de tipo I y II, respectivamente. Notese que loscasos de la diagonal (casos o sujetos bien etiquetados) tienen un coste 0 en el cuadro presentado,pero es posible asignar beneficios mediante la imputacion de costes negativos [Hernandez, 2005].

3.1.1.3. Aproximacion del error verdadero a partir del error de muestra

Al calcular el valor de la metrica de Precision, es inmediato plantear cuestiones sobre la fiabi-lidad del resultado. En este sentido, es posible, dada una muestra de N ejemplos tomada a partirde una distribucion N , aproximar los intervalos de confianza para el error verdadero e

t

(h) a partirdel error de muestra, e

s

(h), utilizando una distribucion normal mediante la expresion

et

(h) ⇡ es

(h)± zc

⇥r

es

(h)(1� es

(h))

N.

Donde la constante zc

se puede establecer a partir del nivel de confianza segun la tabla de ladistribucion de la normal (Cuadro 3.3).

Cabe notar que la distribucion que deberıa utilizarse es la binomial, por tratarse de un eventodiscreto. No obstante, segun el teorema de Moivre, la distribucion binomial del numero de exitosen N pruebas independientes de Bernoulli con probabilidad de exito p en cada intento es, apro-ximadamente, una distribucion normal de media np y desviacion tıpica

pNpq, con q = 1 � p, lo

que permite afirmar que si N es suficientemente grande y se satisfacen determinadas condicio-nes se puede utilizar la distribucion normal para calcular el intervalo de confianza sin perdida degeneralizacion.

Nivel de confianza 50% 80% 90% 95% 99%

zc

0,67 1,28 1,64 1,96 2,58

Cuadro 3.3: Tabla de la normal

Page 40: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

22 SECCION 3. EVALUACION DE MODELOS DE CLASIFICACION

3.1.2. Analisis ROC

3.1.2.1. El espacio ROC

Una tecnica que permite evaluar clasificadores de manera mas completa a la metrica de Preci-sion en problemas de dos clases es el analisis ROC (Receiver Operating Characteristic) [Fawcett,2004]. En el analisis ROC, los valores de la Matriz de Confusion se utilizan normalizados paraevaluar el soporte del modelo de clasificacion. La notacion comunmente utilizada es la siguiente:

Razon o Ratio de Verdaderos Positivos (True Positive Rate), tambien denominada Sensibi-lidad (Sensitivity o Recall): TPR = TP/TP+FN

Razon o Ratio de Falsos Positivos (False Positive Rate), tambien denominada Tasa de FalsaAlarma (Fall-out o False Alarm Rate): FPR = FP/FP+TN

Razon o Ratio de Verdaderos Negativos (True Negative Rate), tambien denominada Espe-cificidad (Specificity): TNR = TN/FP+TN

Razon o Ratio de Falsos Negativos (False Negative Rate), tambien denominada Tasa de Fallo(Miss Rate): FNR = FN/FN+TP

Dado que TPR = 1 � FNR y FPR = 1 � TNR se puede construir un espacio bidimensionalque contenga toda la informacion de la matriz para un conjunto de clasificadores con solo dos delas ratios. La metodologıa comunmente utilizada consiste en representar el Ratio de VerdaderosPositivos (TPR) en el eje de ordenadas y la Razon de Falsos Positivos (FPR) en el eje de abscisas.A este espacio se le denomina espacio ROC, y permite ver las compensaciones relativas entre losbeneficios (verdaderos positivos) y los costes (falsos positivos) de un conjunto de clasificadores. Laaproximacion es la siguiente: el resultado de un clasificador queda descrito por un par (FPR, TPR)que corresponde a un punto (marcador) del espacio ROC, tal y como se muestra en la Figura 3.1.

Figura 3.1: Representacion del espacio ROC. La diagonal muestra la clasificacion aleatoria, de maneraque la posicion relativa del clasificador analizado respecta a esta muestra el rendimiento (siendo la esquinasuperior derecha el clasificador perfecto).

Observese que, con esta base, la diagonal x = y del espacio ROC representa una estrategiade aleatoriedad o no informacion sobre la clase (mismo porcentaje de verdaderos positivos que defalsos positivos), y cualquier punto por debajo de la misma representa un clasificador absurdo (con

Page 41: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

3.1. METRICAS DE EVALUACION DE MODELOS DE CLASIFICACION 23

comportamiento peor que la asignacion aleatoria), que podrıa ser invertido para obtener un clasi-ficador util. Por otro lado, las esquinas del espacio ROC representan los siguientes clasificadorestriviales:

La esquina inferior izquierda (0,0), sobre la diagonal, representa la estrategia de no emitirclasificaciones positivas (sin errores de falso positivo pero sin acierto de verdaderos positivos)

La esquina superior derecha (1,1), tambien sobre la diagonal, representa la estrategia opuesta:emitir unicamente clasificaciones positivas

La esquina superior izquierda representa la clasificacion perfecta

Ası, una de las propiedades mas interesante de la representacion en el espacio ROC es la siguiente[Provost y Fawcett, 1997]: dados dos clasificadores, se puede indicar de manera informal que unclasificador es mejor que otro si esta al noroeste de este (mayor fraccion de verdaderos positivos,menor fraccion de falsos positivos). Por otro lado, los clasificadores situados en la izquierda delespacio ROC -bajo FPR y, habitualmente, bajo TPR- se etiquetan como conservadores, mientrasque por el contrario clasificadores situados a la derecha del plano se etiquetan como liberales.

3.1.2.2. Curvas en el espacio ROC

Cuando se dispone de un clasificador capaz de emitir una probabilidad o puntuacion sobre lapertenencia del sujeto a la clase, la decision sobre la clase a asignar se realiza definiendo puntos decorte o umbrales de decision (en ingles, Classification Threshold), c: si el valor resuelto por por elclasificador es superior al umbral la decision tomada es Positivo (P); en caso contrario, la decisiontomada es Negativo (N). Dado que cada valor de umbral definira un punto diferente en el espacioROC correspondiente a un nivel de decision determinado, es posible imaginar un umbral que varıaen (�1,+1) trazando una curva en el espacio ROC. La curva ROC representa el conjunto deposibles tasas obtenidas por la utilizacion de distintos puntos de corte en un mismo clasificador,y se expresa formalmente como

ROC(.) = {(FPR(c), TPR(c)) , c 2 (�1,+1)} .

En general, si el punto c se incrementa ambas tasas aumentan (clasificador mas liberal), y si elpunto c disminuye ambas tasas disminuyen (clasificador mas conservador).

En la practica, las curvas ROC se generan a partir de un conjunto finito de clasificadores,por lo que pueden interpretarse como una funcion empırica que se aproximara a una curva ROCautentica en la medida que el numero de valores tomados por c tienda a infinito.

3.1.2.3. Indices resumen de la curva ROC

Como se ha visto en el punto anterior, la curva ROC resume graficamente el comportamientode un clasificador en todo el rango de umbrales de corte. Habitualmente, sin embargo, es de interesobtener valores escalares unicos que puedan capturar las caracterısticas esenciales de una curvaROC, de la misma manera que la media o la varianza capturan las caracterısticas esenciales deuna distribucion de datos. En este sentido, la curva ROC se puede usar para generar estadısticosque resumen el rendimiento (o la efectividad, en su mas amplio sentido) del clasificador.

Probablemente el valor mas utilizado para resumir la curva ROC es el area bajo la curvaROC, denotada comunmente AUC (Area Under Curve) [Bamber (1975), Hanley y McNeil (1982)

Page 42: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

24 SECCION 3. EVALUACION DE MODELOS DE CLASIFICACION

y Faraggi y Reiser (2002)]. Este ındice se puede interpretar como la probabilidad de que unclasificador puntue una instancia positiva elegida aleatoriamente con un valor mayor que el de unainstancia negativa. El AUC, por tanto, mide la capacidad discriminativa de un clasificador, demanera que puede considerarse mas discriminativo el clasificador que obtenga una mayor AUC.

Por ultimo, notar que una prueba sin informacion de clase (clasificacion aleatoria) produce lacurva diagonal (y = x), con un AUC de 0,5, por lo que los valores posibles del AUC para unclasificador verosımil estaran comprendidos en el intervalo (0,5, 1).

Si una fraccion especıca de falsos positivos es de interes, por ejemplo t0 entonces ROC(t0)proporciona un ındice relevante conocido como AUC parcial, que corresponde al area parcial bajola curva ROC. Comunmente, el interes se centra sobre un rango de valores (0, t0), es decir, pararatios bajas de FP [Thompson y Zucchini, 1989]. Tal es el caso de las pruebas de deteccion precozen medicina, centradas en obtener la sensibilidad de resultasos para tasas bajas de FP o error detipo I.

3.1.3. Curvas Precision-Recall

3.1.3.1. Curvas en el espacio PR

Un procedimiento de evaluacion alternativo al analisis ROC es utilizacion de curvas Precision-Recall. Como en el caso de la curva ROC, la curva Precision-Recall se basa en la representacionde los valores normalizados de la matriz de confusion a lo largo de los posibles valores del umbralde decision para evaluar la fiabilidad del clasificador. En este caso, el espacio de representacionqueda definido por Razon o Ratio de Verdaderos Positivos (TPR, Sensibilidad o Recall, visto enel apartado 2.1.2.1) en el eje de abscisas junto al valor de Precision 1, definido como TP/TP+FP enel eje de ordenadas.

Como ya se ha indicado, la Sensibilidad mide los beneficios de la clasificacion (probabilidad deque si una instancia pertenece a una clase, sea asignada a dicha clase). El valor de la Precision,por otro lado, mide la probabilidad de que si una instancia es clasificada en una clase concreta,pertenezca en efecto a dicha clase.

En el caso de las curvas Precision-Recall, es habitual utilizar como metrica de resumen lamedida F

, definida como

F�

=(1 + �2) · Precision ·Recall

�2 · Precision+Recall,

donde el parametro � controla la importancia relativa de las medidas de Sensibilidad y Precision.Las curvas P-R ofrecen una informacion cualitativa similar a la que aportan las curvas ROC,

y es posible demostrar que una curva domina en el espacio ROC si, y solo si, domina en el espacioP-R [He y Garcıa, 2009]. En el analisis de datos, sin embargo, es mucho mas habitual que losmodelos se evaluen por el analisis ROC. Para obtener mas informacion sobre las bondades de lascurvas PR se recomienda consultar la web classeval.wordpress.com.

3.2. Estrategias de evaluacion de modelos de clasificacion

Una primera aproximacion para evaluar el modelo de clasificacion consiste en utilizar todo elespacio de instancias para el aprendizaje y calcular el error de muestra de la hipotesis a partir

1No confundir con la metrica de precision, definida como TP+TN/TP+FP+TN+FN

Page 43: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

3.2. ESTRATEGIAS DE EVALUACION DE MODELOS DE CLASIFICACION 25

del mismo conjunto. Esta estrategia, sin embargo, tiende a subestimar las probabilidades de error,ya que los mismos datos se utilizan para inferir la funcion de clasificacion y para evaluar elprocedimiento resultante, favoreciendo claramente las hipotesis que sobreajustan. Se presentana continuacion algunas de las aproximaciones que se han propuesto para resolver este problema[Hernandez et. al., 2004]:

3.2.1. Submuestreo aleatorio o Holdout

Un procedimiento mejor consiste en realizar una division aleatoria del espacio de instancias Zen dos subconjuntos, utilizando el primer subconjunto (tıpicamente dos tercios del espacio original)para el aprendizaje de la hipotesis y el segundo (el tercio restante) para calcular la metrica deprecision. Al primer conjunto se le denomina Conjunto de Entrenamiento (Training Set), mientrasque al segundo se le denomina Conjunto de Validacion o Conjunto de prueba (Test Set).

El submuestreo aleatorio, si bien solventa el problema de premiar el sobreajuste, presenta elclaro inconveniente de depender de la particion realizada, de manera que dos modelos aprendidossobre el mismo conjunto de datos y el mismo espacio de hipotesis pueden presentar resultadosmuy dispares. Adicionalmente, en casos en los que se dispone de pocos datos, el particionamientopuede no ser adecuado, pues reduce aun mas el numero de observaciones utilizadas para inferir lahipotesis h.

3.2.2. Validacion cruzada o Cross-Validation

Un mecanismo que permite reducir la dependencia del resultado del experimento del modo enel que se realiza la particion es la Validacion cruzada (Cross-Validation o k-fold Cross-Validation).En la validacion cruzada, los datos iniciales se particionan en k subconjuntos disjuntos de ta-mano similar. El procedimiento de aprendizaje y evaluacion se repite para las k combinacionesde entrenamiento-validacion, de manera que en la iteracion i el subconjunto D

i

se reserva para laevaluacion y los k� 1 subconjuntos restantes se utilizan de forma conjunta para el entrenamiento.A diferencia de la aproximacion presentada en el punto anterior, en la validacion cruzada cadaconjunto de datos se utiliza k� 1 veces para entrenar el modelo y una vez para evaluarlo, evitan-do el sobreajuste del mismo. En este procedimiento, el error de muestra final se calcula como lamedia aritmetica de los k errores de muestra parciales, y es posible realizar un test estadıstico designificancia para comparar los errores medios de dos clasificadores como se indicara en 3.3.

La principal ventaja del metodo de validacion cruzada es que subsana el problema de depen-dencia de la particion realizada, lo que beneficia claramente a la significancia del resultado.

3.2.3. Leave-one-out

Una variacion del metodo de validacion cruzada consiste en definir el numero de subconjuntos kcomo el tamano del conjunto de datos, de manera que en cada iteracion se deja una unica instanciafuera del conjunto de entrenamiento, y esta es utilizada para realizar la validacion, calculandoseel error de muestra como el porcentaje de iteraciones en las que el elemento que se ha dejadofuera se ha clasificado correctamente. En este metodo el solape entre los conjuntos utilizados pararealizar el entrenamiento en las k iteraciones es maximo, y presenta el claro inconveniente de sercomputacionalmente muy costoso -el algoritmo de clasificacion debe ejecutarse tantas veces comoobservaciones tenga el espacio de instancias- si bien proporciona una estimacion muy estable delerror de muestra.

Page 44: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

26 SECCION 3. EVALUACION DE MODELOS DE CLASIFICACION

3.2.4. Evaluacion por bootstrap

La evaluacion por bootstrap esta indicada en casos en los que se dispone de pocos ejemplos. Elprocedimiento bootstrap es el siguiente: dada una muestra de N ejemplos, se realiza un submues-treo aleatorio con reposicion de N ejemplos para preparar una muestra de entrenamiento. Estamuestra, obviamente, puede contener ejemplos repetidos, y no contendra algunos ejemplos delconjunto original. Los ejemplos no presentes en la muestra de entrenamiento formaran un subcon-junto disjunto al de entrenamiento que podra ser utilizado en la etapa de validacion. El tamano dedicho conjunto de validacion corresponde a la probabilidad de que un ejemplo no sea seleccionadopara el entrenamiento, y puede estimarse calculando la probabilidad de que un ejemplo no salgaen una extraccion y multiplicando este numero por las veces que se realiza la extraccion, es decir,

✓1� 1

N

◆N

.

Considerando una muestra suficientemente grande, tenemos

lımN!+1

✓1� 1

N

◆N

=1

e⇡ 0, 386.

El proceso de seleccion con reemplazo, evaluacion y entrenamiento debe repetirse un numeroprefijado k de veces, para actuar despues como en el caso de la validacion cruzada promediandolos errores o precisiones del clasificador. La principal aportacion de la evaluacion por bootstrapsobre la validacion cruzada es que las k iteraciones son independientes entre sı, por lo que lametrica de evaluacion obtenida es estadısticamente mas robusta.

3.3. Comparacion de clasificadores

Es posible comparar el comportamiento de dos o mas clasificadores respecto a una evidenciadada mediante un analisis estadıstico de significancia [Pena, 2001]. La version mas popular de estetipo de analisis es la llamada prueba t de Student (o student’s t-test), que permite comprobar silas metricas de precision obtenidas para dos clasificadores son significativamente diferentes.

Para la realizacion de una prueba t de Student sobre dos clasificadores, es necesario realizaruna clasificacion recursiva del conjunto de datos con ambas hipotesis, mediante las estrategias devalidacion vistas en 3.2.2, 3.2.3 y 3.2.4, para obtener un conjunto de medidas de la forma

�ej1(h), ..., e

j

i

(h), ..., ejn

(h)

donde eji

(h) es el evaluador obtenido mediante el clasificador j-esimo, con j 2 1, 2 en el subconjuntode validacion i. Estos dos conjuntos permiten calcular la media y la desviacion tipo del evaluadorpara cada clasificador, para obtener el estadıstico t correspondiente a una variable con un gradode libertad como

t =d

sd

,

donde d es la diferencia de los valores medios obtenidos en la evaluacion de ambos clasificadoresy s

d

es la varianza de dicha diferencia. Con este valor, es posible determinar la significancia de ladiferencia mediante la tabla de valores de la distribucion t.

Page 45: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Seccion 4

El problema del desequilibrio de clases

Como se ha indicado en la Seccion 1, es comun encontrar aplicaciones del ambito medico enlos que el entrenamiento del clasificador debe realizarse sobre un conjunto de datos en los que laclase que se intenta predecir tiene una presencia muy inferior al resto de clases. Esta situacion seconoce como el Problema del desequilibrio de clases, o Class imbalance problem, y ha recibido unaatencion creciente de la comunidad investigadora en los ultimos anos debido a la gran cantidad desituaciones reales que dan lugar a conjuntos de datos no balanceados y al coste que suele llevarasociada la clasificacion incorrecta de la clase minoritaria. Esta seccion intenta realizar un estadodel arte de la comprension actual del Problema del desequilibrio de clases y repasa, de formasucinta, las principales aproximaciones desarrolladas hasta la fecha para trabajar con conjuntosde datos no balanceados.

La seccion se organiza en 4 puntos:

En el punto 4.1 se realiza una breve descripcion del Problema del desequilibrio de clases,y se analizan las caracterısticas del conjunto de datos en presencia de las cuales se puedeesperar un decremento del rendimiento del clasificador cuando este se entrena con datos nobalanceados.

El punto 4.2 recoge una propuesta de taxonomıa de tecnicas para trabajar con datos nobalanceados, y sirve como introduccion para los puntos siguientes.

En 4.3, y 4.4 se analizan dos familias de metodos para trabajar con datos no balanceados:los metodos de remuestreo (4.3) y los metodos de ensamble (4.4).

Por ultimo, en 4.5 se introducen nuevas aproximaciones que, uniendo los metodos de remues-treo y ensamble, intentan dar respuesta especıfica al Problema del desequilibrio de clases.

4.1. ¿Por que es difıcil aprender en dominios no balancea-dos?

La mayorıa de estudios sobre el comportamiento de los clasificadores estandar en dominiosno balanceados indican que, en general, se puede esperar un decremento del rendimiento delclasificador en presencia de clases con un nivel de representacion altamente desigual. Dicha perdidade rendimiento es mayor cuanto mayor es el desequilibrio existente, que queda cuantificado por el

27

Page 46: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

28 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

Indice de Prevalencia de la Clase Positiva o PPR (del Ingles, Positive Prevalence Rate). El PPRindica el porcentaje de instancias cuya etiqueta corresponde a la clase de interes.

Estudios recientes revelan que el umbral de PPR a partir del cual se produce un decrementosignificativo de la metrica de precision en los clasificadores depende de otras caracterısticas delconjunto de datos que, al manifestarse junto al desequilibrio de clases, contribuyen a la degra-dacion del rendimiento [Japkowicz y Stephen, 2002]. Los siguientes puntos tienen como objetivodescribir, de forma sucinta, cuales son estas caracterısticas. Para mas informacion sobre el origendel problema del desequilibrio de clases puede consultarse [Lopez et al., 2013]

4.1.1. Existencia de subclases poco representadas dentro de la claseminoritaria o Small Disjuncts

La existencia de subclases poco representadas -grupos de instancias de la clase minoritaria querepresentan un subconcepto distinto al principal dentro de esta- generan un problema en la mayorıade clasificadores (sobretodo en los que se basan en aproximaciones tipo ”divide y venceras”). Enel caso de los conjuntos de datos no balanceados, estas subclases tienen poca prevalencia y es facilque sean confundidas con ruido o datos atıpicos.

4.1.2. Falta de densidad en los datos de entrenamiento o Lack of den-sity

La falta de densidad de datos provoca que los algoritmos inductivos no sean capaces de llevara cabo una generalizacion sobre la distribucion de clases a partir de los datos de entrenamiento,al no encontrar una zona en el espacio de atributos con densidad suficiente como para inducir unpatron. Esta situacion se relaciona tanto con el Problema del desequilibrio de clases como con lacardinalidad del espacio de atributos1.

4.1.3. Solape entre clases en zonas concretas o Class Separability Pro-blem

El problema de la separabilidad de clases se relaciona con la presencia de instancias de laclase de interes en la zona fronteriza y da lugar a que ambas clases tengan una representacionsimilar (misma probabilidad a priori) en tramos concretos de valores del vector de atributos. Estasituacion hace imposible separar funcionalmente las clases, y provoca una degradacion notable delrendimiento del clasificador (vease [Prati, 2004]) aun en situaciones de equilibrio de clases. Enel caso de los conjuntos de datos no balanceados, la subrepresentacion del concepto que expresala clase minoritaria hace que prevalezca la informacion de la clase negativa o mayoritaria, dandolugar a errores de Falso Negativo para las instancias de la clase minoritaria en las zonas fronterizas.

4.1.4. Efecto del ruido o Noisy data

Las instancias atıpicas cobran especial importancia en los conjuntos de datos no balanceadosdebido a la dificultad para discriminar este tipo de datos de conceptos subrepresentados de la claseminoritaria. Adicionalmente, estos datos atıpicos afectan negativamente al rendimiento de algunos

1Ver referencia a la Maldicion de la dimensionalidad o efecto Hughes en 5.1

Page 47: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.2. TAXONOMIA DE TECNICAS PARA DATOS NO BALANCEADOS 29

metodos de remuestreo, al provocar estos la generalizacion de conceptos a partir de instancias quesolo son ruido.

4.1.5. Division del conjunto de datos o Dataset shift

El problema de separacion del conjunto de datos ocurre cuando las instancias de entrenamientoy test siguen una distribucion de probabilidad distinta, dando lugar a un decremento del rendi-miento del clasificador en el conjunto de test. Este problema, en general, viene provocado por unsesgo en la particion del conjunto de datos, y es facilmente manejable siguiendo una estrategiaadecuada de validacion. Sin embargo, al trabajar con conjuntos de datos no balanceados, la pocarepresentacion de la clase minoritaria hace que el resultado sea especialmente sensible a erroressingulares de clasificacion, debido a que el pequeno numero de ejemplos puede llevar a particionesde entrenamiento y test sesgadas.

4.2. Taxonomıa de tecnicas para datos no balanceados

En general, las tecnicas para trabajar con datos no balanceados pueden agruparse en los si-guientes grandes bloques:

1. Tecnicas de remuestreo (en ingles, resampling) que realizan una transformacion del conjuntode entrenamiento B ! B0 tal que el nuevo conjunto tenga un PPR mas cercano al balanceoabsoluto.

2. Tecnicas de ensamble, que funcionan construyendo distintas hipotesis sobre el mismo con-junto de datos ya sea utilizando distintos subconjuntos de entrenamiento (B*) obtenidos apartir de B por muestreo de instancias (Bagging) o atributos (Random Subspace Method) outilizando una penalizacion sucesiva que corrija los errores de clasificacion (Boosting).

3. Tecnicas hıbridas, que combinan el remuestreo y el ensamble para dar lugar a nuevas aproxi-maciones que combinan modelos entrenados sobre conjuntos de entrenamiento remuestreadoso con coste de clasificacion erronea. En este sentido, en [Galar et al., 2012] se propone lataxonomıa de tecnicas recogida en la Figura 4.1.

Los 3 puntos siguientes recogen las tecnicas mas representativas de cada uno de estos grupos.

4.3. Tecnicas de remuestreo

El Remuestreo (Resampling) es, probablemente, la aproximacion mas directa para manejarel problema del no-balanceo entre clases. El objetivo del remuestreo es alterar la distribucionde clases en el conjunto de entrenamiento, ya sea incrementando el numero de instancias de laclase minoritaria (Sobremuestreo u Oversampling), reduciendo el numero de instancias de la clasemayoritaria (Submuestreo o Undersampling), o mediante una combinacion de ambas. El resultadode aplicar tecnicas de remuestreo a un conjunto de datos es siempre un nuevo conjunto con unPPR superior al del conjunto original.

Page 48: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

30 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

Figura 4.1: Taxonomıa de tecnicas hıbridas propuesta por [Galar et al., 2012]

4.3.1. Remuestreo aleatorio

4.3.1.1. Sobremuestreo aleatorio, o Random Over-Sampling (ROS)

La aproximacion mas directa al sobremuestreo es la seleccion aleatoria de instancias a replicar.Dicha tecnica se conoce como sobremuestreo aleatorio, y permite realizar una transformaciondel conjunto de entrenamiento B ! B0 mediante la duplicacion de un subconjunto aleatorio deinstancias de la clase positiva o minoritaria, S

min

, que son seleccionadas dentro del conjunto deentrenamiento original. Mediante esta tecnica, el numero total de instancias del conjunto de datostransformado se amplıa en relacion al numero de instancias del subconjunto S

min

, lo que permiteajustar la distribucion de clases del conjunto de entrenamiento en acorde con el tamano de S

min

.Notese que, siempre que el ratio de balanceo sea suficientemente pequeno, el sobremuestreo de-

bera realizarse con reemplazo2, ya que de otra manera las instancias a duplicar quedaran agotadasantes de alcanzar la ratio de balanceo deseada.

4.3.1.2. Submuestreo aleatorio o Random Under-Sampling (RUS)

Como en el caso del sobremuestreo aleatorio, el submuestreo aleatorio es la forma mas inmediatade submuestreo, y se basa en eliminar instancias del conjunto de entrenamiento pertenecientes ala clase mayoritaria hasta que la ratio entre instancias de cada una de las clases se aproxima alnivel deseado. En concreto, el submuestreo aleatorio procede seleccionando un subconjunto deinstancias de la clase mayoritaria, S

maj

, y eliminandolos del conjunto de datos de entrenamiento,realizando una transformacion B ) B⇤ que da lugar a un nuevo conjunto de entrenamiento de

2El muestreo con reemplazo es aquel en que un elemento puede ser seleccionado mas de una vez. Para ello,los elementos extraıdos en el muestreo se devuelven a la poblacion despues de ser observados, lo que permite,teoricamente, hacer infinitas extracciones de la poblacion aun siendo esta finita.

Page 49: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.3. TECNICAS DE REMUESTREO 31

tamano inferior al original. El numero de instancias a seleccionar se ajusta acorde a la distribucionde clases deseada.

Con el submuestreo aleatorio no se tiene control sobre la informacion de la clase mayoritariaque se descarta. Para solventar este problema han aparecido en los ultimos anos diversos metodosmas complejos que intentan solventarlo y que seran analizadas mas adelante.

4.3.1.3. Problematicas asociadas al remuestreo aleatorio

Aunque inicialmente las tecnicas de sobremuestreo y submuestreo aleatorio son funcionalmen-te similares, pues dan lugar a un nuevo conjunto de datos de entrenamiento con un tamano ydistribucion de clases, cada metodo presenta una problematica concreta:

Las tecnicas de sobremuestreo aleatorio presentan, frente a las tecnicas de submuestreo, laventaja de no eliminar patrones sobre el subconjunto de entrenamiento original, ya que todaslas instancias de este persisten en el nuevo conjunto. Estas tecnicas, sin embargo, presentan elinconveniente de ampliar el tamano del conjunto de entrenamiento, aumentando el tiempode entrenamiento. Este inconveniente es especialmente importante cuando se trabaja enconjuntos de datos con alta dimensionalidad, por lo que se requiere especial atencion paramantener bajo control el uso de tiempo y memoria. Por otro lado, es especialmente peligrosoel sobreajuste debido al sobremuestreo, debido a la replicacion de instancias clasificablescomo ruido en el conjunto de datos original.

Las tecnicas de submuestreo aportan la ventaja de reducir el tamano del conjunto de datos,con lo que el uso de tiempo y memoria tambien se reduce, lo que toma especial importanciaen conjuntos de datos de gran tamano o con alta dimensionalidad. Es importante indicar,no obstante, que al eliminar instancias de la clase mayoritaria es posible que se pierdainformacion importante sobre algunos patrones. En concreto, es especialmente peligrosoperder informacion sobre la frontera de decision entre la clase minoritaria y mayoritaria.

En los estudios realizados hasta la fecha no se ha alcanzado ninguna conclusion categorica sobre laprecision alcanzada en relacion a la seleccion de tecnicas de submuestreo y sobremuestreo. Dichoconflicto de resultados se debe a la combinacion de diferentes conjuntos de datos y algoritmos. Laseleccion del mejor metodo de remuestreo, por tanto, queda supeditada al dominio especıfico delproblema.

4.3.2. Sobremuestreo sintetico

Como se ha indicado anteriormente, el sobremuestreo aleatorio presenta el inconveniente depoder conducir al sobreajuste de los algoritmos de clasificacion, debido a la replicacion de los pa-trones presentes en el conjunto de entrenamiento original. Las tecnicas de sobremuestreo sinteticotratan de salvar dicho inconveniente mediante la generacion de instancias sinteticas de la claseminoritaria basadas en la distribucion de probabilidad que ha dado lugar a estas, en lugar de enla replicacion de instancias concretas.

4.3.2.1. Sobremuestreo mediante Synthetic Minority Over-Sampling Technique (SMO-TE)

La aproximacion mas popular al sobremuestreo sintetico es el algoritmo SMOTE (acronimode Synthetic Minority Oversampling Technique), introducida por Chawla [Chawla et al., 2002],

Page 50: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

32 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

y que ha demostrado mejorar notablemente la precision de la clasificacion para datos altamenteno balanceados en varias aplicaciones. El algorimo SMOTE se basa en la generacion de datossinteticos proximos a las instancias existentes en el espacio de atributos.

Considerese el subconjunto de instancias de la clase minoritaria, Bmin

; dada una instanciacualquiera de dicho subconjunto, x

i

es posible hallar, a partir de un entero k definido a priori, losk-vecinos mas proximos a dicha instancia, definidos como las k instancias de B

min

cuya distanciaeuclıdea en el espacio n-dimensional de atributos respecto a la instancia x

i

sea mınima. Para crearun elemento sintetico, se procede seleccionando uno de dichos k-vecinos, denotado x

i

, para despuesmultiplicar el vector de diferencias entre los atributos de este y los atributos de x

i

por un numeroaleatorio �

i

del intervalo⇥

120 , 1

⇤y anadir el resultado al vector de atributos de x

i

, es decir,

xnew

= xi

+ �i

x (xi

� xi

) ,

donde xi

2 Bmin

es la instancia en consideracion, xi

2 Bmin

es una de las k instancias masproximas a x

i

y �i

2⇥

120 , 1

⇤es un numero aleatorio. El resultado, x

new

, es una nueva instancia que,geometricamente, se situa en el segmento que une x

i

y xi

. La Figura 4.2 muestra el procedimientodescrito.

Figura 4.2: Esquema de funcionamiento del algoritmo SMOTE. Para cada instancia de la clase minori-taria se selecciona una de las k instancias mas proximas, para generar una nueva instancia en un puntoaleatorio del segmento que une ambas.

La generacion aleatoria de instancias resuelve el problema de la replicacion de instancias, ycomo se ha indicado, ha demostrado dar lugar a buenos resultados en los estudios experimentalesrealizados hasta la fecha.

4.3.2.2. Sobremuestreo mediante Borderline-SMOTE (MSMOTE)

Uno de los problemas del algoritmo SMOTE es la generalizacion con la que se crean las nuevasinstancias sinteticas: al generar el mismo numero de instancias sinteticas para cada instanciadel subconjunto B

min

, sin consideraciones sobre la ubicacion de dichas instancias en el espaciode atributos, el algoritmo SMOTE da lugar al refuerzo de patrones en zonas fronterizas, pero

Page 51: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.3. TECNICAS DE REMUESTREO 33

tambien en zonas seguras e instancias clasificables como ruido. La aproximacion del algoritmoBorderline-SMOTE es la siguiente: en primer lugar, se identifica el conjunto de k-vecinos masproximos a cada instancia x

i

2 Bmin

, denotado como Bi:k�NN

, con Bi:k�NN

⇢ B. A continuacion,para cada x

i

, se identifica el numero de instancias pertenecientes a la clase mayoritaria, es decir,(B

i:k�NN

⇢ Bmaj

). Por ultimo, se seleccionan las instancias xi

que satisfacen

k

2 |B

i:k�NN

⇢ Bm

aj| < k (4.1)

para generar instancias sinteticas a partir de estas.La ecuacion 4.1 indica que solo se generaran instancias a partir de las instancias x

i

que tenganmas vecinos de la clase mayoritaria que de la clase minoritaria. Dichas instancias representan loselementos fronterizos entre clases, y se propone etiquetarla como instancias DANGER, en contra-posicion a las instancias interiores o SAFE. Notese que aquellas instancias de la clase minoritariacuyos k-vecinos mas proximos pertenezcan todos a la clase mayoritaria quedan fuera del conjuntoDANGER, al considerarse ruido, y no se generaran instancias sinteticas a partir de estas. La Fi-gura 4.3 muestra el procedimiento del algoritmo Borderline-SMOTE. Como puede apreciarse, la

Figura 4.3: Esquema del borderline-smote, de [Han et al, 2005].

principal diferencia entre este algoritmo y el SMOTE original reside en la seleccion de instanciasa partir de las que se generaran instancias sinteticas, reforzando el aprendizaje de patrones en lasinstancias fronterizas para aliviar el problema del solape entre clases.

4.3.2.3. Sobremuestreo mediante Adaptative Synthetic Sampling (ADASYN)

El algoritmo ADASYN, igual que el Borderline-SMOTE, recoge la idea de generar mas elemen-tos sinteticos en las zonas fronterizas para aliviar el problema del solape entre clases, pero proponeun metodo sistematico para crear un numero distinto de elementos sinteticos segun la posicion decada una de las instancias de la clase minoritaria. El algoritmo ADASYN funciona como sigue:sea G el numero de instancias necesarias para balancear el conjunto de datos,

G = (|Bmaj

|� |Bmin

|) · �,

donde � 2 [0, 1] es un parametro que permite controlar el nivel de balanceo entre clases. Paracada instancia x

i

2 Bmin

, se requiere encontrar los k-vecinos mas proximos, para despues calcular

Page 52: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

34 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

la ratio �i

asociada como

� =�

i

k

Z

donde �i

es el numero de ejemplos, dentro de los k-vecinos mas proximos, pertenecientes a laclase mayoritaria, y Z es una constante de normalizacion tal que �

i

es una funcion de distribucion(P

�i

= 1). Con esto, el numero de elementos sinteticos, Ni

, que deben generarse para cadainstancia x

i

se define como

Ni

= �i

·G

. Como se ha indicado, el algoritmo ADASYN proporciona una aproximacion continua y adaptativapara determinar el numero de elementos a generar para cada instancia de la clase minoritaria, encontraposicion al metodo discreto o zonal del Borderline-SMOTE. Cabe notar, sin embargo, queel ADASYN original no realiza ninguna penalizacion sobre las instancia de la clase minoritariaque quedan completamente rodeadas de instancias de la clase mayoritaria -y que en el Borderline-SMOTE se clasificaban como ruido.

4.3.3. Submuestreo informado

Segun se ha indicado en 4.3.1.3, uno de los principales inconvenientes de las tecnicas de sub-muestreo aleatorio es que la eliminacion de instancias aleatorias puede dar lugar a la eliminacionde patrones relevantes sobre a la clase mayoritaria. Para solventar este punto, las tecnicas de sub-muestreo informado aportan distintas aproximaciones para la seleccion de instancias a eliminar.

4.3.3.1. Submuestreo mediante NearMiss-*, NM-*

Un ejemplo de submuestreo informado es el grupo de tecnicas conocidas como NearMiss-*[Zhang y Mani, 2003], que se basan en el algoritmo de clasificacion supervisada k-Nearest Neighbor(k-NN) para eliminar instancias en zonas de solape. Dentro de este grupo de tecnicas, y en funcionde las caracterısticas de la distribucion de datos dada, encontramos cuatro metodos de submuestreodenominados NearMiss-1, NearMiss-2, NearMiss-3 y MostDistant-method.

El metodo NearMiss-1 selecciona para limpiar aquellas instancias de la clase mayoritariacuya distancia media a las tres instancias mas proximas de la clase minoritaria sea menor.

El metodo NearMiss-2 selecciona aquellas instancias de la clase mayoritaria cuya distanciamedia a las tres instancias mas lejanas de la clase minoritaria sea menor.

El metodo NearMiss-3 selecciona un numero dado de instancias de la clase mayoritaria masproximas a cada instancia de la clase minoritaria.

El metodo MostDistant selecciona las instancias de la clase mayoritaria cuya distancia mediaa las tres instancias mas proximas de la clase minoritaria sea mayor.

Las evaluaciones experimentales realizadas hasta la fecha sugieren que el metodo NearMiss-2 escapaz de proporcionar resultados competitivos en conjuntos de datos altamente desbalanceados[vease Zhang y Mani, 2003 o Yen y Lee, 2006].

Page 53: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.3. TECNICAS DE REMUESTREO 35

4.3.3.2. Submuestreo mediante One-Sided Selection (OSS)

El submuestreo mediante One-Sided Selection, o submuestreo OSS, se basa en la seleccion deun subconjunto representativo de la clase mayoritaria, E, que sera combinado con el conjunto deinstancias de la clase minoritaria, B

min

, para formar un nuevo conjunto E, C = {E [Bmin

}, quesera reprocesado para eliminar instancias de las zonas de solape mediante la tecnica de Tomek’sLinks que se detallara mas adelante. El procedimiento del algoritmo OSS se describe a continuacion[Kubal y Matwin, 2007]:

1. Sea S el conjunto de entrenamiento original.

2. Inicialmente, se define un subconjunto C que contiene todos los elementos de la clase mino-ritaria y un elemento aleatorio de la clase mayoritaria.

3. Se clasifica S con un algoritmo de 1-NN usando los ejemplos de C, y se compara la etiquetaasignada con la esperada.

4. Se mueven todos los ejemplos mal clasificados a C, que ahora es consistente con S aunteniendo un tamano inferior.

5. Se eliminan de C todas las instancias negativas que participan en un Tomek’s Link. Estoeliminara todas las instancias negativas fronterizas o atıpicas, pero mantendra todas lasinstancias positivas. El conjunto de datos obtenido se denota como T .

4.3.3.3. Submuestreo Basado en Cluster Centroids (ClC)

El submuestreo basado en cluster fue propuesto por Yen y Lee [Yeen y Lee, 2009] y proponeuna aproximacion alternativa al submuestreo utilizando metodos de clasificacion no supervisadao clustering para realizar una seleccion informada de las instancias que contendra el subconjuntoB0 de entrenamiento. El algoritmo de submuestreo basado en clusters inicializa con una etapa deaprendizaje en la que se generan k clusters en el subconjunto de entrenamiento correspondientea la clase mayoritaria mediante un algoritmo de asociacion como k-means u otros, para despuesseleccionar una muestra representativa de cada cluster que se combinara con el subconjunto co-rrespondiente a la clase minoritaria (todas las instancias) sobre la que realizar el entrenamiento.

La idea principal del submuestreo basado en cluster es que existen diferentes clusters en elconjunto de datos, y que cada uno de ellos presenta caracterısticas diferenciales. Si un clustertiene mas ejemplos de la clase mayoritaria que de la minoritaria, este se comportara como unamuestra de la clase mayoritaria. Por el contrario, si un cluster tiene mas ejemplos de la claseminoritaria, se mantendran las caracterısticas de esta. Por lo tanto, la aproximacion propuestaselecciona un numero razonable de elementos de la clase en cuestion en cada cluster para definirla clase que prevalece. A continuacion se muestra, de forma esquematica, el proceso de calculoseguido por el submuestreo basado en clusters:

1. Se divide el conjunto de entrenamiento en dos particiones: una con las instancias de la clasemayoritaria y otra con las instancias de la clase minoritaria.

2. Se particiona el conjunto de entrenamiento (completo) en k clusters, donde k es un parametrode entrada del algoritmo.

Page 54: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

36 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

3. Se determina el numero de elementos de la clase mayoritaria en cada cluster mediante laexpresion

Si

maj

0 = m · Si

min

·S

i

maj/Si

minPk

i=1S

i

maj/Si

min

donde Si

maj

y Si

min

hacen referencia a la presencia de elementos de la clase mayoritaria yminoritaria en cada cluster y m es el ratio de entre clases deseado (habitualmente m = 1).Con este valor, es posible seleccionar aleatoriamente un numero de elementos que de lugara un nuevo conjunto de entrenamiento balanceado.

4. Se combinan los subconjuntos obtenidos con el subconjunto que contiene todas las instanciasde la clase minoritaria.

El submuestreo basado en clusters proporciona una buena aproximacion para afrontar el des-equilibrio de clases en presencia de algunas de las caracterısticas responsables del detrimento delrendimiento de los clasificadores enunciadas en 4.1, y ha demostrado buenos resultados en losexperimentos realizados hasta la fecha [Yen y Lee, 2009 y 2011].

4.3.4. Submuestreo por limpieza de datos

Una aproximacion alternativa al submuestreo consiste en la eliminacion de instancias en zonasde solape, convirtiendo el conjunto de datos de entrenamiento original en un nuevo conjuntocon clases separables para que los algoritmos puedan generar reglas de clasificacion ”limpias”queconduzcan a una mejora en el rendimiento.

Algunos trabajos recientes en esta direccion se describen a continuacion.

4.3.4.1. Submuestreo mediante Tomek Links

La mayorıa de tecnicas de limpieza se basa en la definicion de Tomek Links o T-links. UnT-link se define como sigue: dado un par de instancias (x

i

, xj

), donde xi

2 Bmin

, xj

2 Bmaj

yd (x

i

, xj

) es la distancia entre xi

y xj

, diremos que el par (xi

, xj

) forma un T-link si no hay ningunainstancia x

k

tal que d (xi

, xk

) < d (xi

, xj

) o d (xj

, xk

) < d (xi

, xj

), es decir, si xi

y xj

forman un parde mınima distancia y clases distintas. Por tanto, dos instancias formaran un T-link solo si una deellas puede clasificarse como ruido o si ambas estan cerca de una frontera. Los T-links se utilizan,en general, para netear las zonas de solape entre clases sobre conjuntos de datos de entrenamientossin remuestrear o despues de haber aplicado tecnicas de sobremuestreo.

4.3.5. Submuestreo mediante k-vecinos: Edited Nearest Neighbors,ENN y Condensed Nearest Neighbors

Las tecnicas de limpieza de registros mediante k-vecinos proponen eliminar aquellas instanciasde la frontera cuyos vecinos pertenezcan mayoritariamente a la clase contraria.

El procedimiento mas popular dentro de este grupo es el Wilson Editing o Edited-Nearest-Neigbors (ENN), que funciona recorriendo el conjunto de instancias para descartar cada instanciaque no sea correctamente clasificada utilizando los k-vecinos mas proximos.

Una aproximacion mas compleja es Condensed-Nearest-Neighbors (CNN), que propone distin-guir las instancias del conjunto de datos de entrenamiento en uno de los grupos siguientes:

Datos atıpicos, que no serıan clasificados correctamente por una regla de vecindad.

Page 55: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.4. COMBINACION DE MODELOS 37

Prototipos, que forman el conjunto mınimo de entrenamiento para clasificar todos los datosno-atıpicos.

Instancias absorbidas, que podrıan ser correctamente reconocidas utilizando solo el subcon-junto de prototipos.

El algoritmo CNN procede como sigue:

1. En primer lugar, se recorre el conjunto de entrenamientoeliminando una instancia por itera-cion, y chequeando cuando la clase es reconocible y cuando no (en cuyo caso se etiquetaracomo dato atıpico).

2. A continuacion, crea un nuevo conjunto de datos con una instancia (aleatorio).

3. Despues, toma uno de los puntos del conjunto de datos original, y valora si es correctamentereconocido en el nuevo conjunto de datos con k = 1. En caso afirmativo, es una instanciaabsorbida, y puede mantenerse en el nuevo conjunto de datos. Si no, se anade a la base deprototipos. Este paso se repite hasta recorrer todo el conjunto de datos.

4. Repite el paso anterior hasta que no se hallan mas prototipos.

El algortimo CNN da lugar a una base mınima de clasificacion, por lo que se cataloga como unalgoritmo de limpieza.

4.3.5.1. Submuestreo mediante Neighborhood Cleaning Rule (NCL)

La idea basica del submuestreo NCL reside, como en el caso del submuestreo OSS, en mantenertodas las instancias de la clase minoritaria y reducir el numero de instancias de la clase mayoritariamediante tecnicas de limpieza. Difiere de la anterior, no obstante, en que su aproximacion secentra en la limpieza de datos en las zonas de solape, sin atender a la reduccion de tamano de laclase mayoritaria. En este sentido, la tecnica NCL utiliza la regla ENN de Wilson para realizarla eliminacion de instancias de la clase mayoritaria en las zonas de solape, lo que conduce ala obtencion de un nuevo conjunto de datos que mantiene la mayor parte de instancias de laclase mayoritaria pero elimina aquellas que afectan negativamente al rendimiento del clasificador.Adicionalmente, el submuestreo NCL propone la limpieza del contorno de las instancias de laclase minoritaria eliminando aquellas instancias de la clase mayoritaria que lleven a clasificarerroneamente las instancias de la clase minoritaria mediante la regla de los 3 vecinos mas proximos.

4.4. Combinacion de modelos

Las tecnicas de combinacion de modelos o tecnicas de ensamble (en ingles, ensemble methods)recogen la idea de que, si hay mas de una hipotesis plausible -capaz de extraer patrones validosde los datos-, debemos recogerlas todas [Dietterich, 2000]. Las tecnicas de ensamble funcionanconstruyendo un conjunto de hipotesis para despues combinar las predicciones del conjunto dealguna manera (normalmente por votacion) para clasificar nuevos ejemplos. En general, la precisiondel conjunto supera la precision individual de cada uno de sus componentes. Considerese unconjunto de tres clasificadores: h1(x), h2(x) y h3(x). Si los tres clasificadores son similares, cuandoh1(x), h2(x) y h3(x) tambien lo seran. Sin embargo, si los clasificadores son lo suficientementedistintos, cuando h1(x) sea erroneo, h2(x) y h3(x) podrıan ser correctos, y entonces la votacion

Page 56: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

38 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

mayoritaria clasificarıa correctamente el dato x. La construccion de multiclasificadores puede versecomo un incremento del poder expresivo de un modelo individual, ya que la hipotesis combinadapuede estar fuera del espacio de hipotesis H de dicho modelo.

Los dos puntos clave en la construccion de multiclasificadores son la construccion de modelossuficientemente distintos (principio de diversidad de las hipotesis) y precisos (principio de precisionde las hipotesis) y la forma de combinacion de modelos. A continuacion se presenta una taxonomiaen la construccion de conjuntos de clasificadores [Dietterich, 2000]:

Tecnicas que funcionan manipulando los registros: los metodos se construyen ejecutandorepetidamente el mismo algoritmo sobre un conjunto diferente de datos de entrenamiento.En este caso, la clave esta en la definicion de un mecanismo adecuado para seleccionarsubconjuntos en los datos de entrada. Los dos grupos de tecnicas mas populares, y queseran presentados con mas detenimiento a continuacion, son el Bagging [Breiman, 1996] ylas tecnicas basadas en Boosting [Freund and Schapire, 1996], aunque existen otras de menorpopularidad como el Cross-validated Committees [vease Parmanto et al., 1996].

Tecnicas que funcionan manipulando los atributos de entrada: en este caso el modelo seejecuta repetidamente alterando el conjunto de atributos de entrada del algoritmo. La tecnicadel Random Subspace Method (RSM) y los algoritmos de Forest [Ho, 1998], popularizadosen su utilizacion para arboles de decision (Random Forest), pertenecen a esta familia.

Tecnicas de aleatorizacion: en este caso, se introducen componentes aleatorios en la confi-guracion del algoritmo para obtener diferentes clasificadores a partir de la misma evidencia.En el caso de redes neuronales, por ejemplo, podıa modificarse la topologıa de la red o lainicializacion de los pesos iniciales de las sinapsis, dando lugar a diferentes clasificadores apartir de la misma evidencia.

4.4.1. Tecnicas de manipulacion de registros

4.4.1.1. Bagging

La tecnica bagging (contraccion de Bootstrap Aggregating) se basa en la idea de que dis-tintas replicas bootstrap tomadas sobre el conjunto de entrenamiento original seran capaces deproporcionar conjuntos de datos lo suficientemente distintos como para dar lugar clasificadoressuficientemente diversos. Esta tecnica, por tanto, aprovecha la inestabilidad de los algoritmos declasificacion para dar lugar a un rango de hipotesis que, combinadas, seran capaces de formarun espacio de hipotesis mayor al obtenido entrenando el mismo algoritmo sobre el conjunto deentrenamiento completo. En este sentido, la tecnica bagging propone entrenar cada uno de losmiembros que formaran parte del ensamble sobre un conjunto de datos de entrenamiento distinto,para despues combinar las predicciones por votacion. El Algoritmo 1 recoge esta idea en forma depseudocodigo.

La tecnica Bagging presenta los siguientes puntos de interes [Galar et al., 2011]:

Diferentes instancias de un clasificador inestable -como una red neuronal- entrenadas me-diante diferentes muestras de bootstrap pueden dar lugar a diferencias significativas en elmodelo generado, lo que jugara a nuestro favor a la hora de combinar las hipotesis debidoal principio de diversidad de las hipotesis

El modelo compuesto reduce la varianza de los clasificadores individuales

Page 57: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.4. COMBINACION DE MODELOS 39

En la literatura, es habitual utilizar entre 50 y 100 clasificadores, si bien la seleccion del numero deremuestreos es una decision supeditada al analisis de las caracterısticas concretas de cada problema,y es frecuente utilizar un numero inferior de clasificadores si el problema es computacionalmentedemandante -como en el caso de las redes neuronales.

Algoritmo 1: BaggingInput :

S: Conjunto de entrenamiento originaln tamano de las replicas bootstrapT : Numero de iteracionesI: Un clasificador debil;

Output: Hipotesis combinada H(x) = sign⇣P

T

t=1 ht

(x)⌘donde h

t

2 [�1, 1] son las

distintas hipotesis inducidas del conjunto de datos de entrenamiento1 for t = 1 to T do2 S

t

RemuestreoAleatorioConReemplazo(n, S)3 h

t

I(St

)4 end

4.4.1.2. Pasting Small Votes

Una alternativa al algoritmo bagging para conjuntos de datos de gran tamano es la conocidacomo Pasting Small Votes [Breiman, 1999]. En esta se propone la particion del conjunto de datosen distintos subconjuntos, que seran utilizados para entrenar distintos clasificadores. Existen dosvariantes de esta tecnica, en funcion del procedimiento utilizado para el particionado:

RVotes: las particiones se crean de forma aleatoria

IVotes: las particiones se crean mezclando instancias faciles y difıciles. Se considera queuna instancia es difıcil si es erroneamente clasificada por el ensamble que utiliza todos losclasificadores que no han visto la instancia en cuestion durante la fase de entrenamiento.Mediante esta tecnica, las instancias difıciles apareceran siempre en el nuevo subconjunto,mientras que las faciles tendran una probabilidad menor de ser escogidas.

4.4.1.3. Algoritmos de Boosting : AdaBoost

El termino boosting hace referencia a aquellos algoritmos cuya finalidad es encontrar una hipote-sis fuerte a partir de la combinacion lineal de hipotesis debiles. El algoritmo de boosting maspopular es el denominado AdaBoost (contraccion de Adaptative Boosting), propuesto por Freundy Schapire [Freund y Schapire, 1996]. AdaBoost propone un proceso iterativo por el cual los cla-sificadores son entrenados de manera secuencial. Al final de cada iteracion, las instancias que nose han clasificado correctamente son ponderadas de manera que tengan mayor importancia en lasiteraciones subsecuentes. De esta manera, los nuevos modelos tendran mayor oportunidad paracompensar el error de los modelos anteriores. El Algoritmo 3 recoge el pseudocodigo de Adaboost.Como puede verse, el algoritmo arranca asignando el mismo peso a todos los ejemplos de la evi-dencia, para despues inicializar el bucle principal del algoritmo. Dicho bucle forma el cuerpo deAdaBoost, y se describe a continuacion:

Page 58: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

40 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

Algoritmo 2: IVotesInput :

S: Conjunto de entrenamiento original;n tamano de las replicas bootstrap;T : Numero de iteraciones;I: Un clasificador debil;

Output: Hipotesis combinada H(x) = sign⇣P

T

t=1 ht

(x)⌘donde h

t

2 [�1, 1] son las

distintas hipotesis inducidas del conjunto de datos de entrenamiento1 e

new

0,5;2 while e

new

< eold

do3 e

old

enew

;4 S

t

;;5 while size(S

t

) < n do6 x InstanciaAleatoria(S);7 if x no se clasifica correctamente por los modelos que no han utilizado esta instancia

para el entrenamiento (out-of-bag) then8 S

t

St

[ {};9 end

10 else11 S

t

St

[ {} con probablidad e

old

1�e

old

;

12 end13 h

t

I(St

);14 e

n

ew error de los clasificadores que no usan esa instancia para el entrenamiento;15 end16 end

Page 59: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.4. COMBINACION DE MODELOS 41

El primer paso es aprender un modelo utilizando para ello el metodo de aprendizaje desdela evidencia ponderada, para despues estimar el error del modelo generado. Si dicho error esdemasiado elevado (mayor a 0,5) o no se puede disminuir (igual a 0) la hipotesis se descartay se detiene el algoritmo (criterio de parada).

A continuacion se actualiza el valor de los pesos de los ejemplos, utilizando el productoht

(xi

)yi

para decidir si dicho peso debe aumentarse ht

(xi

) 6= yi

o disminuirse ht

(xi

) = yi

. Enambos casos, el factor de correccion se calcula a partir del error general del modelo, mediante

la expresion ↵t

= 12 ln

⇣1�✏

t

t

⌘.

Por ultimo, los pesos obtenidos deben ser normalizados para formar una distribucion, demanera que

PN

i=1 Dt+1(i) = 1.

La hipotesis final o hipotesis fuerte se obtiene mediante la expresion

H(x) = sign

TX

t=1

↵t

ht

(x)

!.

Como puede verse, la clasificacion de nuevas instancias no se realiza con una votacion mayoritariasimple, como en el caso de bagging. En este caso, se tiene en cuenta el error estimado de cadamodelo, ↵

t

, para calcular la contribucion de este a clase final de la nueva instancia; dicho factoroscila entre infinito y 0, y es inversamente proporcional al error estimado. Para predecir un nuevoejemplo, las votaciones de una misma clase se suman utilizando la ponderacion descrita, y se tomala clase que acumula un mayor valor absoluto.

Algoritmo 3: AdaBoostInput :

S = {xi

, yi

} i = 1, ..., N ; i 2 {�1, 1}: Conjunto de entrenamiento;T : Numero de iteraciones;I: Clasificador debil;

Output: Hipotesis combinada H(x) = sign⇣P

T

t=1 ↵t

ht

(x)⌘donde h

t

2 [�1, 1] sonlas distintas hipotesis inducidas del conjunto de datos de entrenamiento y ↵

t

suspesos asignados

1 D1(i) 1/N para i = 1, ..., N ;2 for t = 1 a T do3 h

t

I(S,Dt

);4 ✏

t

P

i,y

i

6=h

t

(xi

) Dt

(i);

5 if ✏t

> 0,5 o ✏t

= 0 then6 T t� 1;7 return;8 end

9 ↵t

= 12 ln

⇣1�✏

t

t

⌘;

10 Dt+1(i) = D

t

(i) · e�↵

t

h

t

(xi

)yi para i = 1, ..., N ;

11 Normalizar Dt+1 para obtener una distribucion de manera que

PN

i=1 Dt+1(i) = 1;12 end

Page 60: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

42 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

4.4.2. Tecnicas de manipulacion de atributos

4.4.2.1. Metodo del Subespacio Aleatorio (Random Subspace Method, RSM )

El Metodo del Subespacio Aleatorio o RSM (del ingles Random Subspace Method) consisteen seleccionar aleatoriamente un numero de atributos del espacio original para generar un nuevosubespacio, y construir un clasificador con cada uno de los subespacios generados. Este metodode aleatorizacion permite crear clasificadores complementarios, para despues combinar las predic-ciones de estos mediante votacion. Se ha demostrado que este metodo funciona bien en espaciosde alta dimensionalidad y con atributos redundantes (con correlacion elevada). El RSM es similaral bagging, pero realiza la aleatorizacion sobre los atributos en lugar de sobre las instancias. Estemetodo puede ser configurado para seleccionar atributos con o sin reemplazo, aunque suele serpoco util anadir atributos repetidos. Por otro lado, el numero de atributos seleccionados puedevariar de un modelo a otro, aunque es habitual definir un numero de atributos fijo para todos losmodelos.

4.5. Metodos hıbridos para conjuntos de datos no balan-ceados

En los ultimos anos se han desarrollado numerosas tecnicas basadas en la combinacion demodelos que buscan resolver el problema del desequilibrio de clases. Dichas tecnicas, conocidascomo metodos hıbridos, utilizan como base las tecnicas de combinacion de modelos presentadas en4.4 y refuerzan el aprendizaje de patrones poco representados utilizando las tecnicas de remuestreoy aprendizaje con coste descritas en 4.3.

La Figura 4.2, recogida en el punto 4.2 y tomada de [Galar et al., 2012], propone una taxo-nomıa de metodos hıbridos para conjuntos de datos no balanceados. Los autores proponen cuatrograndes grupos de metodos, en funcion del algoritmo de combinacion que se use como base y dela aproximacion utilizada para el refuerzo del aprendizaje:

Por un lado, encontramos las tecnicas que modifican el algoritmo AdaBoost mediante laintroduccion de costes de clasificacion erronea, dando lugar a nuevos algoritmos de boostingque maximicen la precision de la clasificacion de la clase minoritaria -en lugar de la precisiondel conjunto, como el AdaBoost original.

Por otro lado, entontramos las tecnicas que integran metodos de preprocesamiento de datosen el flujo del algoritmo de combinacion de modelos. Dentro de estas, se distinguen tresgrupos en funcion de cual sea el algoritmo de combinacion:

• Tecnicas basadas en boosting con introduccion de costes

• Tecnicas basadas en boosting con remuestreo

• Tecnicas basadas en bagging con remuestreo

• Tecnicas hıbridas

4.5.1. Tecnicas basadas en boosting con introduccion de costes

Como se ha visto en 4.4.1.3, el algoritmo AdaBoost es un algoritmo orientado a maximizar laprecision de la clasificacion. Esta propiedad conduce al algoritmo a tomar una estrategia de sesgo

Page 61: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.5. METODOS HIBRIDOS PARA CONJUNTOS DE DATOS NO BALANCEADOS 43

cuando la ratio de prevalencia de la clase positiva es muy baja, ya que la clase mayoritaria (lade menor interes) tiene una contribucion mucho mayor a la precision global. Para corregir estecomportamiento, se han propuesto distintas tecnicas que modifican la formula de actualizacionde pesos de AdaBoost (Lıneas 9 y 10 del Algoritmo 3) incorporando costes de aprendizaje en laformula. La diferencia entre cada una de las tecnicas de esta familia es, unicamente, la expresionutilizada para incorporar los costes:

1. AdaCost: esta tecnica propone incorporar una funcion de ajuste de coste que lleve a lasinstancias con mayor coste a aumentar mas su peso en la proxima iteracion si la instanciase clasifica erroneamente o a reducir su peso menos si la instancia se clasifica correctamente.La expresion propuesta es la siguiente:

↵t

=1

2ln

1 +P

i

Dt

(i) · e�↵

t

y

i

h

t

(xi

)�sign(h

t

(xi

)·yi

)

1�P

i

Dt

(i) · e�↵

t

y

i

h

t

(xi

)�sign(h

t

(xi

)·yi

)

Dt+1(i) = D

t

(i) · e�↵

t

y

i

h

t

(xi

)�sign(h

t

(xi

)·yi

)

con �+ = �0, 5Ci

+ 0, 5 y �� = 0, 5Ci

+ 0, 5 siendo los costes de clasificar erroneamente unejemplo de la clase positiva o negativa, respectivamente

2. CSB: en este caso no se modifica el computo de ↵t

, y solo se reemplaza la formula de calculode la distribucion de pesos por la expresion

Dt+1(i) = D

t

(i)Csign(h

t

(xi

)yi

) · e�↵

t

y

i

h

t

(xi

)

con C+ = 1yC� � 1

3. AdaC1, AdaC2 y AdaC3: estas tres modificaciones de AdaBoost fueron propuestas por [Sunet al., 2007], y difieren entre ellas en la forma de actualizar la distribucion de pesos y calcular↵t

.

AdaC1:

Dt+1(i) = D

t

(i) · e�↵

t

y

i

h

t

(xi

)Ci

↵t

=1

2ln1 +

Pi,y

i

=h

t

(xi

) Ci

Dt

(i)�P

i,y

i

6=h

t

(xi

) Ci

Dt

(i)

1�P

i,y

i

=h

t

(xi

) Ci

Dt

(i) +P

i,y

i

6=h

t

(xi

) Ci

Dt

(i)

AdaC2:

Dt+1(i) = C

i

Dt

(i) · e�↵

t

y

i

h

t

(xi

)

↵t

=1

2ln

1 +P

i,y

i

=h

t

(xi

) Ci

Dt

(i)

1�P

i,y

i

6=h

t

(xi

) Ci

Dt

(i)

AdaC3:

Dt+1(i) = C

i

Dt

(i) · e�↵

t

y

i

h

t

(xi

)Ci

↵t

=1

2ln

Pi

Ci

Dt

(i) +P

i,y

i

=h

t

(xi

) C2i

Dt

(i)�P

i,y

i

6=h

t

(xi

) C2i

Dt

(i)P

i

Ci

Dt

(i)�P

i,y

i

=h

t

(xi

) C2i

Dt

(i) +P

i,y

i

6=h

t

(xi

) C2i

Dt

(i)

Page 62: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

44 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

4.5.2. Tecnicas basadas en boosting con remuestreo

Esta familia de algoritmos utiliza como base el algoritmo AdaBoost presentado en 4.4.1.3, peroincorporan tecnicas de remuestreo del conjunto datos. Dicha modificacion puede interpretarse, engeneral, como la introduccion de un sesgo en la definicion de la distribucion de pesos para lasiteraciones subsiguientes de manera que se oriente el aprendizaje hacia el reconocimiento de lospatrones de la clase minoritaria. Encontramos 3 tecnicas dentro de este grupo:

1. SMOTEBoost y bSMOTEBoost: Ambos metodos se basan en la introduccion de instanciassinteticas antes de la construccion del clasificador de la nueva iteracion (paso 3 del Algoritmo3), mediante la utilizacion de SMOTE o borderline-SMOTE, respectivamente. Los pesos paralas nuevas instancias son proporcionales al numero total de instancias en el nuevo conjuntode datos

2. RUSBoost: En este caso, se reduce el tamano de las replicas boostrap mediante submuestreoaleatorio, aunque tambien es posible introducir otras tecnicas de submuestreo informadocomo el submuestreo basado en clusters.

4.5.3. Tecnicas basadas en bagging

El desarrollo de algoritmos basados en bagging utilizando tecnicas de preprocesamiento sepresenta como una aproximacion mas simple que la integracion de estas en el Algoritmo AdaBoost,ya que no se requiere el recalculo de pesos en cada iteracion ni, por tanto, la modificacion delproceso de computacion del algoritmo original. En estas tecnicas, el paso clave es la generacion delas replicas bootstrap que forman los conjuntos de datos de entrenamiento (lınea 2 del algoritmo1), es decir, la obtencion en cada iteracion un clasificador util y suficientemente distinto al resto.Encontramos 4 grupos de tecnicas dentro de esta familia:

1. OverBagging: la aproximacion mas directa para lidiar con el problema del desequilibriode clases es generar, para cada replica bootstrap, un nuevo conjunto equilibrado a partirdel original. En este sentido, es facil pensar en realizar el muestreo utilizando tecnicas desobremuestreo, en lugar del muestreo aleatorio habitual. La integracion de tecnicas de so-bremuestreo se realiza a directamente en las replicas boostrap, realizando una replicacionaleatoria de las instancias de la clase minoritaria. Notese que, mediante esta tecnica, cadauna de las replicas tendra un tamano superior al del conjunto de datos de entrenamiento ori-ginal. Notese que es posible integrar cualquiera de las tecnicas de sobremuestreo analizadasen 4.3 dentro del proceso de replicacion, siendo posible, por ejemplo, utilizar el remuestreomediante SMOTE o bSMOTE en lugar del sobremuestreo aleatorio para construir los nue-vos conjuntos de datos. Si esta es la aproximacion utilizada, es posible definir un ratio deremuestreo para la clase minoritaria que varıe en cada iteracion -partiendo del 10% para laprimera iteracion y alcanzando el 100% en la ultima iteracion, p.ej.-, que indicara el numerode instancias de la clase minoritaria que seran seleccionadas. El resto de instancias de dichaclase se generaran a partir de estas, hasta alcanzar el balance de clases deseado. Este metodo,aplicable siempre que el conjunto de datos sea lo suficientemente grande, asegura la variedadde los modelos a combinar, lo que deberıa contribuir a la precision del modelo conjuntosiempre que la precision de cada uno de los modelos individuales sea lo suficientemente alta.

2. UnderBagging o Assymetric Bagging: este metodo es analogo al anterior, pero utilizandoel submuestreo en lugar del sobremuestreo. En este sentido, el submuestreo se realiza sobre

Page 63: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

4.5. METODOS HIBRIDOS PARA CONJUNTOS DE DATOS NO BALANCEADOS 45

cada una de las replicas Boostrap que se utilizaran para entrenar el modelo, lo que daralugar a que cada una de las replicas tenga menos instancias que el conjunto de datos deentrenamiento original.

3. UnderOverBagging: este metodo, a diferencia de los dos anteriores, propone integrar el re-muestreo en el proceso de replicacion bootstrap, asignando una probabilidad de selecciondistinta a las instancias segun la clase a la que pertenezcan. De nuevo, con el objetivo dealcanzar clasificadores lo suficientemente diversos, es habitual definir un ratio de remuestreo,a%, que varıe entre el 10% para la primera iteracion y el 100% para la ultima, y que indiqueel numero de instancias de la replica que deben ser muestreadas a partir de instancias de laclase minoritaria.

Page 64: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

46 SECCION 4. EL PROBLEMA DEL DESEQUILIBRIO DE CLASES

Page 65: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Seccion 5

Experimento computacional

En este punto se presenta un experimento computacional que analiza el impacto del desequi-librio de clases sobre la precision de los modelos de clasificacion en presencia de otros factorescomunes en los conjuntos de datos del ambito medico, como son la escasez de datos, la elevadadimensionalidad o la presencia de atributos correlacionados o poco informativos. En dicho experi-mento se evaluara el resultado de aplicar las tecnicas presentadas en la Seccion 4 sobre un conjuntode datos resultado de una aplicacion medica real, como son los datos obtenidos de imagenes di-gitalizadas de muestras de lıquido mamario extraıdas mediante test FNA. El objetivo final delexperimento es definir un marco de trabajo optimo para el desarrollo de sistemas de clasificacionsupervisada con ANN cuando se trabaje con conjuntos de datos que presenten las caracterısti-cas indicadas, recogiendo una seleccion de metodologıas de preprocesamiento y procesamiento dedatos que permitan maximizar el acierto del clasificador neuronal.

Esta seccion se organiza como sigue:

En 5.1 se presenta el conjunto de datos Wisconsin Diagnostic Breast Cancer (WDBC) y seindica el tratamiento que se ha realizado sobre el mismo para obtener un conjunto de datosaltamente desbalanceado.

En 5.2 se realiza una descripcion estadıstica del conjunto de datos, que se acompana conrepresentaciones graficas. Este punto busca alcanzar un buen nivel de comprension del con-junto de datos antes de proceder a la etapa de modelizacion, y debe permitirnos tomaralgunas decisiones importantes en relacion a la seleccion de los atributos que se presentarana la red y los procesos de estandarizacion que se utilizaran.

En 5.3 se definira el marco en el cual se desarrollara el experimento. En concreto, se fijaranlas metricas de evaluacion, la estrategia de evaluacion y se describira la topologıa inicialde la ANN y la taxonomıa de tecnicas de remuestreo y ensamble que se incluiran en elexperimento, indicando en cada caso los parametros utilizados.

En 5.4 se resumiran los resultados del experimento. Estos comentarios se complementaranen la Seccion 6 con algunas conclusiones globales y con la definicion del marco de trabajooptimo que se anunciaba al iniciar esta seccion.

Para finalizar, en 5.5 se realizaran algunos ajustes sobre la topologıa y la configuracion dela red, a efectos de ver si la modificacion de los parametros recomendados o por defectoproporciona mejoras de rendimiento en presencia del desequilibrio de clases.

47

Page 66: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

48 SECCION 5. EXPERIMENTO COMPUTACIONAL

Para la realizacion del experimento se ha utilizado el lenguaje de programacion Python (v3.5)en el entorno de desarrollo Jupyter en su version Desktop para Mac OS X 10.6+ (64bit). Unade las principales virtudes de Python es la amplia variedad de paquetes de funciones desarrolladoscon licencia open source (en la mayorıa de los casos copyleft fuertes, como GPL), que incorporanfuncionalidades de analisis estadıstico descargando el proceso de analisis de la implementacion delos algoritmos de calculo. En este sentido, para la implemetacion de los algoritmos, se han utilizadolos siguientes paquetes:

Numpy : manipulacion y procesamiento de arrays multidimensionales (Numpy Arrays)(https://pypi.python.org/pypi/numpy/)

Pandas : definicion de estructuras optimas para el procesamiento de datos (Series y Data-frames) y metodos estadısticos(https://pypi.python.org/pypi/pandas/)

Matplotlib: generacion de graficos(https://pypi.python.org/pypi/matplotlib/)

Seaborn : visualizacion estadıstica de datos (interfaz de alto nivel para matplotlib)(https://pypi.python.org/pypi/seaborn/)

Scikit-learn : funciones para Machine Learning y Data Mining(https://pypi.python.org/pypi/scikit-learn/)

imblearn : funciones de remuestreo de datos(https://pypi.python.org/pypi/imblearn/)

El redactado de la PEC se ha realizado con LaTex en el entorno web de Overleaf . Overleafpermite redactar documentos con LaTex en cualquier equipo con conexion a internet, sin necesidadde instalar una distribucion de escritorio de LaTex.

5.1. El conjunto de datos WDBC

5.1.1. Descripcion del conjunto de datos

El conjunto de datos WDBC consiste en 569 instancias de tests FNA, donde cada instanciarepresenta un test realizado sobre un caso de diagnostico distinto (es decir, un paciente). En elWDBC cada instancia tiene 32 atributos: los dos primeros atributos corresponden, respectivamen-te, a un identificador unico de caso de diagnostico y al estado del diagnostico (Benigno/Maligno);los 30 atributos restantes representan mediciones con precision de 4 decimales sobre los 10 atribu-tos reales que se indican en el Cuadro 5.1, de manera que se incluyen 3 mediciones por atributo:valores medios, errores estandar y valores peores (media de los 3 valores maximos). Los atributosse presentan agrupados por bloques, de manera que si la columna 3 contiene el valor medio delradio, la columna 13 contendra el valor del error estandar sobre el mismo atributo y la columna23 su valor peor. Los ındices de posicion para cada atributo se indican tambien en el Cuadro 5.1.

Page 67: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.1. EL CONJUNTO DE DATOS WDBC 49

Cuadro 5.1: Atributos del conjunto de datos WDBC. La columna izquierda indica las posiciones de las3 metricas tomadas para cada atributo.

Atributos de WDBC3, 13, 23 Radio (radius)4, 14, 24 Textura (texture)5, 15, 25 Perımetro (perimeter)6, 16, 26 Area (area)7, 17, 27 Suavidad (smothness)8, 18, 28 Compacidad (compactness)9, 19, 29 Concavidad (concavity)10, 20, 30 Puntos concavos (concave points)11, 21, 31 Simetrıa (symmetry)12, 22, 32 Dimension fractal (fractal dimension)

5.1.2. WDBC modificado

El conjunto original WDBC presenta 357 instancias etiquetadas con la clase negativa (tumorBenigno) y 212 instancias etiquetadas con la clase positiva (tumor Maligno), que dan lugar a unındice de prevalencia de la clase positiva o PPR (del ingles Positive Prevalence Ratio) de 0.37.Esta distribucion de clases, cercana al balanceo completo, recoge el esfuerzo de recopilacion delHospital Universitario de Wisconsin, y favorece la realizacion de modelos precisos de clasificacionsupervisada 1. Sin embargo, dicha proporcion no recoge la distribucion real de casos de diagnostico,ya que se estima que solo el 15% de los tumores de pecho acaban diagnosticandose como cancer.En consecuencia, para la realizacion del experimento se ha decidido desbalancear artificialmenteel conjunto de datos WDBC, fijando una prevalencia de la clase positiva del 5%. Adicionalmente,y con objeto de representar un escenario de clasificacion complejo, se han anadido 150 instanciasadicionales al conjunto de datos utilizando un procedimiento de remuestreo sintetico sobre la clasemayoritaria mediante el algoritmo SMOTE descrito en 4.3.2.1, incluyendo instancias fronterizas.Por ultimo, para evaluar el comportamiento de la ANN ante instancias difıciles de clasificar, seha realizado adicion de ruido mediante permutacion de clase para un 1% de las instancias. Porbrevedad, en adelante nos referiremos a este conjunto de datos modificado como WDBC*. LaFigura 5.1 presenta la distribucion de clases de este nuevo conjunto de datos.

1Como se ha indicado, ha habido un gran numero de publicaciones en investigacion sobre cancer de mama quehan utilizado el WCBD, y la mayorıa de ellas han reportado precisiones de clasificacion muy elevadas. En Albrecht,Lappas, Vinterbo, Wong, y Ohno-Machado (2002), se utilizo un perceptron multicapa entrenado mediante simmu-lated annealing y se reporto una precision del 98.8%, En Pena-Reyes y Sipper (1999) se realizo una clasificacionmediante algoritmos de optimizacion (fuzzy-Genetic Algorithms) reportando una precision del 97.36%. En Setiono(2000), se utilizo una ANN de retropropagacion reportando una precision del 98.10%. En Polat y Gunes (2007), serealizo una clasificacion mediante SVM con una precision reportada del 98.53%.

Page 68: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

50 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.1: Distribucion de clases del conjunto de datos WDBC modificado. Se observa la elevadaprevalencia de la clase negativa.

5.2. Descripcion estadıstica del conjunto de datos

5.2.1. Medidas de centralidad y variabilidad

En este apartado se presenta el analisis los estadısticos univariantes de las variables del con-junto de datos WDBC*. Se pretende, mediante este paso, valorar las principales caracterısticasde la distribucion individual de cada una de las variables, a efectos de localizar medidas de for-ma o valores atıpicos que convenga tener en cuenta en el desarrollo del modelo de clasificacionsupervisada. El Cuadro 5.2 presenta las medidas de distribucion univariante de las 30 variablesWDBC*. Todas las variables del conjunto de datos son variables continuas, por lo que los valoresmedios indican la posicion del centro de gravedad de los datos. Tanto los valores medios como lasdesviaciones tıpicas de los valores muestran el diferente orden de magnitud de las variables delconjunto de datos; convendra tener en cuenta esta consideracion en algunas etapas posteriores delanalisis, incorporando al pipeline del modelo una etapa de estandarizacion. Por otro lado, no hayninguna variable que pueda descartarse por tener poca varianza (ver coeficientes de variacion).En relacion al coeficiente de asimetrıa, se observa una distribucion asimetrica de las variables deerror estandar, a juzgar por el elevado valor de los indicadores 2; cabe notar que destacan dentrodel grupo las variables area error y concavity error. Asimismo, cabe pensar en la existencia dealgunas observaciones atıpicas dentro de este grupo y sobretodo en las dos variables indicadas,dado el elevado valor de los coeficientes de kurtosis 3. En el resto de bloques, solo se observa unvalor destacado de los coeficientes de asimetrıa y kurtosis para las variables mean area y worstarea.

La presencia de valores atıpicos pueden distorsionar las medias y desviaciones tipo de lasvariables de error estandar, por lo que conviene analizar algunas medidas robustas de centralidad y

2Esta hipotesis se podra corroborar en 5.2.5.1 mediante la representacion grafica de estas variables en forma dediagramas de caja o mediante la representacion de sus funciones de densidad

3De nuevo, esta hipotesis se podra corroborar en 5.2.2.2 mediante la representacion de los diagramas de puntospara cada par de variables, o bien en 5.2.5.1 mediante la representacion grafica de estas variables en forma dediagramas de caja

Page 69: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 51

variabilidad y su relacion con los estadısticos del Cuadro 5.2. En este sentido, el Cuadro 5.3 presentalas medidas de distribucion robustas de las variables de WDBC*. Las relaciones de valores entrela media y la mediana (Mean/Med.) y entre la desviacion tipo y la desviacion absoluta mediana(SD/MAD) no recogen valores especialmente elevados, por lo que cabe pensar que los valoresatıpicos mencionados en el parrafo anterior son pocos o presentan diferencias de valor moderadasrespecto a la media.

Cuadro 5.2: Medidas de distribucion univariante de WDBC*.

Variable Mean SD Skew. Kurt. C.Var.

mean radius 13.7640 3.2753 0.9859 0.9936 0.2379mean texture 19.3345 4.5947 0.7506 0.6406 0.2376mean perimeter 89.4284 22.5350 1.0432 1.1672 0.2519mean area 616.9903 317.1862 1.6842 3.7525 0.5140mean smoothness 0.0959 0.0143 0.5350 0.9663 0.1491mean compactness 0.1010 0.0510 1.1889 1.5226 0.5054mean concavity 0.0824 0.0770 1.5810 2.7045 0.9350mean concave points 0.0452 0.0367 1.3187 1.5601 0.8112mean symmetry 0.1809 0.0277 0.7150 1.1069 0.1536mean fractal dimension 0.0630 0.0069 1.3996 3.3752 0.1103radius error 0.3830 0.2563 2.9203 13.7661 0.6692texture error 1.2353 0.5724 1.5423 4.5562 0.4634perimeter error 2.7005 1.8158 3.0893 15.7342 0.6723area error 36.5302 40.2386 5.4654 51.5938 1.1015smoothness error 0.0070 0.0030 2.2755 9.9573 0.4356compactness error 0.0247 0.0173 2.0035 5.9530 0.7029concavity error 0.0311 0.0307 5.2309 49.4301 0.9852concave points error 0.0116 0.0062 1.4671 4.9370 0.5390symmetry error 0.0206 0.0078 1.8618 5.3543 0.3799fractal dimension error 0.0037 0.0026 4.0869 27.8238 0.7050worst radius 15.7188 4.4195 1.2201 1.5135 0.2811worst texture 25.6674 6.4398 0.5979 0.2477 0.2508worst perimeter 103.4200 30.7203 1.2516 1.6935 0.2970worst area 814.9871 508.9008 2.1179 6.4521 0.6244worst smoothness 0.1313 0.0228 0.4908 0.7473 0.1741worst compactness 0.2445 0.1526 1.5495 3.5487 0.6242worst concavity 0.2574 0.2048 1.2710 2.0569 0.7956worst concave points 0.1084 0.0633 0.6120 -0.2673 0.5838worst symmetry 0.2889 0.0616 1.4292 4.4730 0.2133worst fractal dimension 0.0835 0.0179 1.7673 5.8902 0.2150

Page 70: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

52 SECCION 5. EXPERIMENTO COMPUTACIONAL

Cuadro 5.3: Medidas robustas de distribucion univariante de WDBC*.

Median Mean/Med. MAD SD/MAD MAD/Med.

mean radius 13.0650 1.0535 2.5046 1.3077 0.1917mean texture 18.6350 1.0375 3.6145 1.2711 0.1939mean perimeter 84.5350 1.0578 17.2643 1.3052 0.2042mean area 526.8000 1.1712 232.7511 1.3627 0.4418mean smoothness 0.0952 1.0080 0.0112 1.2677 0.1185mean compactness 0.0883 1.1438 0.0398 1.2816 0.4510mean concavity 0.0551 1.4954 0.0592 1.3005 1.0751mean concave points 0.0309 1.4629 0.0291 1.2599 0.9418mean symmetry 0.1789 1.0109 0.0214 1.2979 0.1196mean fractal dimension 0.0618 1.0191 0.0052 1.3346 0.0842radius error 0.3111 1.2310 0.1708 1.5002 0.5491texture error 1.1395 1.0841 0.4290 1.3341 0.3765perimeter error 2.2140 1.2197 1.1959 1.5183 0.5401area error 23.2650 1.5701 23.2944 1.7273 1.0012smoothness error 0.0064 1.1010 0.0021 1.4180 0.3382compactness error 0.0200 1.2331 0.0126 1.3733 0.6311concavity error 0.0243 1.2793 0.0186 1.6506 0.7636concave points error 0.0106 1.0898 0.0045 1.3667 0.4298symmetry error 0.0187 1.0964 0.0056 1.3777 0.3023fractal dimension error 0.0032 1.1749 0.0016 1.6298 0.5082worst radius 14.5450 1.0807 3.3738 1.3099 0.2319worst texture 25.1800 1.0193 5.1539 1.2494 0.2046worst perimeter 95.3850 1.0842 23.5906 1.3022 0.2473worst area 647.0500 1.2595 364.1972 1.3973 0.5628worst smoothness 0.1309 1.0035 0.0177 1.2896 0.1355worst compactness 0.2046 1.1953 0.1153 1.3240 0.5635worst concavity 0.1958 1.3147 0.1605 1.2755 0.8201worst concave points 0.0932 1.1634 0.0518 1.2212 0.5561worst symmetry 0.2806 1.0298 0.0448 1.3750 0.1598worst fractal dimension 0.0799 1.0461 0.0131 1.3625 0.1651

5.2.2. Analisis de correlacion

Un objetivo fundamental de la descripcion de los datos multivariantes es comprender la es-tructura de dependencias entre las variables. Esta etapa del analisis es especialmente importanteen el desarrollo de modelos de clasificacion, ya que si bien la presentacion de atributos correla-cionados no afecta directamente a la precision de los algoritmos de clasificacion, la utilizacion deun numero elevado de atributos tiene una afectacion negativa en situaciones en las que se disponede pocas instancias para el entrenamiento. A esta situacion se la conoce como maldicion de ladimensionalidad o efecto Hughes, y fue definida por Bellman [Bellman, 1961]. La maldicion de ladimensionalidad se relaciona con el incremento del volumen del espacio de atributos, que hace que

Page 71: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 53

los datos disponibles se vuelvan dispersos. Esta dispersion afecta negativamente a la busqueda depatrones llevada a cabo por los algoritmos de clasificacion, que a menudo se basa en la deteccionde las areas donde las instancias forman grupos densos con propiedades similares; en la situaciondescrita por Bellman, sin embargo, todos los objetos parecen escasos y diferentes en el espaciode atributos, lo que impide las estrategias de organizacion de datos comunes sean eficientes. Laproblematica de la dimensionalidad viene agravada porque, en general, la cantidad de datos nece-sarios para mantener la relacion de aspecto de los datos en el espacio de atributos crece de maneraexponencial con el numero de atributos.

El objetivo de esta seccion es localizar pares de atributos altamente correlacionados, de formaque uno de ellos no aporte informacion adicional al modelo y pueda prescindirse del mismo sinsacrificar la precision del clasificador. Un beneficio adicional de esta etapa de limpieza de atributoses la reduccion del coste computacional del entrenamiento, que resulta de especial convenienciaen el caso de utilizar algoritmos computacionalmente costosos como las redes neuronales. En estesentido, cabe destacar que la mayorıa de implementaciones de redes neuronales utilizan entrena-miento por lotes de datos cargados en memoria, cuyo uso se vera tambien mejorado si se prescindede columnas no informativas. En los siguientes puntos se analizara la existencia de correlacionentre las variables de WDBC*, a efectos de definir la matriz de datos reducida que, expresadacomo un subconjunto de la matriz de datos original que prescinde de las variables que no aportanvariabilidad, permita optimizar el rendimiento de la red. Los resultados del ejercicio de seleccion deatributos se podran corroborar en 5.3.2, analizando la precision de la clasificacion ante diferentesconjuntos de atributos de entrada. El analisis de correlacion se realizara en dos etapas: primero seanalizara la correlacion por pares de las distintas metricas para cada atributo (valor medio contraerror estandar contra peor valor) y despues se analizara la correlacion entre atributos dentro deun mismo bloque de metricas. El proceso de calculo y representacion de la misma a partir de losdatos de WDBC* se encuentra recogido en el Anexo 1.

5.2.2.1. Correlacion entre metricas

La Figura 5.2 recoge las matrices de correlacion de las metricas de los distintos atributosagrupadas por atributo. Se puede comprobar que en todos los casos existe una correlacion linealpositiva fuerte (cercana a la unidad) entre los valores medios y los valores maximos para cadaatributo (superior a .8 en 8/10 atributos), lo que indica que ambas medidas contienen informacionredundante sobre el mismo concepto (el atributo). Esta observacion nos permitira prescindir deuno de los bloques de atributos, reduciendo de inicio en una tercera parte el tamano del espaciooriginal de atributos. Por el contrario, existe una correlacion positiva moderada entre los valores deerror y el resto de metricas, lo que indica que este bloque de atributos sı puede aportar informacionadicional al modelo de clasificacion que realizaremos. Cabe preguntarse si, ademas de las relacioneslineales que muestra la matriz de correlacion, existen relaciones de tipo no lineal (cuadraticas,logarıtmicas, etc.) entre los atributos. A este efecto, conviene recoger los diagramas de dispersionde las variables por pares (Figuras 5.3 y 5.4).

Page 72: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

54 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.2: Correlacion de metricas por atributo. Se observa la correlacion entre el valor medio y elvalor peor.

Page 73: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 55

Figura 5.3: Diagramas de dispersion de metricas por atributo - valor medio contra valor peor. Se observauna fuerte correlacion entre los atributos de valor medio y valor peor.

Page 74: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

56 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.4: Diagramas de dispersion de metricas por atributo - valor de error contra valor peor. No seobserva correlacion entre atributos.

Page 75: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 57

En relacion a estos diagramas caben las siguientes consideraciones:

Tal y como muestra la matriz de correlacion, existe una relacion lineal muy fuerte entre losvalores medio y peor para cada atributo (valores medios y peores agrupados alrededor derectas).

Existen unos pocos valores atıpicos en las variables area error y concavity error, tal y comosugerıa el elevado valor de kurtosis para estos atributos.

No se observan relaciones no lineales entre el error y el valor peor (y por tanto tampocoentre el error y la media), solo una correlacion lineal moderada cuya intensidad varıa entrelos distintos atributos pero que, en todo caso, esta muy lejos del nivel de correlacion observadopara los valores medios y peores.

Tampoco se observan relaciones heterocedasticas entre las variables.

No parece que ningun cambio en la representacion de los ejes (ejes en escala logarıtmica,p.ej.) pueda hacer aparecer correlaciones lineales fuertes entre los valores de error estandary medio/peor.

5.2.2.2. Correlacion entre atributos

Una vez analizada la correlacion entre las distintas metricas para un mismo atributo, la atencionpasa a resolver si existen atributos redundantes dentro de un mismo grupo de metricas. A tal efecto,las Figuras 5.5 y 5.6 recogen, respectivamente, la matriz de correlacion entre los valores peores ylos errores estandar de los 10 atributos.

Page 76: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

58 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.5: Matriz de correlacion para los valores peores. Se muestra la correlacion entre el grupo devariables geometricas (cercana a 1) y el grupo de variables de concavidad (cercana a .9).

Page 77: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 59

Figura 5.6: Matriz de correlacion para los valores de error. Se muestra la correlacion entre el grupo devariables geometricas (cercana a 1) y el grupo de variables de concavidad (cercana a .8).

En relacion a los valores peores se observa que:

Existe una correlacion muy fuerte (cercana a la unidad) entre los valores de perımetro (pe-rimeter), radio (radius) y area (area), lo que indica que podremos prescindir de 2 de estas3 metricas en la fase de modelizacion, manteniendo unicamente la variable de area 4.

De igual manera, existe una correlacion fuerte (cercana a .8) entre los valores de compacidad(compactness), concavidad (concavity) y puntos concavos (concave points), lo que indica quepodremos prescindir de 2 de estas 3 variables sin demasiada perdida de informacion. En estecaso, utilizaremos unicamente la variable de puntos concavos.

4Esta decision viene soportada por el analisis de varianza que se realizara en 5.2.5

Page 78: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

60 SECCION 5. EXPERIMENTO COMPUTACIONAL

Tambien existe una correlacion fuerte (cercana a .8) entre los valores de puntos concavos ylos valores de radio, perımetro y area.

Por ultimo, existe una correlacion moderada (cercana a .8) entre los valores de dimensionfractal (fractal dimension) y los valores de concavidad y compacidad.

En cuanto a los valores de error estandar se observa que:

Se repite el patron de relaciones anterior en lo referente a los valores de perımetro, radio y area(correlacion cercana a la unidad) y los valores de compacidad, concavidad y puntos concavos(correlacion cercana a .8) y los valores de dimension fractal, concavidad y compacidad (.8).

El unico bloque de correlaciones observado para los valores maximos que no se manifiestaen los valores de error estandar es la correlacion entre los valores de puntos concavos y elradio, perımetro y area.

Como complemento a las matrices de correlacion presentadas, las matrices de graficos de disper-sion de las Figuras 5.7 y 5.8 nos permiten comprobar que, ademas de las correlaciones linealesmencionadas, no existen correlaciones de otro tipo entre los atributos.

Page 79: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 61

Figura 5.7: Matriz de graficos de dispersion para los valores peores. No se observan relaciones, apartede las lineales indicadas en la Figura 5.6.

Page 80: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

62 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.8: Matriz de graficos de dispersion para los valores de error. No se observan relaciones, apartede las lineales indicadas en la Figura 5.6.

En relacion a estas 2 figuras, se ha decidido recoger en la misma matriz los graficos de dis-persion (triangulo superior), histogramas (diagonal) y graficos de funcion de densidad (trianguloinferior), realizando la distincion de clases positiva (puntos verdes) y negativa (puntos azules).Esta representacion permite realizar algunas observaciones adicionales sobre el conjunto de datos:

Para la relacion entre el perımetro y el area, el coeficiente de correlacion solo se aleja de launidad por una ligera curvatura en la relacion entre atributos.

En el espacio de las variables originales no existe ninguna proyeccion que permita separarlas clases mediante una funcion discriminante (lineal o de otro tipo). No puede descartarse

Page 81: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 63

que dicha separacion pueda realizarse en un nuevo espacio de variables.

Como resultado del ejercicio de analisis de correlacion por pares expuesto, se dispone de un nuevoconjunto de datos reducido, formado por las siguientes variables:

Valores maximos de textura (worst texture), area (worst area), suavidad (worst smothness),puntos concavos (worst concave points), simetrıa (worst symmetry) y dimension fractal(worst fractal dimension)

Valores de error de textura (texture error), area (area error), suavidad (smothness error),puntos concavos (concave points error), simetrıa (symmetry error) y dimension fractal (frac-tal dimension error)

5.2.3. Estandarizacion de variables

Tras observar en los estadısticos univariantes de las variables los distintos rangos de las va-riables, y como paso previo a los analisis que siguen, realizaremos un tratamiento de los datosque asegure la independencia de la contribucion de las variables respecto a su magnitud poten-cial. De otra manera, variables con un rango elevado de valores (como las geometricas) tendrıanmayor peso en los calculos de distancias en el plano que otras. La normalizacion de los datos nospermitira resolver este problema igualando los tandos y la distribucion de los datos. Para realizarel escalado de rangos de valores existen diversos tratamientos, entre los cuales hemos decididoutilizar la tipificacion por la normal. En este escalado, los valores de los datos se ajustan como sudistancia respecto a la media (con signo) medida en unidades de desviacion tıpica, es decir

Zi

=X

i

� µi

�i

.

5.2.4. Analisis de componentes principales

Partiendo del espacio de atributos reducido que resulta del analisis de correlacion de 5.2.2,cabe preguntarse si es posible representar adecuadamente los valores de las variables seleccionadasen un espacio de menor dimension, utilizando un subconjunto de variables que, construidas comocombinaciones lineales de las variables originales, permitan desarrollar un clasificador en este espa-cio reducido a costa de una pequena perdida de precision. El analisis de componentes principales oanalisis PCA (del ingles Principal Component Analysis) tiene precisamente este objetivo: dadas nobservaciones de p variables, se analiza si es posible representar adecuadamente esta informacioncon un numero menor de variables construidas como combinaciones lineales de las originales. Laaproximacion habitual es buscar un grupo de nuevas variables capaces de expresar entre el 80%y el 90% de la variabilidad original. La tecnica de componentes principales es debida a Hote-lling [Hotelling, 1933], aunque sus orıgenes se encuentran en los ajustes ortogonales por mınimoscuadrados introducidos por K. Pearson [Pearson, 1901].

El primer paso para realizar un analisis PCA consiste en obtener los valores y vectores propiosde la matriz de covarianzas muestral, que se obtiene a partir de la matriz de datos -en este caso,del conjunto de datos reducido y escalado. La varianza asociada a cada factor (el cuadrado de lasdesviaciones estandar) viene expresada por el valor propio o raız caracterıstica de la matriz decovarianzas. Los valores propios de la matriz de covarianzas de WDBC* recogen en el Cuadro 5.4.

Page 82: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

64 SECCION 5. EXPERIMENTO COMPUTACIONAL

Cuadro 5.4: Valores propios de la matriz de covarianzas de WDBC*.

Eigenvalue

0 3.8358441 2.3442872 1.8578683 1.1964744 0.9753165 0.7855646 0.4117787 0.2478298 0.1224469 0.10964510 0.09930111 0.036419

Los otros elementos importantes en un ACP son los vectores propios asociados a cada valorpropio, que vienen representados en el Cuadro 5.5. Notar que al inicio del cuadro se ha anadidouna columna que indica el porcentaje de varianza explicada por la componente.

Cuadro 5.5: Vectores propios de la matriz de covarianzas de WDBC*. El valor de cada componenteindica la presencia del atributo en la misma, que se ha etiquetado por columnas en la tabla para facilitarla lectura.

%VE

5

Textureerror

Areaerror

Smothness error

ConcavePointserror

Symmetryerror

Fractal D. error

WorstTexture

WorstArea

WorstSmothnes

WorstConcavePoints

WorstSymmetry

WorstFractal D.

0 31% 0.09 0.30 0.13 0.36 0.15 0.27 0.21 0.31 0.32 0.4 0.29 0.341 19% 0.33 -0.17 0.50 0.17 0.42 0.38 0.14 -0.38 0.00 -0.2 -0.09 0.052 15% 0.42 0.43 0.06 0.19 0.04 0.06 0.22 0.30 -0.34 -0.0 -0.36 -0.423 9% -0.45 0.20 -0.02 0.34 0.00 0.24 0.67 0.12 -0.21 0.0 -0.18 -0.064 8% -0.04 0.12 -0.12 -0.13 0.68 0.27 0.16 0.08 -0.15 -0.0 0.54 -0.235 6% 0.10 -0.17 -0.56 0.12 0.07 0.40 0.21 -0.09 -0.56 0.0 0.09 0.256 3% -0.02 0.43 0.08 -0.63 0.00 0.33 0.06 0.23 -0.04 -0.3 -0.04 0.327 2% 0.60 0.14 -0.43 -0.02 -0.03 0.16 0.51 -0.11 0.27 0.0 -0.09 0.188 1% -0.29 0.40 -0.35 0.22 0.20 0.01 0.28 -0.38 0.37 -0.3 -0.19 -0.039 ¡1% 0.15 0.12 -0.03 0.09 -0.46 0.35 0.07 -0.08 0.11 -0.2 0.56 -0.4410 ¡1% -0.01 -0.34 -0.26 -0.22 0.26 0.42 0.01 0.32 0.38 0.1 -0.24 -0.4211 ¡1% -0.04 0.28 0.06 -0.35 -0.00 0.16 0.03 -0.54 -0.11 0.6 -0.03 -0.22

Page 83: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 65

Cada fila del cuadro representa una combinacion lineal de las variables originales que propor-cionan las componentes principales o factores, de manera que, por ejemplo, se puede observarque la primera componente se construye con una participacion importante de todas las variables,siendo las variables con menor peso texture error, smothness error y symmetry error. Por contra,estas 3 variables dominan el segundo componente. Se observa que no hay ninguna componentecompuesta por una sola variable, lo que corrobora la hipotesis de que no hay ninguna variablecompletamente independiente -en ese caso, esta arrastrarıa ella sola una componente, al no poderexplicarse como combinacion lineal del resto.

Un punto importante en el analisis PCA es la determinacion del numero de factores a retener.Esta decision es, en parte, arbitraria y queda a juicio del investigador. Un criterio es retener losfactores con valor propio igual o superior a 1, aunque este umbral es discutible y no responde a lasnecesidades propias de cada proyecto. Una aproximacion mas completa es representar un graficode sedimentacion (scree plot) de los valores propios como el de la Figura 5.9 y considerar el numerode componentes en el que el descenso se estabiliza. Adicionalmente, puede complementarse estegrafico con un grafico que indique el porcentaje acumulado de varianza explicada al anadir unanueva componente, pudiendo decidir el umbral de corte en funcion del porcentaje de varianza delconjunto de datos original que se desee explicar. Para este caso concreto, la observacion de lafigura indica que a partir del sexto componente hay una caıda en la varianza explicada por nuevascomponentes, lo que indica que solo debemos preocuparnos de los cinco primeros componentes yaque los siguientes tienen poca capacidad explicativa. Mirando el grafico superior, se concluye quepodemos expresar el 90% de la varianza utilizando solo 5 componentes principales.

Figura 5.9: Analisis de componentes principales de WDBC*. Se observa que las 5 primeras componentesrecogen aproximadamente el 90% de la varianza.

Por otra parte, la Figura 5.10 presenta un grafico con las observaciones de WDBC* sobre losplanos formados por las 5 primeras componentes principales, indicando la distincion de clases. Esimportante notar que el analisis PCA no tiene como objetivo optimizar la proyeccion en un plano

Page 84: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

66 SECCION 5. EXPERIMENTO COMPUTACIONAL

de las fronteras de decision, ya que selecciona como direcciones de proyeccion las direcciones enlas que los atributos presentan mayor dispersion, y no la distancia de mayor distancia relativaentre los clusters de las clases. Si lo que se desea es representar en un plano la proyeccion quemejor recoja la separacion entre clases es mas adecuado utilizar otros metodos de reduccion dedimensionalidad supervisada como el analisis de discriminante lineal o LDA (del ingles LinearDiscriminant Analysis).

Figura 5.10: Matriz de diagramas de dispersion en el espacio PCA. Se recogen los cruces por pares delas 5 primeras componentes, que explican el 90% de la varianza.

Page 85: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 67

5.2.5. Seleccion de atributos

Una aproximacion alternativa para reducir el numero de atributos de entrada del modelo esrealizar una seleccion de atributos, llevando a cabo una ordenacion de los mismos mediante algunmetodo de puntuacion que estime su capacidad predictiva para despues definir un umbral o puntode corte que nos permita quedarnos solo con los mas importantes. Existen diversos metodos deseleccion de atributos, aunque en general podemos agruparlos en metodos univariantes, cuandoconsideran la capacidad predictiva de cada una de las variables sin tener en cuenta su relacioncon el resto, y metodos multivariantes, cuando sean capaces de considerar el efecto conjunto deun grupo de variables y utilicen esta informacion para ponderar la puntuacion individual de cadauno de ellas. En las siguientes secciones se analizara la aplicacion de un representante de cada unode estos grupos sobre el conjunto WDBC*.

5.2.5.1. Seleccion de atributos univariante: analisis ANOVA

Un metodo muy popular para prever la capacidad predictiva de la clase de cada una de lasvariables del espacio original antes de pasar a la etapa de modelizacion es realizar un analisis dela varianza o ANOVA (del ingles Analysis of Variance). La hipotesis que se pone a prueba en elANOVA es que las medias poblacionales -las medias de los atributos en cada una de las clases-son iguales. Si las medias son iguales, los grupos o clases no difieren en la distribucion del atributoy, en consecuencia, la clase y el atributo son independientes.

La estrategia para poner a prueba la hipotesis de igualdad de medias consiste en obtener unestadıstico llamado F de Fischer o ANOVA-F , que refleja el grado de similitud entre las mediasque se estan comparando. Este estadıstico se calcula mediante la expresion

F =

PK

i=1 ni

(Yi

� Y )2

K � 1PK

i=1

Pn

i

j=1 ni

(Yij

� Yi

)2

N �K

,

donde el numerador expresa una estimacion de la varianza poblacional basada en la variabilidadexistente entre las medias de cada grupo (variabilidad inter-grupos) y el denominador expresatambien una estimacion de la varianza poblacional pero basada en la variabilidad existente dentrode cada grupo (variabilidad intra-grupos). Si las medias poblacionales son iguales, las mediasmuestrales seran parecidas, existiendo solo diferencias atribuibles al azar. En ese caso, la estimacionde la varianza basada en las diferencias entre las medias de cada grupo reflejara el mismo valor quela estimacion realizada con las puntuaciones individuales y el cociente tomara un valor cercano a1. Por el contrario, si las medias son distintas, el valor de la variabilidad inter-grupos sera superioral de la variabilidad intra-grupos, lo que provocara que el cociente tome un valor superior a 1.Cuanto mas diferentes sean las medias, mayor sera este valor.

En general el estadıstico F se utiliza para realizar un contraste de hipotesis, en el que se asignaa este una distribucion de probabilidad (llamada F de Fischer-Snedecor) y se compara su valor conel de un umbral crıtico, correspondiente por ejemplo a la probabilidad .05 para aceptar o rechazarla hipotesis de igualdad de medias. En la seleccion univariante de atributos, sin embargo, el valorF es utilizado para ordenar la capacidad predictiva individual de las variables. En este sentido,la Figura 5.11 representa el valor relativo de F respecto a F

max

para cada una de las variables deWDBC*. La lectura del grafico indica que las variables de valor medio y peor explican la clase deforma parecida -debido a su elevada correlacion- si bien las variables de valor peor tienen mayor

Page 86: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

68 SECCION 5. EXPERIMENTO COMPUTACIONAL

capacidad predictiva individual 6. Por otro lado, se observa que entre las variables de error solo lasvariables geometricas (area, perımetro y radio) tienen una capacidad predictiva destacable, si bienesta observacion no nos permite afirmar que otras variables sin capacidad predictiva individualpuedan ser interesantes en el analisis multivariante, por lo que no es apropiado realizar descartesen base a esta lectura.

A modo ilustrativo, las Figuras 5.12 y 5.13 recogen, respectivamente, las distribuciones de lasvariables worst concave points (mas predictiva) y smothness error menos predictiva. Como puedeobservarse, en el primer caso la variable de clase realiza una separacion clara de distribuciones,mientras que en el segundo las distribuciones quedan solapadas, lo que indica que las mediaspoblacionales son muy parecidas. La Figura 5.14 recoge los diagramas de caja o boxplots de las 12variables del conjunto WDBC* reducido, que permiten hacer una lectura similar de la desigualdadde medias poblacionales.

Figura 5.11: Valor relativo de F respecto a Fmax

para cada una de las variables de WDBC*.

Figura 5.12: Distribucion de worst concave points segun la variable de clase.

6Esto justifica la decision de tomar este grupo y no el de valores medios para el subconjunto WDBC* reducido.Para la seleccion del resto de representantes (area y puntos concavos) se ha utilizado el mismo procedimiento.

Page 87: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.2. DESCRIPCION ESTADISTICA DEL CONJUNTO DE DATOS 69

Figura 5.13: Distribucion de smothness error segun la variable de clase.

Figura 5.14: Diagramas de caja por clase para cada una de las variables de WDBC* reducido.

Page 88: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

70 SECCION 5. EXPERIMENTO COMPUTACIONAL

5.2.5.2. Seleccion de atributos multivariante: Random Forests

El metodo de seleccion de atributos univariante recogido en el punto anterior es una buenaaproximacion para comprender las relaciones entre cada uno de los atributos y la variable de clase,pero no es capaz de eliminar la redundancia entre atributos (es decir, seleccionar solo uno entreun conjunto de atributos correlacionados) o de captar la capacidad predictiva combinada de doso mas atributos. Esta problematica puede salvarse mediante los metodos de seleccion de atributosmultivariantes, tal como el analisis de atributos mediante arboles se presenta a continuacion.

En la seleccion de atributos mediante arboles la determinacion de la importancia de los atri-butos se realiza desarrollando un conjunto de modelos con un subespacio aleatorio de atributos deentrada (Random Forests) y obteniendo una medida de puntuacion como la entropıa o el ındiceGini. El procedimiento para puntuar atributos es el siguiente: cuando se entrena un arbol, se puedecalcular cuanto disminuye la impureza ponderada del arbol con la adicion de una nueva carac-terıstica. Al desarrollar un conjunto de arboles, la disminucion de impurezas de cada caracterısticase puede promediar y las caracterısticas se pueden clasificar de acuerdo con esta medida. La Figura5.15 recoge en forma de diagrama de barras la importancia relativa de cada uno de los atributosdel conjunto WDBC* reducido. Como se puede observar, la variable de mayor peso en el conjuntode modelos desarrollado es worst concave points, coincidiendo con la estimacion univariante dela capacidad predictiva. En este caso, sin embargo, otras variables con una capacidad predictivaindividual elevada, como worst worst concavity o worst compactness quedan tapadas por la misma,al existir una correlacion fuerte entre ambas. Como se puede ver, tambien las variables de valormedio quedan tapadas por su correlacion con las variables de valor peor, siguiendo la lınea delanalisis de correlaciones por pares realizado en 5.2.5.1.

Figura 5.15: Importancia relativa de cada caracterıstica de WDBC* (Random Forests).

Page 89: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.3. DEFINICION DEL MARCO DE TRABAJO 71

5.3. Definicion del marco de trabajo

5.3.1. Definicion de la estrategia de evaluacion

5.3.1.1. Metrica de evaluacion

Como se ha indicado en la introduccion de la seccion, los resultados del experimento compu-tacional se evaluaran mediante analisis ROC. La utilizacion de la curva ROC y de sus metricasderivadas para evaluar el rendimiento de los modelos tiene numerosas ventajas. En primer lugar, adiferencia de otras metricas unicas de utilizacion comun en el ambito medico (como la sensibilidady la especificidad) o en el analisis de datos (como la precision), la metrica de resumen del analisisROC (el AUC) no se ve afectada por el criterio de decision o umbral de corte, y es independiente dela prevalencia de la enfermedad al basarse en la sensibilidad y la especificidad y no en la precision.En segundo lugar, se pueden comparar simultaneamente varias curvas de rendimiento sobre losmismos sujetos en el espacio ROC, lo que permite no solo tener una ordenacion de la metrica deresumen (AUC) sino tambien notar ciertos aspectos como el comportamiento en los rangos bajosde FP u otros. En tercer lugar, es posible obtener facilmente otras metricas como la sensibilidado la especificidad para un umbral determinado a partir de la curva, puesto que el valor del eje deordenadas muestra directamente la sensibilidad y el de abscisas muestra el complementario de laespecificidad. Por ultimo, el valor de corte optimo se puede determinar optimizando la sensibilidadutilizando el analisis de curva ROC. Esto es especialmente relevante en casos de diagnostico deenfermedades graves debido al coste asociado al falso positivo.

5.3.1.2. Estrategia de evaluacion

La definicion de la estrategia de evaluacion de los modelos generados ha resultado ser uno delos puntos mas interesantes y didacticos del ejercicio debido a la concurrencia en el experimentode los siguientes factores:

1. Por un lado, el escaso tamano del conjunto de datos WDBC* y el ratio de prevalencia de laclase positiva da lugar a subconjuntos de validacion con apenas unas pocas instancias de laclase de interes. Esto provoca que los resultados obtenidos en validaciones consecutivas demodelos realizados sobre el mismo conjunto de datos pero distintas particiones de entrena-miento -por ejemplo, en el contexto de una estrategia de evaluacion mediante k-fold crossvalidation- obtengan rendimientos muy dispares.

2. Por otro lado, el propio clasificador neuronal se presenta como un clasificador inestable,capaz de alcanzar rendimientos distintos en iteraciones consecutivas aun siendo entrenadosobre el mismo conjunto de datos. Esta inestabilidad se debe a la inicializacion aleatoria delos pesos sinapticos, que lleva al proceso de descenso por el gradiente a alcanzar mınimoslocales en el espacio de busqueda y da lugar a clasificadores capaces de tomar decisionesdistintas sobre instancias concretas aun habiendo sido ajustados en el mismo dominio. Estose agrava ante la situacion de escasez de datos descrita en el punto anterior.

Ante esta problematica, cabe pensar en la necesidad de disponer de una distribucion de proba-bilidad de la metrica resumen de rendimiento -el AUC- que nos permita comparar modelos deforma robusta. Para obtener esta distribucion es necesario recorrer a metodos de muestreo itera-tivo como el repeated k-fold cross-validation (o Monte-Carlo cross-validation) o la evaluacion por

Page 90: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

72 SECCION 5. EXPERIMENTO COMPUTACIONAL

bootstrap. La eleccion entre estos metodos no es trivial, y debe tenerse clara la pregunta que sequiere responder. Partiendo de una muestra de datos pequena:

Si lo que se quiere es proporcionar una buena metrica de rendimiento es adecuado utilizar unaestrategia de repeated k-fold cross-validation con un numero elevado de particiones (10-foldcross-validation, p.ej.) que de lugar a conjuntos de entrenamiento grandes. Esta aproximacionmejora el rendimiento del modelo, que puede ser entrenado sobre un subconjunto de datosmayor, y por tanto reduce el sesgo entre iteraciones favoreciendo la obtencion de metricasde rendimiento representativas de los resultados que se obtendran en la poblacion completa.

Por el contrario, si lo que se quiere es seleccionar entre distintos modelos (y no obtenerun indicador de rendimiento lo mas representativo posible) se debe apostar por estrategiasde remuestreo con reemplazo tipo bootstrap, que favorezcan la reduccion de la varianza ypermitan obtener metricas de rendimiento mas estables -debido a la generacion de un grannumero de replicas ligeramente distintas y al mayor volumen del conjunto de evaluacion.

Entendiendo que la segunda premisa explica mejor lo que aquı pretendemos, se ha decidido utilizaruna estrategia de evaluacion basada en boostrap. En concreto, se utilizara la denominada Out-Of-Bag Bootstrap (OOBB), en la que las instancias que no se utilizan para el entrenamiento (instanciasout-of-bag) se utilizan para realizar la evaluacion, con 1000 replicas bootstrap por curva.

5.3.1.3. Definicion del modelo de referencia (baseline model)

A continuacion se describe el clasificador de base que se utilizara en todos los escenarios deremuestreo y ensamble. Cabe notar que esta es solo una arquitectura inicial, que sera revisada masadelante con objeto de optimizar cada uno de los parametros del perceptron. La unica premisautilizada para definir la red ha sido la de mantener los tiempos de computacion acotados, lo quenos ha llevado a utilizar una red simple (sin un gran numero de capas y neuronas ocultas). Lamayor parte de parametros se ha definido utilizando los valores mas populares o recomendados,entendiendo que habra tiempo de ajustarlos una vez definido el pipeline -es decir, cuando hayamosseleccionado el mejor metodo de remuestreo.

Modelo de referencia o baseline model

Numero de capas ocultas: 2

Tamano de las capas ocultas: (12, 6)

Funcion de activacion: lineal

Optimizador: ADAM

↵: .0001

Batch: 200 instancias

Ratio de aprendizaje: .001 (constante)

Numero de iteraciones: 200 (sin convergencia para evitar guardar fracciones de validacion)

Momentum: .9 (Nesterov sı)

Page 91: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.3. DEFINICION DEL MARCO DE TRABAJO 73

�1 / �2 / ✏ (adam): .9 / .999 / 1e-8

Un aspecto importante en la definicion del clasificador de base es la eleccion de los atributos deentrada. En este sentido, y como paso previo a la evaluacion de tecnicas de remuestreo y ensamble,la Figura 5.16 muestra los resultados de aplicar el clasificador descrito sobre los siguientes conjuntosde datos:

Conjunto de datos WDBC original (30 atributos) con datos tipificados

Conjunto de datos WDBC reducido (12 atributos) con datos tipificados

Subconjunto con los 5 mejores atributos (Random Forests) con datos tipificados

Proyecciones PCA (5 componentes) de WDBC reducido con datos tipificados

Figura 5.16: Curvas ROC para el modelo de base segun atributos de entrada.

Se pueden realizar dos observaciones en relacion a la figura:

1. Se demuestra que la eliminacion de redundancia en la entrada de atributos (conjuntos dedato reducidos) beneficia al comportamiento del clasificador en presencia de pocas instanciasde entrenamiento, tal y como se ha indicado en 5.2.2.

2. Se observa que la reduccion de dimensionalidad mejora el rendimiento del clasificador solocuando se mantienen controlados los niveles de varianza explicada por el nuevo subconjuntode atributos. En este sentido, aproximaciones como la proyeccion en componentes principalescon retencion de niveles de la varianza superiores al 90% (PCA - 5 componentes) funcionanmucho mejor que otros metodos como la seleccion multivariante (atributos seleccionados - 5atributos).

Page 92: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

74 SECCION 5. EXPERIMENTO COMPUTACIONAL

En adelante, los modelos desarrollados utilizaran como conjunto de datos de entrada las 5 primerascomponentes de la proyeccion en componentes principales del conjunto de datos reducido. LaFigura 5.17 recoge la curva ROC del modelo de referencia, que se conservara como contexto en lossiguientes puntos; tambien se presenta la funcion de densidad estimada del AUC.

Figura 5.17: Modelo de referencia o baseline model

5.4. Aplicacion de tecnicas de remuestreo y ensamble

Los siguientes puntos recogen la aplicacion de tecnicas de remuestreo y ensamble dentro delpipeline del modelo de referencia que resulta del punto anterior. Este punto se organiza comosigue:

El punto 5.4.1 recoge un resumen de resultados en forma de tabla (Cuadro 5.6), indicandolos resultados del paired t-test de los distintos metodos contra el modelo de referencia.

Page 93: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 75

En 5.4.2 se recoge el detalle de los resultados en forma de curva ROC. En cada parrafose recogen las curvas obtenidas para una familia de tecnicas (sobremuestreo, submuestreo,mixtas y ensamble) y se indican los parametros de configuracion, si los hay 7.

En 5.4.3 se realizan, de forma conjunta, los comentarios sobre los resultados y se recogeel modelo definitivo, dando paso a la presentacion del modelo definitivo sobre el cual solorestara optimizar la arquitectura de la ANN.

5.4.1. Resumen de resultados

Cuadro 5.6: Paired t-test de las tecnicas de remuestreo y ensamble (contra modelo de referencia).

Familia Metodo AVG AUC STD AUC Di↵. SE CI 95% Significancia- Baseline Model 0,82 0,11 - - - -

OverSampling ROS 0,82 0,11 0,000 0,007 -0,0133 a 0,0133 P=1.0000OverSampling SMOTE 0,84 0,10 0,020 0,006 0,0073 a 0,0327 P=0.0020OverSampling bSMOTE 0,85 0,09 0,030 0,006 0,0179 a 0,0421 P<0.0001OverSampling ADASYN 0,85 0,08 0,030 0,006 0,0184 a 0,0416 P<0.0001UnderSampling RUS 0,81 0,12 -0,01 0,007 -0,0239 a 0,0039 P=0,1584UnderSampling OSS 0,64 0,23 -0,18 0,011 -0,2018 a -0,1582 P<0.0001UnderSampling NM1 0,59 0,21 -0,23 0,010 -0,2502 a -0,2098 P<0.0001UnderSampling ClC 0,86 0,07 0,040 0,006 0,0289 a 0,0511 P<0.0001UnderSampling TL 0,82 0,10 0,000 0,006 -0,0127 a 0,0127 P=1.0000UnderSampling NCL 0,83 0,10 0,010 0,006 -0,0027 a 0,0227 P=0,1225UnderSampling ENN 0,84 0,09 0,020 0,006 0,0079 a 0,0321 P=0,0013UnderSampling CNN 0,67 0,17 -0,15 0,009 -0,1673 a -0,1327 P<0.0001

Mixtos SMOTE-TL 0,84 0,09 0,020 0,006 0,0079 a 0,0321 P=0,0013Mixtos SMOTE-ENN 0,84 0,10 0,020 0,006 0,0073 a 0,0327 P=0,0020

Ensamble Bagging 0,85 0,07 0,030 0,006 0,0189 a 0,0411 P<0.0001

7El ratio de balanceo buscado por las tecnicas de remuestreo sera siempre 50/50, tanto para sobremuestreo comopara submuestreo, por lo que no se indicara en cada punto.

Page 94: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

76 SECCION 5. EXPERIMENTO COMPUTACIONAL

5.4.2. Detalle de resultados (configuracion y curvas ROC)

5.4.2.1. Metodos de sobremuestreo

A continuacion se lista el subconjunto de metodos de sobremuestreo utilizados, junto a losparametros utilizados en cada uno:

Metodos de sobremuestreo aleatorio

• Random OverSampling (ROS )

Metodos de sobremuestreo sintetico

• Synthetic Minority OverSampling Technique (SMOTE )

� Numero de vecinos para la generacion de la instancia sintetica: 3

• Borderline SMOTE (bSMOTE )

� Numero de vecinos para determinar la localizacion de la instancia: 3

� Numero de vecinos para la generacion de la instancia sintetica: 3

• Adaptative Synthetic Sampling (ADASYN )

� Numero de vecinos para la generacion de la instancia sintetica: 3

Figura 5.18: Curvas ROC para las tecnicas de sobremuestreo

Page 95: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 77

5.4.2.2. Metodos de submuestreo

En relacion a los metodos de sumbuestreo, el conjunto de tecnicas utilizadas ha sido el siguiente:

Metodos de submuestreo aleatorio

• Random UnderSampling (RUS )

Metodos de submuestreo informado

• One Side Selection (OSS )

� Numero de vecinos utilizados para calcular la distancia a la muestra de la claseminoritaria: 1

� Numero de seeds S: 1

• Near-Miss.1

� Numero de vecinos utilizados para calcular la distancia a la muestra de la claseminoritaria: 3

• Cluster Centroids (ClC )

Figura 5.19: Curvas ROC para las tecnicas de submuestreo

Page 96: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

78 SECCION 5. EXPERIMENTO COMPUTACIONAL

Por otro lado, y dentro de los metdos de submuestreo, se han utilizado los siguientes metodosde limpieza:

Metodos de limpieza

• Tomek’s Links (TL)

• Neighborhood Cleaning Rule (NCL)

� Numero de vecinos utilizados para realizar la comparacion entre cada instancia ysus vecinos mas proximos: 3

• Edited Nearest Neighbors (ENN )

� Numero de vecinos utilizados para calcular la distancia media a las instancias dela clase minoritaria: 3

• Condensed Nearest Neighbors (CNN )

� Numero de vecinos utilizados para realizar la comparacion entre cada instancia ysus vecinos mas proximos: 1

� Numero de seeds S: 1

Figura 5.20: Curvas ROC para las tecnicas de limpieza

Page 97: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 79

5.4.2.3. Metodos de mixtos

Los metodos mixtos utilizados han sido los siguientes:

Metodos de sobremuestreo con limpieza de bordes

• SMOTE + Edited Nearest Neighbors (SMOTE-ENN )

� Numero de vecinos para la generacion de la instancia sintetica: 3

� Numero de vecinos utilizados para calcular la distancia media a las instancias dela clase minoritaria: 3

• SMOTE + Tomek’s Links (SMOTE-TL)

� Numero de vecinos para la generacion de la instancia sintetica: 3

Figura 5.21: Curvas ROC para las tecnicas mixtas

Page 98: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

80 SECCION 5. EXPERIMENTO COMPUTACIONAL

5.4.2.4. Metodos de ensamble

Por ultimo, se han utilizado los siguientes metodos de ensamble:

Metodos de ensamble de clasificadores (votacion)

• Bootstrap Aggregatting (Bagging)

� Numero de estimadores: 10

� Tamano de las replicas boostrap: 1.0 (tamano del conjunto original), con reemplazo

� Tamano del espacio de atributos: 1.0 (atributos originales), sin reemplazo

Figura 5.22: Curvas ROC para las tecnicas de ensamble

Page 99: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 81

5.4.3. Lectura de resultados y modelo definitivo

Metodos de sobremuestreo: en relacion a los metodos de sobremuestreo, se observa quelos metodos que proporcionan una aproximacion adaptativa (con generacion del numero deinstancias sinteticas en funcion de la posicion de la instancia de la clase minoritaria) pro-porcionan los mejores resultados. En concreto, tanto bSMOTE como ADASYN dan lugar aun valor medio de AUC de .85, +3pp por encima del modelo de referencia. Por otro lado,ADASYN genera menor varianza en el resultado (desviacion tipo de .09, contra .10 en el casode bSMOTE). El sobremuestreo tradicional (SMOTE) obtiene un valor medio de AUC de.84, +2pp superior a la referencia, con una desviacion tipo de .09. Por ultimo, el sobremues-treo aleatorio (ROS) no es capaz de mejorar los resultados del modelo original (AUC mediode .82 con desviacion tipo de .11). El exito de bSMOTE y ADASYN puede explicarse porla dificultad de clasificacion de las instancias fronterizas generadas al modificar el conjuntoWDBC original (vease Seccion 5.1.3), tratadas con especial atencion por los metodos adap-tativos. A efectos de ilustrar este comentario, pueden observarse las Figuras 5.23 y 5.24, querecogen respectivamente los planos formados por los 5 primeros componentes principales delconjunto de datos WDBC* sobremuestreado mediante ADASYN y las fronteras de decisionilustradas sobre estos planos: en el plano formado por PCA1 y PCA2 se puede notar queal generarse densidad de casos en la zona de error mas probable se ajusta el aprendizaje dela red, que encuentra un numero de instancias suficiente para direccionar los pesos sinapti-cos en el sentido adecuado. Es importante notar que la mejora en el comportamiento delmodelo obtenida mediante el sobremuestreo se produce por un mejor rendimiento en ratiosde FP bajo (menor a .3) sin penalizar el comportamiento en ratios de FP superiores (cur-vas desplazadas hacia la derecha). En el caso del sobremuestreo aleatorio, por ejemplo, elcomportamiento se mejora en ratios de FP bajo, pero esto penaliza el comportamiento losrangos superiores de FP.

Metodos de submuestreo: en cuanto a los metodos de submuestreo, conviene separar losmetodos de submuestreo puro de los metodos de limpieza:

• Metodos de submuestreo: el unico metodo de submuestreo que mejora el rendimientodel clasificador respecto a la referencia es el submuestreo basado en clusters (ClC),que da lugar a un AUC medio de .86 (+4pp respecto a referencia) con una desviaciontipo relativamente baja (.07). Este metodo, igual que los metodos de sobremuestreosintetico adaptativo, aumenta la presencia relativa de la clase minoritaria en las zonasfronterizas, si bien en este caso el procedimiento se basa en eliminar instancias de laclase mayoritaria y no en generar instancias de la clase minoritaria. Las Figuras 5.25y 5.26 recogen, de nuevo, el resultado de la aplicacion del metodo sobre el conjuntode datos proyectado en las 5 primeras componentes principales. El resto de tecnicas desubmuestreo (OSS, NM1 y RUS) no han sido capaces de mejorar el rendimiento de lared, probablemente a causa de la no-discriminacion de zonas: OSS y NM1 se basan enla eleccion de una muestra representativa del conjunto de la clase mayoritaria, mientrasque ROS realiza una seleccion completamente aleatoria.

• Metodos de limpieza: entre los metodos de limpieza, ENN proporciona el mayor incre-mento de rendimiento respecto al modelo de referencia (AUC medio de .84, +2pp, condesviacion tipo de .09). En el caso de TL no hay mejora respecto al modelo de referencia(.82, con desviacion tipo de .10).

Page 100: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

82 SECCION 5. EXPERIMENTO COMPUTACIONAL

Metodos mixtos: se observa que la aplicacion de tecnicas de limpieza (ENN y TL) al con-junto de datos sobremuestreado mediante SMOTE no proporciona mejores resultados quela aplicacion individual de SMOTE (AUC media de .84, con desviaciones tipo de .09 y .10para TL y ENN).

Metodos de ensamble: la aplicacion de bagging aumenta el rendimiento de la red y, sobreto-do, mejora la estabilidad del modelo (AUC media de .84, +2pp respecto a la referencia, condesviacion tipo de .07). Esta reduccion de la varianza de los resultados se explica por la ines-tabilidad del clasificador neuronal, cuyo proceso de ajuste de pesos puede alcanzar distintosmınimos locales de la funcion de coste al entrenar la red en conjuntos de entrenamientoligeramente distintos -e incluso en un mismo conjunto de entrenamiento si se modifica lainicializacion de pesos. Esta inestabilidad del modelo provoca el desacuerdo entre distintasredes entrenadas sobre conjuntos de datos semejantes al llevar a cabo votaciones individua-les, lo que (ironicamente) es un requisito clave para mejorar la precision de un clasificadorconstruyendo un ensamble de redes (principio de variedad) que permita agregar los resulta-dos para producir un resultado mejorado -evidentemente, no hay ventaja en la agregacionde resultados de un conjunto de agentes expertos si todos ellos estan de acuerdo.

Obviamente, al coincidir que el submuestreo con ClC proporciona el mejor rendimiento medio(.86) y la menor desviacion tipo (.07, solo igualada por Bagging), tanto la comparativa de valoresmedios (columna Di↵. del Cuadro 5.6) como los intervalos de confianza del 95% (columna CI 95%)indican que este metodo da lugar al mejor resultado del experimento. A este efecto, la Figura 5.27recoge la curva ROC obtenida con ClC y la distribucion del AUC obtenido, que seran nuestronuevo modelo de referencia y formaran el pipeline de base que utilizaremos para optimizar laarquitectura y los parametros de la red.

Page 101: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 83

Figura 5.23: Proyeccion de WDBC* sobremuestreado mediante ADASYN en los planos formados porlas 5 primeras componentes principales.

Page 102: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

84 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.24: Fronteras de decision de la ANN representadas sobre la Figura 5.23. Se observa que lageneracion de instancias en las zonas fronterizas mejora el rendimiento del clasificador.

Page 103: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 85

Figura 5.25: Proyeccion de WDBC* submuestreado mediante ClC en los planos formados por las 5primeras componentes principales.

Page 104: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

86 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.26: Fronteras de decision de la ANN representadas sobre la Figura 5.25. Se observa que laeliminacion de instancias de la clase mayoritaria en las zonas fronterizas aumenta la presencia relativa dela clase minoritaria y mejora el rendimiento del clasificador.

Page 105: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.4. APLICACION DE TECNICAS DE REMUESTREO Y ENSAMBLE 87

Figura 5.27: Modelo definitivo. Se obtiene mediante submuestreo basado en clusters con la ANN descritaen 5.2

Page 106: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

88 SECCION 5. EXPERIMENTO COMPUTACIONAL

5.5. Ajuste de los parametros de la ANN

Como se ha visto en el apartado anterior, la aproximacion de preprocesamiento de datos consubmuestreo basado en clusters proporciona el modelo de mejor rendimiento para la clasificaciondel conjunto de datos WDBC*. Llegados a este punto, cabe preguntarse si la modificacion delos parametros de la ANN fuera de las recomendaciones generales (valores por defecto) aportaganancia respecto al modelo de base. En ese sentido, este punto tiene como objetivo evaluarel acierto del clasificador -de nuevo, mediante curvas ROC y metricas derivadas- bajo nuevossupuestos de topologıa, funcion de activacion y optimizador.

A diferencia de 5.4, este punto seguira un procedimiento de mejora secuencial de los parametros,es decir, el mejor modelo obtenido en el apartado anterior sera la base sobre la que se configurenlos nuevos parametros, dando lugar ası en la finalizacion al que denominaremos Modelo definitivo.

A continuacion se define el orden en el que se aplicaran las mejoras:

1. En 5.5.1 se evaluara el rendimiento de la ANN con distintos tamanos (dos capas ocultas,distinto numero de nodos).

2. En 5.5.2 se evaluara la posibilidad de modificar la distribucion de dichas capas ocultas,incluso eliminando una de ellas.

3. En 5.5.3 mediremos el rendimiento del clasificador utilizando distintas funciones de activacionen las unidades de procesamiento.

4. Para finalizar, en 5.5.4 probaremos distintos optimizadores.

Cabe destacar que, si bien pueden realizarse algunos comentarios comprensivos sobre los resultados,el rendimiento de las ANN depende de una gran cantidad de caracterısticas concretas del problema(grado de no-linealidad de la funcion a aproximar, numero de componentes independientes de laentrada, etc.), por lo que la recomendacion general es optimizar la configuracion de las ANNmediante prueba-error. En ese sentido, en cada punto de este apartado se realizaran algunoscomentarios sobre los resultados, pero no cabe una interpretacion comprensiva como la que seintentaba realizar en 5.4.3.

5.5.1. Numero de capas ocultas

En relacion al tamano de la red, se ha experimentado con las siguientes configuraciones decapas ocultas (incluye el modelo de base):

Red de gran tamano: 2 capas ocultas, con 24 y 12 neuronas, respectivamente.

Red mediana: 2 capas ocultas, con 18 y 9 neuronas, respectivamente.

Red pequena: 2 capas ocultas, con 6 y 3 neuronas, respectivamente.

Modelo de base: 2 capas ocultas, con 12 y 6 neuronas, respectivamente.

Los resultados obtenidos se muestran en la Figura 5.28.

Page 107: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.5. AJUSTE DE LOS PARAMETROS DE LA ANN 89

Figura 5.28: Curvas ROC para distinto tamano de red.

Se puede observar que la modificacion del tamano de la red no aporta mejora sobre el modelo debase. En relacion a este resultado, caben los siguientes comentarios (recomendaciones generales):

En general, es necesario que la red tenga tamano suficiente para ser capaz de abstraer todoslos patrones sin generar cuellos de botella.

En el lado contrario, mas unidades no mejoran el rendimiento, pues pueden dar lugar asobreajuste y a redes parsimoniosas (con lentitud en el aprendizaje). Adicionalmente, lasredes de mayor tamano toman mas tiempo de entrenamiento, lo que conlleva un mayor costecomputacional.

La funcion de aprendizaje con el tamano, por tanto, tiene un aspecto convexo y es necesariomuestrear para encontrar el punto optimo.

En el siguiente punto mantendremos el modelo original como modelo de base para evaluar laorganizacion de las capas ocultas.

5.5.2. Organizacion de las capas ocultas

Continuando con ajustes sobre la topologıa, se ha experimentado con las siguientes distribu-ciones de neuronas:

Red uniforme: 2 capas ocultas, con 12 y 12 neuronas, respectivamente.

Red en piramide invertida: 2 capas ocultas, con 6 y 12 neuronas, respectivamente.

Red de una capa: 1 capas ocultas, con 12 neuronas.

Modelo de base: 2 capas ocultas, con 12 y 6 neuronas, respectivamente.

Page 108: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

90 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.29: Curvas ROC para distintas distribuciones de capas ocultas.

En relacion a los resultados, caben los siguientes comentarios:

La utilizacion de capas ocultas distribuidas segun una piramide invertida provoca un cuellosde botella (las capas anteriores limitan el numero de patrones que las capas posteriorespueden aprender), por lo que no se recomiendan.

Aunque, teoricamente, una unica capa oculta puede ser capaz de aproximar casi cualquierfuncion, en ocasiones una segunda capa oculta mejora el rendimiento en la aproximacion defunciones con niveles de no-linealidad elevados.

Se mantendra, por tanto, la distribucion original de capas como base para la siguiente etapa deoptimizacion.

5.5.3. Funcion de activacion

Se ha evaluado el rendimiento de la red con las distintas funciones de activacion con salidacontinua indicadas en 2.3.3.1.

Activacion con funcion logıstica

Activacion con funcion tanh

Modelo de base (funcion de activacion lineal)

Page 109: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5.5. AJUSTE DE LOS PARAMETROS DE LA ANN 91

Figura 5.30: Curvas ROC para funciones de activacion lineal, logıstica y tanh.

Como puede verse en la figura, se obtienen resultados comparables para todas las funciones deactivacion, destacando solo el comportamiento mas liberal del clasificador basado en la funcionde activacion logıstica (curva desplazada hacia la izquierda), lo que beneficia las medidas de AUCparciales para casos en los que se desee obtener una metrica de acierto para un rango determinadode falsos positivos. Este resultado, y el hecho de que la utilizacion de la funcion de activacionlogıstica permite interpretar el resultado de la red como un estimador de probabilidad analogo alresultado obtenido por un clasificador bayesiano [vease Jordan, 1995], nos han llevado a seleccionarla funcion logıstica como activador para el modelo de referencia que pasara a la siguiente etapa.

5.5.4. Algoritmo de optimizacion

Por ultimo, se ha evaluado el rendimiento de la ANN con 200 iteraciones para distintos algo-ritmos de optimizacion.

Optimizacion mediante SGD

Optimizacion mediante LBFGS

Modelo de base (optimizador Adam)

Page 110: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

92 SECCION 5. EXPERIMENTO COMPUTACIONAL

Figura 5.31: Curvas ROC correspondientes a los optimizadores SGD, Adam y LBFGS.

El algoritmo Adam, basado en la utilizacion de momentum adaptativo (vease 2.3.3.4), proporcio-na un rendimiento muy superior a SGD bajo las circunstancias analizadas, lo que indica que lacorreccion por sesgo de este algoritmo es capaz de mejorar la convergencia del proceso de opti-mizacion notablemente. Segun se indica en estudios recientes, en general el optimizador SGD escapaz de encontrar un mınimo en las mismas circunstancias que los optimizadores mas modernos,pero toma un numero de iteraciones mayor que estos sobretodo en dominios complejos (con pocasinstancias para reconocer patrones, p.ej.). En consecuencia, si se desea una convergencia rapidade la optimizacion dentro de una estrategia de evaluacion con repeticiones (bagging, repeated k-fold) conviene utilizar optimizadores con momento adaptativo como Adam o variantes (Adagrado RMSProp).

Page 111: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Seccion 6

Conclusiones y trabajo futuro

En este trabajo se ha analizado el impacto de utilizar tecnicas para trabajar con conjuntos dedatos no balanceados (tecnicas de remuestreo y ensamble) sobre el rendimiento de ANN aplicadasa un conjunto de datos en el que, ademas del Problema del desequilibrio de clases, concurrenotras circunstancias que contribuyen a degradar el rendimiento de los metodos de clasificacionsupervisada habituales. Entre estas, se encuentran la escasez de datos, la dimensionalidad elevada(efecto Hughes) y la presencia de atributos correlacionados y no informativos.

Hemos dedicado la primera parte del trabajo a analizar el estado del arte en tecnicas paratrabajar con datos no balanceados, incluyendo:

Una resena historica en el uso de ANN, desde los primeros modelos de computacion cognitiva(modelo de neurona de McCulloch-Pitts y Perceptron de Rosenblatt) hasta las mas modernasANN Multicapa, utilizadas con profusion en la actualidad.

Una descripcion de las distintas metricas y estrategias utilizadas para evaluar modelos declasificacion. Notar que la decision sobre la estrategia de evaluacion ha demostrado ser unpunto fundamental en el trabajo con datos no balanceados, lo que nos ha llevado a dedicara esta etapa del proceso su propia seccion.

Un analisis del estado del arte en tecnicas de remuestreo y ensamble, en el que se ha in-cluido ademas la descripcion de nuevas tecnicas hıbridas que utilizan las aproximaciones deensamble sobre conjuntos de datos remuestreados.

Con la base teorica recogida de las secciones anteriores, hemos realizado un experimento compu-tacional evaluar el acierto de clasificacion de una ANN multicapa (2 capas ocultas, configuraciondel resto de valores por defecto) sobre una version modificada del conjunto de datos WDBC, a laque hemos denominado WDBC*. El nuevo conjunto de datos presenta un PPR de solo el 5%, yanade nuevas instancias fronterizas (obtenidas por sobremuestreo), lo que dificulta notablementela tarea de clasificacion supervisada en relacion al conjunto de datos original. Para la evaluacionde los modelos obtenidos se ha decidido utilizar el analisis ROC en una estrategia de evaluacionpor Bootstrap con un tamano del conjunto de validacion de 0.3 y 1000 replicas Boostrap, que hapermitido obtener una distribucion estadıstica de los resultados sobre la que se ha realizado unanalisis estadıstico de significancia.

Previo a la etapa de modelizado, hemos realizado una descripcion estadıstica multivariante delos datos, incluyendo:

93

Page 112: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

94 SECCION 6. CONCLUSIONES Y TRABAJO FUTURO

Una descripcion de las medidas de centralidad y variabilidad del conjunto de datos WDBC*,incluyendo la lectura de medidas robustas. Este analisis nos ha permitido tomar algunas de-cisiones importantes sobre el conjunto de datos, como la necesidad de estandarizar variableso algunos valores atıpicos de poca relevancia.

Un analisis de correlacion entre atributos en 2 etapas:

1. Correlacion por bloques de atributo.

2. Correlacion por metricas.

Este analisis de correlacion nos ha permitido descartar 18 de las 30 variables del conjuntode datos original, lo que ha mejorado el rendimiento del modelo de base en un +3%1.

Un analisis de componentes principales, que nos ha permitido formar un subconjunto reduci-do de 5 variables (componentes) principales capaces de explicar cerca del 90% de la varianza.Esta proyeccion de los atributos originales en un nuevo espacio nos ha permitido mejorar elrendimiento del modelo de base en un +6,5%2. El PCA, ademas, nos ha permitido realizarla proyeccion del conjunto de datos en un espacio de menor dimensionalidad, facilitando lavisualizacion de resultados en etapas posteriores.

Una seleccion de atributos que, como alternativa al PCA del apartado anterior, nos hapermitido observar el rendimiento del clasificador de base sobre un subconjunto de atributosreducido de WDBC*. Se han utilizado dos aproximaciones para la seleccion de atributos:

1. En primer lugar, la seleccion de atributos univariante mediante el valor de F de Fischernos ha proporcionado una vision muy comprensiva sobre la capacidad predictiva indi-vidual de cada una de las variables de WDBC*. Esta lectura ha enriquecido nuestroentendimiento del conjunto de datos3, y nos ha permitido tomar algunas decisiones enotras etapas del modelizado, como la eleccion de la variable a descartar para el caso deatributos con una correlacion superior a 0.9.

2. En segundo lugar, la seleccion de atributos multivariante mediante Random Forests nosha permitido evaluar la capacidad predictiva combinada de los atributos de WDBC*,considerando las redundancias entre atributos o la capacidad predictiva de atributoscombinados. Esta ha sido la aproximacion que ha dado lugar al subconjunto reducidode 5 atributos sobre el que hemos evaluado de nuevo el rendimiento del clasificador,si bien en esta ocasion hemos observado una degradacion del acierto cercana a -3%4.Esto nos permite afirmar que la reduccion de la dimansionalidad es una etapa muyimportante del proyecto de modelizacion, pero que debe realizarse manteniendo bajoobservacion y control la varianza explicada por el nuevo subconjunto de atributos (casodel PCA, que proporciona mejores resultados).

1Valor medio de AUC del modelo de base utilizando los 30 atributos originales 0,77 vs el modelo de baseutilizando los 12 atributos del conjunto reducido 0,79.

2Valor medio de AUC del modelo de base utilizando los 30 atributos originales 0,77 vs el modelo de baseutilizando los 5 componentes principales del PCA 0,82.

3Observese que las variables que han resultado mas predictivas coinciden con las recomendaciones del juicioexperto del pie de la Figura 1.1.

4Valor medio de AUC del modelo de base los 30 atributos originales de 0,77 vs el modelo de base utilizando los5 atributos seleccionados de 0,75.

Page 113: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

95

El experimento ha comenzado, por tanto, incorporando el aprendizaje de la descripcion estadıstica,que ha demostrado que el analisis previo del conjunto de datos es un punto fundamental decualquier proyecto de modelizacion. En este caso, la materializacion de dicho aprendizaje ha sidoun modelo de referencia o baseline model con un valor de AUC de 0,82 -recordar, +6,5% superioral del modelo de inicio- que ha sido el resultado a batir en la siguiente etapa de la modelizacion.En este sentido, el enfoque de esta nueva etapa ha sido aplicar sucesivamente (1 a 1) las tecnicasde remuestreo y ensamble descritas anteriormente5. Las tecnicas se han representado agrupadasen 5 bloques: sobremuestreo, submuestreo, limpieza, mixtas (sobremuestreo + submuestreo) yensambles. La lectura de los resultados obtenidos ha mostrado que la utilizacion de tecnicas desobremuestreo sintetico adaptativo como bSMOTE y ADASYN (que generalizan patrones segunla posicion de cada instancia concreta) ha proporcionado el mejor rendimiento en el grupo desobremuestreo, con mejoras de +3,7% (AUC de 0.85) y reduccion de entre 1 y 2 puntos dela varianza. Por otro lado, la utilizacion de tecnicas de submuestreo ha resultado ser eficaz enaproximaciones concentradas en mantener las caracterısticas mas representativas de los distintossubconjuntos existentes en cada clase del conjunto de entrenamiento, como el submuestreo basadoen clusters, que ha dado lugar a mejoras de +5,0% y reducciones de la varianza de hasta 5puntos. En el resto de bloques solo ha proporcionado resultados comparables a los mencionadosla utilizacion de Bagging con 100 replicas, que ha dado lugar a una mejora del rendimiento mediode +3,7% (AUC de 0.85) y una reduccion de la varianza de 5 puntos.

Todos los resultados han sido sumarizados en forma de tabla (Cuadro 5.6) realizando un analisisde significancia estadıstica mediante la prueba t de Student.

El trabajo ha cerrado evaluando el efecto de modificar los parametros de la red sobre el ren-dimiento obtenido. En este sentido, se ha modificado secuencialmente el tamano de la red, ladistribucion de las capas, la funcion de activacion y el algoritmo de optimizacion. Ninguna deestas etapas de ha llevado a mejorar los resultados, pudiendo destacar solo que la utilizacion defunciones de activacion sigmoidales (funcion logıstica) proporciona curvas ROC mas liberales quela utilizacion de modelos lineales en las neuronas. No obstante, el resultado obtenido en las dospruebas ha sido identico en media y desviacion tipo.

Las limitaciones en el alcance del trabajo han obligado a dejar fuera del analisis algunosaspectos que serıa interesante poder seguir trabajando en el futuro:

Las tecnicas hıbridas de ensamble y remuestreo surgidas en los ultimos anos y que se hanrecogido en la memoria han proporcionado buenos resultados en distintas publicaciones rea-lizadas hasta la fecha (ver Seccion 4.5), y no se han incluido dentro del experimento. Eneste sentido, serıa positivo anadir nuevos bloques de evaluacion que incluyesen, al menos,las aproximaciones de boosting-coste-sensitivo, tecnicas basadas en bagging con remuestreo,tecnicas basadas en boosting con remuestreo.

El conjunto de datos utilizado en el trabajo (WDBC) resulta de aplicar tecnicas de extrac-cion de atributos numericos sobre imagenes digitalizadas obtenidas de muestras de tumormamario. Uno de los usos que ha popularizado en los ultimos anos el uso de ANN ha sido elreconocimiento de patrones directamente en imagenes -sin etapa de extraccion de atributos-mediante el uso de ANN convolucionales, cuya arquitectura difiere del Perceptron en diversosaspectos que incluyen la conectividad de las neuronas, la adicion de capas de uso especıfico(como las capas de dropout), el tamano de la red utilizada y la estrategia de modificacion

5La aplicacion de las tecnicas hıbridas descritas en el cuerpo teorico del trabajo se han descartado en experimentopor quedar fuera del alcance del proyecto.

Page 114: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

96 SECCION 6. CONCLUSIONES Y TRABAJO FUTURO

de pesos. Serıa interesante realizar una evaluacion comparativa del efecto de las tecnicaspara trabajar con datos no balanceados sobre ANN convolucionales utilizando directamenteimagenes, salvando ası la etapa de extraccion de atributos. Este analisis permitirıa definirel marco de trabajo en un sentido mas amplio, abarcando incluso la etapa de definicion delconjunto de datos.

Una de las ventajas de las ANN es su capacidad de adaptarse a problemas especıficos me-diante la configuracion de los multiples parametros del algoritmo (tanto de arquitectura,como de transferencia y aprendizaje). En este sentido, serıa interesante ampliar el analisissobre las caracterısticas de la red cuya modificacion podrıa mejorar el rendimiento en con-juntos de datos como WDBC, incluyendo, por ejemplo, un analisis de la tasa de aprendizajey el momento, distintas arquitecturas incluyendo arquitecturas de aprendizaje profundo (eningles, Deep learning) u otro tipo de ANN como las redes de funciones de base radial.

Page 115: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Bibliografıa

F.Rosenblatt [1958], “The Perceptron: A Probabilistic Model for Information Storage andOrganization in the Brain,” Psychological Review, Vol. 65, pp. 386-408.

Andrew Kramar, David Faraggi, Antoine Fortune, Benjamin Reiser [2001]: mROC: a compu-ter program for combining tumour markers in predicting disease states. Computer Methodsand Programs in Biomedicine 66(2-3): 199-207

B. Widrow [1959]: .Adaptive Sampled-Data Systems, A Statistical Theory of AdaptationIREWESCON Convention Record, 4:74-85.

Bambang Parmanto, Paul W. Munro, Howard R. Doyle [1996]: Reducing Variance of Com-mittee Prediction with Resampling Techniques. Connect. Sci. 8(3): 405-426

Churen Sun, Lei Huang [2007]: Sampling Method for Robust Fuzzy Optimization. FSKD (1)2007: 217-222

Diederik P. Kingma, Jimmy Ba [2014]: Adam: A Method for Stochastic Optimization. CoRRabs/1412.6980

Foster J. Provost, Tom Fawcett [1997]: Analysis and Visualization of Classifier Performance:Comparison under Imprecise Class and Cost Distributions. KDD 1997: 43-48

J. van Prehn, Evgueni N. Smirnov [2008]: Region Classification with Decision Trees. ICDMWorkshops: 53-59.

Leo Breiman [1996]: Technical Note: Some Properties of Splitting Criteria. Machine Learning24(1): 41-47

M Galar, A Fernandez, E Barrenechea, H Bustince, F Herrera [2012]: A review on ensemblesfor the class imbalance problem: bagging-, boosting-, and hybrid-based approaches, IEEETransactions on Systems, Man, and Cybernetics, Part C (Applications)

Mikel Galar, Alberto Fernandez, Edurne Barrenechea Tartas, Humberto Bustince Sola, Fran-cisco Herrera [20012]: A Review on Ensembles for the Class Imbalance Problem: Bagging-,Boosting-, and Hybrid-Based Approaches. IEEE Trans. Systems, Man, and Cybernetics,Part C 42(4): 463-484

Nada Lavrac, Hiroshi Motoda, Tom Fawcett [2004]: Editorial: Data Mining Lessons Learned.Machine Learning 57(1-2): 5-11

Nathalie Japkowicz, Shaju Stephen [2002]: The class imbalance problem: A systematic study.Intell. Data Anal. 6(5): 429-449

97

Page 116: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

98 SECCION 6. CONCLUSIONES Y TRABAJO FUTURO

Nitesh V. Chawla, Kevin W. Bowyer, Lawrence O. Hall, W. Philip Kegelmeyer [2002]: SMO-TE: Synthetic Minority Over-sampling Technique. J. Artif. Intell. Res. (JAIR) 16: 321-357

Paul Bosch, Julio Lopez, Hector Ramırez Cabrera, Hugo Robotham: Support vector machineunder uncertainty: An application for hydroacoustic classification of fish-schools in Chile.Expert Syst. Appl. 40(10): 4029-4034 (2013)

Show-Jane Yen *, Yue-Shi Lee [2003]: Cluster-based under-sampling approaches for imba-lanced data distribution, Expert Systems with Applications 36 (2009) 5718–5727

Show-Jane Yen, Yue-Shi Lee [2006]: Cluster-Based Sampling Approaches to Imbalanced DataDistributions. DaWaK: 427-436

Show-Jane Yen, Yue-Shi Lee, Cheng-Han Lin, Jia-Ching Ying [2009]: Investigating the E↵ectof Sampling Methods for Imbalanced Data Distributions. SMC: 4163-4168

Thomas G. Dietterich [2000]: Ensemble Methods in Machine Learning. Multiple ClassifierSystems: 1-15

W.S McCulloch, W.Pitts [1943]: Bulletin of Mathematical Biophysics 5: 115. doi:10.1007/BF02478259.

Wen-Jang Kenny Jih, David A. Bradbard, Charles A. Snyder, Nancy G. A. Thompson [1989]:The E↵ects of Relational and Entity Relationship Data Models on Query Performance ofEnd Users. International Journal of Man-Machine Studies 31(3): 257-267

Yoav Freund, Robert E. Schapire [1996]: Experiments with a New Boosting Algorithm.ICML: 148-156

Zhang, J., y Mani, I. [2003]. kNN approach to unbalanced data distributions: A case studyinvolving information extraction. In Proceedings of the ICML’2003 workshop on learningfrom imbalanced datasets

Page 117: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Anexo: codigo utilizado

99

Page 118: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Redes Neuronales para clasificación de datos no

balanceados

Éste es un notebook sobre clasificación de datos no­balanceados. Se utilizarán ANN combinadas con métodos

de remuestreo y ensamble.

El conjunto de datos utilizado es una versión modificada del “Breast Cancer Wisconsin”:

https://www.kaggle.com/uciml/breast­cancer­wisconsin­data (48kb)

Outline:

1. Carga de módulos y datos

2. Exploración inicial de atributos y valores nulos

3. Relaciones entre atributos

4. Selección de variables

5. Análisis de componentes principales

6. Modelado

Definición inicial de la arquitectura y ajuste de parámetros

Análisis de las variables de entrada

Modelo de base

Métodos de remuestreo

Sobremuestreo

Submuestreo

Limpieza

Mixtos

Métodos de ensamble

1. Carga de módulos y carga de datos

Módulos de sistema

import sys 

import re 

from __future__ import print_function 

from __future__ import unicode_literals 

Page 119: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

from time import sleep 

import logging 

 

# Muestra los logs de progreso en el stdout 

logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s') 

Módulos de análisis numérico

Básicos de análisis numérico

import numpy as np 

import pandas as pd 

import matplotlib.pyplot as plt 

import matplotlib.mlab as mlab 

import seaborn as sns 

from scipy import interp 

from collections import Counter 

Modelado

from sklearn.feature_selection import SelectKBest, chi2, f_classif, mutual_info_classi

from sklearn.decomposition import PCA 

from sklearn.preprocessing import scale 

from sklearn.model_selection import train_test_split 

from sklearn.utils import resample 

from sklearn.metrics import auc, roc_curve, roc_auc_score 

from sklearn.neural_network import MLPClassifier 

from imblearn.pipeline import make_pipeline 

from sklearn.preprocessing import StandardScaler 

from sklearn.ensemble import GradientBoostingClassifier 

from imblearn import over_sampling 

from imblearn import under_sampling 

from imblearn import ensemble 

from imblearn import combine

from sklearn.ensemble import BaggingClassifier, AdaBoostClassifier 

Page 120: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Configuración

pd.set_option("display.max_rows", 101) 

pd.set_option("display.max_columns", None) 

 

%matplotlib inline 

np.set_printoptions(precision=4) 

sns.set(context='notebook', palette='deep') 

LW = 1 

 

RANDOM_STATE = 1234 

np.random.seed(RANDOM_STATE) 

Carga de datos

df = pd.read_csv('wisconsin_bcd_unbalanced.csv', index_col=0) 

feature_names = df.columns 

y = df['class'].values 

X = df.as_matrix([feature for feature in feature_names if feature not in ['class']]) 

2. Exploración inicial de atributos

Forma del conjunto de datos

print('El conjunto de datos utilizado tiene {columns} columnas y {rows} filas'.format

(columns=df.shape[1], rows=df.shape[0])) 

df.head(1) 

Tipo de datos

df.dtypes 

Distribución de la variable de clase

Page 121: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

plt.figure(figsize=(8,5)) 

ax = sns.countplot(x="class", data=df, color="c"); 

plt.title('Distribución de instancias por clases') 

plt.ylabel('Número de instancias') 

plt.xlabel('Etiqueta') 

plt.ylim([0, df.shape[0]+50]) 

ax.set_yticklabels([]) 

for p in ax.patches: 

    height = p.get_height() 

    ax.text(p.get_x()+p.get_width()/2., 

            height + 10, 

            '{:1.0f}'.format(height), 

            ha="center", 

            )  

print('Hay {:.0f} instancias para la clase M y {:.0f} instancias para la clase B.'.for

mat(y.sum(), y.shape[0] ‐ y.sum())) 

print('El Ratio de Prevalencia de la clase positiva (PPR) es de {:.2f}'.format(float

(y.sum()) / y.shape[0])) 

Descripción estadística básica

Estadísticos

df.describe() 

Valores nulos

print(df.isnull().sum()) 

3. Relaciones entre atributos

Relaciones entre bloques de atributos

features_mean= list(feature_names[0:10]) 

features_se= list(feature_names[10:20]) 

features_worst=list(feature_names[20:30]) 

Page 122: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

print(features_mean) 

print("‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐") 

print(features_se) 

print("‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐") 

print(features_worst) 

feature_map = [[x, y, z] for x, y, z in zip(features_mean, features_se, features_wors

t)] # I love Python 

f, axs = plt.subplots(5, 2, figsize=(8, 20)) 

f.subplots_adjust(hspace = 1.1, wspace= .5) 

 

axs = axs.ravel() 

for features, j in zip(feature_map, range(10)): 

    corr = df[features].corr() 

    mask = np.zeros_like(corr, dtype=np.bool) 

    mask[np.tril_indices_from(mask)] = True 

    sns.heatmap(corr,  

                cbar = False,   

                square = True,  

                annot = True,  

                fmt = '.2f',

                yticklabels = features,  

                mask = mask, 

                cmap = 'coolwarm',  

                linewidths=.1, 

                ax = axs[j]) 

f, axs = plt.subplots(5, 2, figsize=(8, 20)) 

f.subplots_adjust(hspace = .5, wspace= .5) 

axs = axs.ravel() 

for features, j in zip(feature_map, range(10)): 

    sns.regplot(x=features[2], y=features[0], data = df, ax = axs[j], fit_reg=True) 

f, axs = plt.subplots(5, 2, figsize=(8, 20)) 

f.subplots_adjust(hspace = .5, wspace= .5) 

axs = axs.ravel() 

Page 123: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

for features, j in zip(feature_map, range(10)): 

    sns.regplot(x=features[2], y=features[1], data = df, ax = axs[j], fit_reg=True) 

Relaciones entre atributos de un mismo bloque

corr = df[features_worst].corr() 

# Generate a mask for the upper triangle 

mask = np.zeros_like(corr, dtype=np.bool) 

mask[np.tril_indices_from(mask)] = True 

plt.figure(figsize=(10,10)) 

sns.heatmap(corr, cbar = False,  square = True, annot=True, fmt= '.2f',annot_kws={'siz

e': 14}, 

           xticklabels= features_worst, yticklabels= features_worst, mask=mask, 

           cmap= 'coolwarm', linewidths=.1) 

corr = df[features_se].corr() 

# Generate a mask for the upper triangle 

mask = np.zeros_like(corr, dtype=np.bool) 

mask[np.tril_indices_from(mask)] = True 

plt.figure(figsize=(10,10)) 

sns.heatmap(corr, cbar = False,  square = True, annot=True, fmt= '.2f',annot_kws={'siz

e': 14}, 

           xticklabels= features_se, yticklabels= features_se, mask=mask, 

           cmap= 'coolwarm', linewidths=.1) 

g = sns.PairGrid(df, vars=features_worst, hue='class', hue_kws={"cmap": ["Blues", "Gre

ens"]}) 

g = g.map_diag(plt.hist) 

g = g.map_upper(plt.scatter) 

g = g.map_lower(sns.kdeplot, lw=1) 

plt.show() 

# O realizar un análisis de correlación 

g = sns.PairGrid(df, vars=features_se, hue='class', hue_kws={"cmap": ["Blues", "Green

s"]}) 

Page 124: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

g = g.map_diag(plt.hist) 

g = g.map_upper(plt.scatter) 

g = g.map_lower(sns.kdeplot, lw=1) 

plt.show() 

4. Selección de variables

Selección univariante

select_k_best_classifier = SelectKBest(score_func = f_classif).fit(X, y) 

feature_importance = 100.0 * (select_k_best_classifier.scores_ / select_k_best_classif

ier.scores_.max()) 

 

anova_selection = pd.DataFrame(feature_importance, columns=['feature_importance'], ind

ex=[feature for feature in feature_names if feature not in ['class']]) 

 

f, axs = plt.subplots(nrows=1, ncols=3, sharex=True, figsize=(12,10)) 

 

f.subplots_adjust(wspace = .7) 

 

anova_selection[anova_selection.index.isin(features_mean)].plot(kind='barh', legend=Fa

lse, ax=axs[0], title="Mean Values", color="c") 

 

anova_selection[anova_selection.index.isin(features_se)].plot(kind='barh', legend=Fals

e, ax=axs[1], title="Error Values", color="c") 

 

anova_selection[anova_selection.index.isin(features_worst)].plot(kind='barh', legend=F

alse, ax=axs[2], title="Max Values", color="c") 

 

for j in range(3):

    axs[j].set_xlim(0,140) 

    axs[j].set_xticklabels([]) 

    rects = axs[j].patches 

    # Now make some labels 

    labels = ["label%d" % i for i in range(len(rects))] 

    for rect, label in zip(rects, feature_map): 

Page 125: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

        width = rect.get_width() 

        axs[j].text(width+20, rect.get_y()+.25, round(anova_selection[anova_selection.

index.isin([label[j]])].values[0][0], 2), ha='center', va='center') 

selected_features = ['worst texture', 'worst area', 'worst smoothness', 'worst concave

 points', 'worst symmetry', 'worst fractal dimension', 'texture error', 'area error', 

'smoothness error', 'concave points error', 'symmetry error', 'fractal dimension erro

r'] 

df_reduced =df[[feature for feature in df.columns if feature in selected_features]] 

 

X_reduced = df_reduced.as_matrix([feature for feature in df_reduced.columns if feature

 not in ['class']]) 

plt.figure(figsize=(8, 50)) 

for column_index, column in enumerate(selected_features): 

    if column == 'class': 

        continue 

    plt.subplot(10, 3, column_index + 1) 

    sns.boxplot(x='class', y=column, data=df) 

plt.tight_layout() 

for column_index, column in enumerate(selected_features): 

    if column == 'class': 

        continue 

    plt.figure(figsize=(8, 50)) 

    facet = sns.FacetGrid(df, hue="class",aspect=4) 

    facet.map(sns.kdeplot,column,shade= True) 

    facet.set(xlim=(0, df[column].max())) 

    facet.add_legend() 

plt.tight_layout() 

df_selected.head() 

Page 126: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

5. Análisis de componentes principales

X_scaled = StandardScaler().fit(X_reduced).transform(X_reduced) 

 

pca = PCA() 

pca.fit(X_scaled) 

pca_projection = pca.transform(X_scaled) 

 

var = np.cumsum(np.round(pca.explained_variance_ratio_, decimals=4)*100) 

 

# Two subplots, the axes array is 1‐d 

f, axarr = plt.subplots(nrows=2, ncols=1, sharex=True, figsize=(15,8)) 

f.subplots_adjust(hspace = .05) 

axarr[0].plot(var, '‐o', color="c") 

axarr[0].set_ylabel('% de varianza explicada') 

axarr[1].plot(pca.explained_variance_ratio_, '‐o', color="c") 

axarr[1].set_ylabel('Eigenvalue') 

axarr[1].set_xlabel('Componentes') 

X_projected = pca_projection[:,:5] 

df_projected = pd.DataFrame( 

                    data = np.c_[X_projected, y],  

                    columns = np.append(['PCA1', 'PCA2', 'PCA3', 'PCA4', 'PCA5'], ['cl

ass']) 

                ) 

# O realizar un análisis de correlación 

g = sns.PairGrid(df_projected, vars=['PCA1', 'PCA2', 'PCA3', 'PCA4', 'PCA5'], hue='cla

ss', hue_kws={"cmap": ["Blues", "Greens"]}) 

g = g.map_diag(plt.hist) 

g = g.map_upper(plt.scatter) 

g = g.map_lower(sns.kdeplot, lw=1) 

plt.show() 

df_projected.head() 

Page 127: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

6. Modelado

Funciones auxiliares

class DummySampler(object): 

 

    def sample(self, X, y): 

        return X, y 

 

    def fit(self, X, y): 

        return self 

 

    def fit_sample(self, X, y): 

        return self.sample(X, y) 

import matplotlib 

font = {'size'   : 32} 

matplotlib.rc('font', **font) 

Estandarización de variables

X_scaled = StandardScaler().fit(X).transform(X) 

X_reduced_scaled = StandardScaler().fit(X_reduced).transform(X_reduced)

X_selected_scaled = StandardScaler().fit(X_selected).transform(X_selected) 

Atributos de entrada

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

sampler = ['Standard', DummySampler()] 

 

from imblearn.pipeline import make_pipeline 

 

pipeline = make_pipeline(sampler[1],  

                         classifier[1]) 

Page 128: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

 

n_bootstraps = 1000 

test_size = 0.35 

X_values = [ 

    ['Original dataset ‐ 30 attributes', X_scaled], 

    ['Reduced dataset ‐ 12 attributes', X_reduced_scaled], 

    ['PCA ‐ 5 components', X_projected], 

    ['Selected features ‐ 5 attributes', X_selected_scaled] 

 

plt.figure(figsize=(8,6)) 

 

for name, dummy_X in X_values: 

 

    tprs = [] 

    bootstrapped_aucs = [] 

    base_fpr = np.linspace(0, 1, 101) 

    for i in range(n_bootstraps): 

        X_train, X_test, y_train, y_test = train_test_split(dummy_X, y, test_size=test

_size, random_state=RANDOM_STATE+i, stratify=y) 

        X_train, y_train = resample(X_train, y_train, random_state=RANDOM_STATE+i) #Bo

ostrap sampling 

        X_test, y_test = resample(X_test, y_test, random_state=RANDOM_STATE+i) #Boostr

ap sampling 

        _y_values = Counter(y_test).keys() 

        if len(_y_values) == 1:  

            continue 

        model = pipeline.fit(X_train, y_train) 

        probas_ = model.predict_proba(X_test) 

        fpr, tpr, _ = roc_curve(y_test, probas_[:,1]) 

        auc = roc_auc_score(y_test, probas_[:,1]) 

        bootstrapped_aucs.append(auc) 

        tpr = interp(base_fpr, fpr, tpr) 

        tpr[0] = 0.0 

        tprs.append(tpr) 

 

    tprs = np.array(tprs) 

Page 129: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

    mean_tprs = tprs.mean(axis=0) 

    std_tprs = tprs.std(axis=0) 

    tprs_upper = np.minimum(mean_tprs + std_tprs, 1) 

    tprs_lower = mean_tprs ‐ std_tprs 

 

    bootstrapped_aucs = np.array(bootstrapped_aucs) 

    mean_auc = bootstrapped_aucs.mean(axis=0) 

    std_auc = bootstrapped_aucs.std(axis=0) 

 

    plt.plot(base_fpr, mean_tprs, label="{name} (AUC = {mean:0.2f} ± {std:0.2f})".form

at(name=name, mean=mean_auc, std=std_auc), lw=2*LW) 

    plt.fill_between(base_fpr, tprs_lower, tprs_upper, alpha=0.2) 

    print(name+" completed!") 

 

plt.plot([0, 1], [0, 1], linestyle='‐‐', lw=LW, color='k', label='Luck') 

 

plt.xlabel('False Positive Rate') 

plt.ylabel('True Positive Rate') 

plt.title('Receiver Operating Characteristic Curve') 

 

plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) 

Baseline model

new_X = X_projected 

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

samplers = [ 

    ['Standard', DummySampler()] 

 

from imblearn.pipeline import make_pipeline 

 

pipelines = [ 

    ['{}‐{}'.format(sampler[0], classifier[0]), 

Page 130: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

     make_pipeline(sampler[1],  

             classifier[1])]

    for sampler in samplers 

 

n_bootstraps = 1000 

test_size = 0.35  

 

f, axarr = plt.subplots(2, figsize=(8,12)) 

f.subplots_adjust(hspace = .3, wspace= .5) 

 

for name, pipeline in pipelines: 

 

    tprs = [] 

    bootstrapped_aucs = [] 

    base_fpr = np.linspace(0, 1, 101) 

    for i in range(n_bootstraps): 

        X_train, X_test, y_train, y_test = train_test_split(new_X, y, test_size=test_s

ize, random_state=RANDOM_STATE+i, stratify=y) 

        #Boostrap sampling 

        X_train, y_train = resample(X_train, y_train, random_state=RANDOM_STATE+i) 

        X_test, y_test = resample(X_test, y_test, random_state=RANDOM_STATE+i) 

        _y_values = Counter(y_test).keys() 

        if len(_y_values) == 1:  

            continue 

        model = pipeline.fit(X_train, y_train) 

        probas_ = model.predict_proba(X_test) 

        fpr, tpr, _ = roc_curve(y_test, probas_[:,1]) 

        auc = roc_auc_score(y_test, probas_[:,1]) 

        bootstrapped_aucs.append(auc) 

        #plt.plot(fpr, tpr, 'b', alpha=0.15) 

        tpr = interp(base_fpr, fpr, tpr) 

        tpr[0] = 0.0 

        tprs.append(tpr) 

        #plt.plot(fpr, tpr, label='{name} (Area = {area:0.2f}'.format(name=name, area=

auc), lw=LW) 

 

Page 131: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

    tprs = np.array(tprs) 

    mean_tprs = tprs.mean(axis=0) 

    std_tprs = tprs.std(axis=0) 

    tprs_upper = np.minimum(mean_tprs + std_tprs, 1) 

    tprs_lower = mean_tprs ‐ std_tprs 

 

    bootstrapped_aucs = np.array(bootstrapped_aucs) 

    mean_auc = bootstrapped_aucs.mean(axis=0) 

    std_auc = bootstrapped_aucs.std(axis=0) 

 

    axarr[0].plot(base_fpr, mean_tprs, label="{name} (AUC = {mean:0.2f} ± 

{std:0.2f})".format(name=name, mean=mean_auc, std=std_auc), lw=LW*2) 

    axarr[0].fill_between(base_fpr, tprs_lower, tprs_upper, alpha=0.2) 

    print(name+" completed!") 

 

axarr[0].plot([0, 1], [0, 1], linestyle='‐‐', lw=LW, color='k', label='Luck') 

 

axarr[0].set_xlabel('False Positive Rate') 

axarr[0].set_ylabel('True Positive Rate') 

axarr[0].set_title('Receiver Operating Characteristic Curve') 

 

axarr[0].legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) 

 

num_bins = 50 

 

# the histogram of the data 

n, bins, patches = plt.hist(bootstrapped_aucs, num_bins, normed=1) 

 

# add a 'best fit' line 

auc_density = mlab.normpdf(bins, mean_auc, std_auc) 

axarr[1].plot(bins, auc_density, '‐‐') 

axarr[1].set_xlabel('AUC') 

axarr[1].set_ylabel('Probability density') 

axarr[1].set_xlim([0,1]) 

axarr[1].set_title("{name}: Histogram of the Bootstraped AUC score (AUC = {mean:0.2f}

 ± {std:0.2f})".format(name=name, mean=mean_auc, std=std_auc)) 

Page 132: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Definición de la función

def benchmarks(pipelines, X, y, n_bootstraps, test_size): 

 

    plt.figure(figsize=(8,6)) 

     

    for name, pipeline in pipelines: 

 

        tprs = [] 

        bootstrapped_aucs = [] 

        base_fpr = np.linspace(0, 1, 101) 

        for i in range(n_bootstraps): 

            X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_s

ize, random_state=RANDOM_STATE+i, stratify=y) 

            #Boostrap sampling 

            X_train, y_train = resample(X_train, y_train, random_state=RANDOM_STATE+i) 

            if len(y_train[y_train==1]) < 3: 

                continue 

            X_test, y_test = resample(X_test, y_test, random_state=RANDOM_STATE+i) 

            _y_values = Counter(y_test).keys() 

            if len(_y_values) == 1:  

                continue 

            model = pipeline.fit(X_train, y_train) 

            probas_ = model.predict_proba(X_test) 

            fpr, tpr, _ = roc_curve(y_test, probas_[:,1]) 

            auc = roc_auc_score(y_test, probas_[:,1]) 

            bootstrapped_aucs.append(auc) 

            #plt.plot(fpr, tpr, 'b', alpha=0.15) 

            tpr = interp(base_fpr, fpr, tpr) 

            tpr[0] = 0.0 

            tprs.append(tpr) 

            #plt.plot(fpr, tpr, label='{name} (Area = {area:0.2f}'.format(name=name, a

rea=auc), lw=LW) 

 

        tprs = np.array(tprs) 

        mean_tprs = tprs.mean(axis=0) 

Page 133: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

        std_tprs = tprs.std(axis=0) 

        tprs_upper = np.minimum(mean_tprs + std_tprs, 1) 

        tprs_lower = mean_tprs ‐ std_tprs 

 

        bootstrapped_aucs = np.array(bootstrapped_aucs) 

        mean_auc = bootstrapped_aucs.mean(axis=0) 

        std_auc = bootstrapped_aucs.std(axis=0) 

 

        plt.plot(base_fpr, mean_tprs, label="{name} (AUC = {mean:0.2f} ± {std:0.2f})".

format(name=name, mean=mean_auc, std=std_auc), lw=2*LW) 

        plt.fill_between(base_fpr, tprs_lower, tprs_upper, alpha=0.2) 

        print(name+" completed!") 

 

    plt.plot([0, 1], [0, 1], linestyle='‐‐', lw=LW, color='k', label='Luck') 

 

    plt.xlabel('False Positive Rate') 

    plt.ylabel('True Positive Rate') 

    plt.title('Receiver Operating Characteristic Curve') 

 

    plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) 

Oversampling

samplers = [ 

    ['Standard', DummySampler()], 

    # OverSamplers 

    ['bSMOTE', over_sampling.RandomOverSampler(random_state=RANDOM_STATE)], 

    ['SMOTE', over_sampling.SMOTE(random_state=RANDOM_STATE, m_neighbors=3, k_neighbor

s=3)], 

    ['ADASYN', over_sampling.ADASYN(random_state=RANDOM_STATE, n_neighbors=3)], 

    ['ROS', over_sampling.SMOTE(random_state=RANDOM_STATE, kind='borderline1', m_neigh

bors=3, k_neighbors=3)], 

 

pipelines = [ 

    ['{}‐{}'.format(sampler[0], classifier[0]), 

Page 134: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

     make_pipeline(sampler[1],  

             classifier[1])]

    for sampler in samplers 

n_bootstraps = 1000 

test_size = 0.35  

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

benchmarks(pipelines, new_X, y, n_bootstraps, test_size) 

Undersampling

samplers = [ 

    ['Standard', DummySampler()], 

    # OverSamplers 

    ['OSS', under_sampling.OneSidedSelection(random_state=RANDOM_STATE)], 

    ['NM1', under_sampling.NearMiss(random_state=RANDOM_STATE, version=1)], 

    ['ClC', under_sampling.ClusterCentroids(random_state=RANDOM_STATE)], 

    ['RUS', under_sampling.RandomUnderSampler(random_state=RANDOM_STATE)] 

 

 

pipelines = [ 

    ['{}‐{}'.format(sampler[0], classifier[0]), 

     make_pipeline(sampler[1],  

             classifier[1])]

    for sampler in samplers 

n_bootstraps = 1000 

test_size = 0.35  

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

benchmarks(pipelines, new_X, y, n_bootstraps, test_size) 

Page 135: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

Limpieza

samplers = [ 

    ['Standard', DummySampler()], 

    # Limpieza 

    ['TL', under_sampling.TomekLinks(random_state=RANDOM_STATE)], 

    ['NCL', under_sampling.NeighbourhoodCleaningRule(random_state=RANDOM_STATE)], 

    ['ENN', under_sampling.EditedNearestNeighbours(random_state=RANDOM_STATE)], 

    ['CNN', under_sampling.CondensedNearestNeighbour(random_state=RANDOM_STATE)], 

 

pipelines = [ 

    ['{}‐{}'.format(sampler[0], classifier[0]), 

     make_pipeline(sampler[1],  

             classifier[1])]

    for sampler in samplers 

n_bootstraps = 1000 

test_size = 0.35  

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

benchmarks(pipelines, new_X, y, n_bootstraps, test_size) 

OverUnderSampling

samplers = [ 

    ['Standard', DummySampler()], 

    # OverUnderSamplers 

    ['SMOTE‐ENN', combine.SMOTEENN(random_state=RANDOM_STATE, n_neighbors=3, k=3, 

m=3)], 

    ['SMOTE‐TL', combine.SMOTETomek(random_state=RANDOM_STATE, k=3, m=3)], 

 

pipelines = [ 

    ['{}‐{}'.format(sampler[0], classifier[0]), 

Page 136: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

     make_pipeline(sampler[1],  

             classifier[1])]

    for sampler in samplers 

n_bootstraps = 1000 

test_size = 0.35  

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

benchmarks(pipelines, new_X, y, n_bootstraps, test_size) 

Ensemble

samplers = [ 

    ['Standard', DummySampler()], 

 

pipelines = [ 

    ['{}‐{}'.format(sampler[0], classifier[0]), 

     make_pipeline(sampler[1],  

             classifier[1])]

    for sampler in samplers 

 

# Bagging 

bagging_estimators = 10 

pipelines.append(['RUS', make_pipeline(StandardScaler(), BaggingClassifier(base_estima

tor=estimator, n_estimators=bagging_estimators, random_state=RANDOM_STATE))]) 

 

# AdaBoost 

#boosting_estimators = 10 

#pipelines.append(['Boosting', make_pipeline(StandardScaler(), AdaBoostClassifier(n_es

timators=boosting_estimators, base_estimator=estimator, random_state=RANDOM_STATE))]) 

n_bootstraps = 1000 

test_size = 0.35  

Page 137: Aprendizaje supervisado en conjuntos de datos no ...openaccess.uoc.edu/webapps/o2/bitstream/10609/64768/3/...a un clasificador neuronal para construir un modelo de reconocimiento

estimator = MLPClassifier(hidden_layer_sizes=(12, 6), random_state=RANDOM_STATE+50) 

classifier = ['Perceptron', estimator] 

benchmarks(pipelines, new_X, y, n_bootstraps, test_size)