• No se han encontrado resultados

Software para la visualización del método de clasificación Self labeling Grey box

N/A
N/A
Protected

Academic year: 2020

Share "Software para la visualización del método de clasificación Self labeling Grey box"

Copied!
59
0
0

Texto completo

(1)UNIVERSIDAD CENTRAL “MARTA ABREU” DE LAS VILLAS FACULTAD DE MATEMÁTICA, FÍSICA Y COMPUTACIÓN LICENCIATURA EN CIENCIA DE LA COMPUTACIÓN. TRABAJO DE DIPLOMA Software para la visualización del método de clasificación Self-labeling Grey-box. Autor Carlos Enrique Rodríguez Martínez. Tutora MSc. Isel del Carmen Grau García Dr. María Matilde García Lorenzo. Santa Clara 2017.

(2) DICTAMEN. El que subscribe, Carlos Enrique Rodríguez Martínez, hago constar que el trabajo titulado “Software para la visualización del método de clasificación Self-labeling Grey-box” fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. ________________ Firma del Autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. ______________________. ___________________________. Firma del Tutor. Firma del Jefe de Seminario. _____________ Fecha.

(3) A mis padres..

(4) AGRADECIMIENTOS Agradezco en primer lugar a mis padres Minerva y Reinerio por darme todo lo que tengo y haberme educado tan bien. A mis abuelos Reinerio y Nelda por todo su cariño y todo el trabajo que pasaron conmigo. A mi hermano Diego por soportarme. A mis tíos Luis Enrique y Esther Lidia que tanto me han ayudado y apoyado a lo largo de la carrera y a mis primos Amalia y Octavio. A toda mi familia por haberse preocupado por mí. A mi tutora Msc. Isel del Carmen Grau Moreno por dedicarme parte de su tiempo, por su apoyo y por sus conocimientos que puso a mi disposición. A la Dra. María Matilde García. A todos mis compañeros de aula en especial a Hansel, Jorge Luis y Lisandra por ayudarme a estudiar y a que aprobara unas cuantas asignaturas..

(5) “Sólo podemos ver poco del futuro, pero lo suficiente para darnos cuenta de que hay mucho que hacer”. Alan Turing.

(6) RESUMEN El aprendizaje semi-supervisado es un tipo de aprendizaje de supervisión débil que utiliza tanto datos etiquetados como datos no etiquetados durante el entrenamiento del modelo. En muchos problemas de aplicación, la cantidad de datos sin etiqueta excede los etiquetados, por tanto, los enfoques semi-supervisados son muy útiles en este tipo de contexto donde etiquetar los casos es un proceso costoso en tiempo o recursos. Recientemente ha sido propuesto en la literatura un método de clasificación semi-supervisada llamado Self-labeling Grey-box que ha demostrado tener buen balance entre exactitud del modelo e interpretabilidad, lo cual es un requisito fundamental en varios campos de aplicación como la Bioinformática. En este trabajo se incorpora esta técnica como un nuevo clasificador a la plataforma de aprendizaje automatizado WEKA, permitiendo la exploración del modelo con varios parámetros, clasificadores base y métodos de validación. Como contribución principal se diseña e implementa una herramienta de software llamada Grey-box para la explotación del modelo, en particular la clasificación de un nuevo caso del problema y la visualización del árbol generado por esta técnica. Estas implementaciones permiten la comparación justa del modelo propuesto por parte de la comunidad científica y la explotación de forma amigable por parte de los usuarios finales del modelo propuesto, dando visibilidad al balance obtenido entre exactitud e interpretabilidad..

(7) ABSTRACT Semi-supervised learning is a subclass of weak-supervision learning which uses both labeled and unlabeled data for learning the model. In many real life settings, the amount of unlabeled instances largely exceeds the amount of labeled ones. This makes semi-supervised approaches highly convenient to deal with real-world scenarios, especially when labeling the instances is expensive or time-consuming. Recently, a novel semi-supervised classification method called Self-labeling Grey-box have been proposed, showing good trade-off between accuracy and interpretability, which is a main requirement in several real-world domains such as Bioinformatics problems. In this work, we add this technique to the WEKA platform for machine learning, allowing the exploration of the model using different parameters, base classifiers and validation schemes. The main contribution of this work is the design and implementation of a software tool for the exploitation of the classifier, i.e. the classification of new instances and the visualization of the white box component generated by the model. Both implementations allow the scientific community to explore the capabilities of the classifier by comparing it against other techniques in a fair platform, as well as the exploitation from end users of the model, highlighting the trade-off between accuracy and interpretability obtained with the classifier..

(8) TABLA DE CONTENIDOS INTRODUCCIÓN..................................................................................................................................... 10 CAPÍTULO 1. 1.1. MARCO TEÓRICO....................................................................................................... 13. Clasificación semi-supervisada. ............................................................................................ 13. 1.1.1. Problemas de clasificación supervisada y no supervisada. ........................................... 13. 1.1.2. Problemas de clasificación semi-supervisada. .............................................................. 14. 1.1.3. Métodos de la literatura para clasificación semi-supervisada. .................................... 14. 1.1.4. Interpretabilidad en métodos de clasificación semi-supervisada. ............................... 18. 1.2. Self-labeling Grey-box para clasificación semi-supervisada. ................................................ 19. 1.3. Herramientas para la visualización de árboles de decisión. ................................................. 23. 1.3.1. Visualización del árbol J48 de WEKA. ........................................................................... 23. 1.3.2. Otras herramientas de visualización de árboles de decisión. ....................................... 26. 1.4. Consideraciones finales del capítulo..................................................................................... 28. CAPÍTULO 2. 2.1. DISEÑO E IMPLEMENTACIÓN DEL MÉTODO SELF LABELING GREY-BOX. ................. 29. Diseño e implementación del método Self-labeling Grey-box sobre la plataforma WEKA. . 29. 2.1.1. Incorporación de un nuevo clasificador a la plataforma WEKA.................................... 29. 2.1.2. ¿Cómo utilizar el nuevo clasificador de la plataforma WEKA? ..................................... 31. 2.2. Diseño e implementación del método Self-labeling Grey-box en la herramienta Grey-box. 36. 2.2.1. Diseño e implementación de la herramienta Grey-box. ............................................... 37. 2.2.2. Principales utilidades de la herramienta....................................................................... 38. 2.3. Conclusiones parciales del capítulo. ..................................................................................... 43. CAPÍTULO 3. VALIDACIÓN DE LA IMPLEMENTACIÓN Y VISUALIZACIÓN DE LA INTERPRETABILIDAD A TRAVÉS DE UN CASO DE ESTUDIO ..................................................................................................... 44 3.1. Validación de la implementación. ......................................................................................... 44. 3.1.1 3.2. Experimentación utilizando bases de casos para aprendizaje semi-supervisado. ....... 44. Visualización y evaluación de la interpretabilidad a través de un caso de estudio. ............. 45. 3.2.1. Caso de estudio en clasificación de pacientes con Cáncer de Mamas. ........................ 46. 3.2.2. Visualización de los arboles generados por la herramienta. ........................................ 46. 3.3. Conclusiones parciales. ......................................................................................................... 49. CONCLUSIONES ..................................................................................................................................... 51 RECOMENDACIONES ............................................................................................................................. 53 REFERENCIAS BIBLIOGRÁFICAS ............................................................................................................. 54 ANEXOS ................................................................................................................................................. 58 Anexo 1: Metodología para agregar un nuevo clasificador al WEKA. .............................................. 58.

(9) Anexo 2: Diagrama de clases de la herramienta Grey-box. .............................................................. 59.

(10) INTRODUCCIÓN Los investigadores en aprendizaje automatizado se ocupan principalmente de la obtención de métodos de predicción precisa. Lamentablemente, los clasificadores más exitosos son modelos de caja negra, que no proporcionan ideas sobre el proceso de razonamiento asociado con el modelo de decisión. Sin embargo, en algunos ámbitos del aprendizaje automático (Por ejemplo, bioinformática), la transparencia en sus predicciones es crucial (Robnik-Šikonja & Kononenko 2008). Además, en algunas tareas de clasificación en el mundo real es más fácil obtener datos no etiquetados que los etiquetados, porque requiere menos esfuerzo, experiencia o tiempo. Esta clase de problemas de aprendizaje automatizado, es conocida como clasificación semisupervisada. En bioinformática, este tipo de problemas está muy presente dado que es mucho menos costos obtener datos no etiquetados de una manera automática. La propuesta de clasificadores semi-supervisados precisos que proporcionen interpretabilidad sigue siendo un problema abierto, ya que es difícil lograr el equilibrio entre la precisión y la transparencia (Grau et al. 2016). Otro problema al que nos enfrentamos, es la forma de comparar si un clasificador es más interpretable que otro, dado que no existen medidas cuantitativas que nos permitan comparar dos o más clasificadores. Self-labeling Grey-box es un algoritmo de aprendizaje automatizado para problemas de clasificación semi-supervisada que ha sido publicado recientemente. Este algoritmo provee la posibilidad de obtener un modelo con buen balance entre exactitud (capacidad de predecir una clase correctamente) e interpretabilidad (capacidad de explicar los resultados del algoritmo). Por lo que se hace necesario la implementación de una herramienta para la edición de parámetros, la ejecución y la visualización del modelo obtenido que facilite la comprensión por parte de los usuarios finales (médicos, genetistas, en general personas que no tienen conocimiento sobre inteligencia artificial). Este algoritmo se encuentra implementado utilizando la interfaz de programación de aplicaciones (API) que provee la herramienta WEKA (Waikato Environment for Knowledge Analysis), pero es necesario generalizar su implementación para facilitar su uso por otros investigadores de esta rama a través de la interfaz visual de la plataforma y permitir la comparación justa con otros enfoques de clasificación.. 2.

(11) Capítulo 1. Es por esto que se ha propuesto el siguiente:. Objetivo general: Desarrollar una herramienta de software compatible con la plataforma WEKA, para la ejecución y visualización del algoritmo Self-labeling Grey-box utilizado en problemas de clasificación semi-supervisada.. Objetivos específicos: 1. Agregar el algoritmo Self-labeling Grey-box como nuevo clasificador a la plataforma WEKA, permitiendo el manejo de los parámetros del algoritmo, así como la ejecución y visualización de los resultados. 2. Diseñar e implementar una herramienta visual utilizando la implementación del algoritmo Self-labeling Grey-box en la plataforma WEKA, como biblioteca que permita visualizar el árbol generado. 3. Validar la correcta implementación del algoritmo, comparando los resultados obtenidos utilizando la plataforma WEKA y mostrar la capacidad de visualización de los resultados en un caso de estudio de bioinformática utilizando la herramienta independiente. Para dar cumplimiento a estos objetivos se proponen las siguientes:. Tareas de Investigación 1. Estudiar los diferentes clasificadores de la literatura para problemas de clasificación semisupervisada. 2. Estudiar las diferentes alternativas para la visualización de árboles de decisión generados por la plataforma WEKA. 3. Estudiar las clases básicas de WEKA, que permiten la creación de un método de clasificación. 4. Incorporar el algoritmo Self-labeling Grey-box como un clasificador más de WEKA, teniendo en cuenta la posibilidad de seleccionar dos algoritmos base genéricos. 5. Diseñar e implementar una herramienta visual que permita a los usuarios finales el entrenamiento y explotación del modelo clasificando un nuevo caso. 6. Agregar una funcionalidad a esta herramienta que permita la visualización del árbol generado por el algoritmo..

(12) Capítulo 1. 7. Diseñar un experimento para comparar los resultados obtenidos por el algoritmo una vez incorporado a la plataforma WEKA, con los clasificadores de caja negra y caja blanca de forma independiente. 8. Ilustrar la funcionalidad de visualización del árbol en la herramienta independiente a través de un caso de estudio en Bioinformática.. Justificación de la investigación Desde el punto de vista teórico, la incorporación de un nuevo algoritmo semi-supervisado para clasificación a WEKA permite la exploración de nuevos problemas en un marco de comparación bien conocido por la comunidad científica. Su carácter práctico se evidencia, justamente, porque como resultado de esta implementación, se espera obtener una herramienta para el entrenamiento y explotación de estos modelos por parte de usuarios no expertos en inteligencia artificial, en particular, expertos en problemas de bioinformática. Desde el punto de vista metodológico, el algoritmo implementado podría considerarse importante para el uso en investigaciones futuras que tengan bases de casos con ejemplos etiquetados y no etiquetados. Además, podrá servir como herramienta de apoyo en el postgrado.. Diseño de la Tesis Después de esta Introducción, la tesis se estructura en tres capítulos. En el primero de ellos se desarrolla el marco teórico, orientado fundamentalmente a los diferentes enfoques existentes para tratar problemas de clasificación semi-supervisados y las herramientas de visualización de árboles de decisión. En el segundo capítulo se describe la incorporación a la plataforma WEKA del clasificador Self-labeling Grey-box, así como el diseño e implementación de la herramienta independiente para la explotación y visualización de los resultados de este algoritmo. En el tercer capítulo se describen los experimentos realizados para la validación de la implementación y además se ilustra a través de un caso de estudio de bioinformática la funcionalidad de visualización de árboles de decisión. Finalmente se formulan las conclusiones y recomendaciones, se listan las referencias bibliográficas y se incluyen algunos anexos con detalles que no necesariamente tienen que estar en el cuerpo de la tesis para la comprensión de ésta..

(13) Capítulo 1. CAPÍTULO 1.. MARCO TEÓRICO. En este capítulo se presenta un conjunto de conceptos sobre problemas de clasificación semisupervisada y una descripción del modelo Self-labeling Grey-box. También se muestran diferentes herramientas para la visualización de árboles de decisión.. 1.1. Clasificación semi-supervisada.. En esta sección tratamos los problemas de clasificación semi-supervisada, los diferentes métodos que aparecen en la literatura para este tipo de problemas y las técnicas de autoetiquetado propuestas en la literatura. 1.1.1 Problemas de clasificación supervisada y no supervisada.. Los estudios de clasificación de patrones (Duda et al. 2012) han ganado cada vez más atención debido a su aplicabilidad en la resolución de problemas de aplicación, donde la formulación de un modelo matemático exacto es a menudo casi imposible. Su objetivo es identificar la categoría correcta (entre las de un conjunto predefinido) a la que pertenece una observación. Estas observaciones (denominadas en adelante casos) se describen a menudo mediante un conjunto de atributos numéricos y/o nominales. Formalmente, la solución de un problema de clasificación de patrones (Duda et al. 2012) implica definir una función 𝑓 ∶ 𝑋 → 𝑌 que asigna a cada caso 𝑥 ∈ 𝑋, descrita por el conjunto de atributos 𝐴 = {𝑎1 … , 𝑎𝑚 }, una clase de decisión 𝑦𝑖 de las n posible clases en 𝑌 = {𝑦1 … , 𝑦𝑛 }. La función es aprendida de los datos históricos de una manera supervisada, es decir, confiando en un conjunto existente de ejemplos previamente etiquetados que se utilizan para entrenar el modelo de clasificación. La literatura sobre modelos de clasificación es extensa, con técnicas para abordar los problemas de clasificación desde diferentes perspectivas. Árboles de decisión (Kotsiantis 2013), Redes neuronales (Zhang 2000), modelos basados en reglas (Paiva & Dourado 2004), redes bayesianas (Friedman et al. 1997), support vector (Hearst et al. 1998), random forests (Breiman 2001) o aprendizaje basados en casos (Cover & Hart 1967) están entre los clasificadores más populares, cada uno con sus propias ventajas y limitaciones. Los problemas de clasificación más complejos incluyen el aprendizaje en presencia de desbalance de clases (Sun et al. 2009) (López et al. 2013), ruido de clases (Frénay & Verleysen 2014), datos parcialmente etiquetados (Cohen et al. 2004) o múltiples clases de decisión por objeto (Tsoumakas & Katakis 2007; Cheng et al. 2010; Nápoles et al. 2016). En este trabajo, ponemos nuestra atención en la clasificación semi-.

(14) Capítulo 1. supervisada (CSS), que incluyen un conjunto de casos etiquetados y otro conjunto más grande de casos no etiquetados. 1.1.2 Problemas de clasificación semi-supervisada.. Las técnicas de CSS intentan usar tanto los casos etiquetados como las no etiquetados, durante el proceso de aprendizaje para aumentar la capacidad de predicción cuando sólo una pequeña cantidad de datos etiquetados está disponible, en comparación con el rendimiento obtenido usando solamente los casos etiquetados. Más formalmente, en un escenario de CSS tenemos un conjunto de L caso 𝑋 = {𝑥1 , 𝑥2 , … , 𝑥𝐿 } que están asociados con su respectiva etiqueta de clase 𝑌 = {𝑦1 , 𝑦2 , … , 𝑦𝑁 } y adicionalmente un conjunto de K (con K > L) casos no etiquetados 𝑈 = {𝑢𝐿+1 , 𝑢𝐿+2 , … , 𝑢𝐿+𝐾 }. En este caso el rendimiento del clasificador podría ser evaluados en dos contextos: (1) el aprendizaje transductivo, que sólo intenta predecir las etiquetas para los casos no etiquetados en U; o (2) el aprendizaje inductivo, que trata de inferir una función 𝑔 ∶ 𝑋 ∪ 𝑈 → 𝑌 con el fin de predecir la clase etiquetada de cualquier caso asociado al problema de clasificación. La clasificación semi-supervisada puede ser útil en una variedad de campos de aplicación. En principio, en cualquier problema de clasificación en el que haya muchos más datos no etiquetados que etiquetados, se puede abordar con técnicas de aprendizaje semisupervisadas. Este escenario ocurre normalmente cuando la obtención de puntos de datos es fácil, pero el proceso de etiquetarlos es costoso ya sea en términos de tiempo, dinero o esfuerzo. Las aplicaciones recientes de clasificación semi-supervisada incluyen clasificación de imágenes (Aydav & Minz 2016), clasificación de spam web (Fang et al. 2015), análisis de sentimientos (Khan et al. 2016) e identificación de locutor (Fazakis et al. 2015). En el contexto de la bioinformática, etiquetar datos (por ejemplo, secuencias genómicas o datos clínicos) puede ser particularmente costoso, requiriendo experiencia, procedimientos caros o tiempo, mientras que la obtención de puntos de datos no etiquetados puede ser un proceso automatizado; por lo tanto, la clasificación semi-supervisada puede ser un enfoque adecuado en este tipo de problemas de clasificación (Triguero et al. 2014; Li & Zhou 2007). 1.1.3 Métodos de la literatura para clasificación semi-supervisada.. En la literatura, se han propuesto varios enfoques para resolver problemas de CSS. (Zhu 2005) aborda una revisión profunda de la literatura de diferentes técnicas para aprendizaje semi-.

(15) Capítulo 1. supervisado. En general, las técnicas CSS tradicionales suelen incluir suposiciones sobre la distribución o características de los datos no etiquetados. Por ejemplo, los Generative Mixture Models (Fujino et al. 2008) asumen que los datos siguen una distribución de mezcla identificable (por ejemplo, modelos de mezcla gaussiana), a partir de ahí aprenden una probabilidad conjunta para identificar los componentes de la mezcla utilizando los datos no marcados. Este enfoque puede ser conveniente cuando los datos disponibles producen clústeres bien separados (Zhu 2005). Otro enfoque bien conocido es el Transductive Support Vector Machines (Joachims 1999), el cual utiliza datos no etiquetados para maximizar el margen entre las diferentes clases colocando los límites de decisión en regiones dispersas. En algunos campos de aplicación, se requiere modelar el espacio de datos como un gráfico, es decir, si dos casos están fuertemente conectadas, entonces probablemente pertenecen a la misma clase. Los métodos basados en gráficos (Blum & Chawla 2001), difieren principalmente en su función de regularización y el algoritmo para construir el gráfico. Estos tres enfoques se centran principalmente en el aprendizaje transductivo, es decir, predecir la etiqueta de un determinado conjunto de datos no etiquetados en lugar de encontrar un modelo capaz de predecir la clasificación de nuevos casos, con buenas habilidades de generalización. Otros problemas del aprendizaje automático con supervisión débil relacionados con CSS incluyen: agrupación semi-supervisada (Grira et al. 2004), donde el objetivo es mejorar la agrupación mediante el uso de pocos puntos de datos etiquetados; aprendizaje activo (Freund et al. 1997), el cual difiere de CSS en la necesidad de intervención de un experto para etiquetar casos seleccionados no etiquetados; y aprendizaje de etiquetas parciales (Cour et al. 2011) o aprendizaje de superconjunto (Hüllermeier & Cheng 2015) donde la etiqueta asociada con un caso de entrenamiento sólo se caracteriza en términos de un subconjunto de posibles clases. Estos tipos de aprendizaje no deben confundirse con la CSS. 1.1.3.1 Técnicas de auto-etiquetado para la clasificación semi-supervisada. Recientemente (Triguero et al. 2015) presentaron una revisión exhaustiva sobre las técnicas de auto-etiquetado para clasificación semi-supervisada, donde los autores definen una taxonomía basada en las propiedades principales de estos métodos. En esta revisión, los autores también proponen un marco experimental para la comparación de las técnicas de auto-etiquetado abordadas, facilitando así la comparación de nuevas propuestas frente a las técnicas existentes..

(16) Capítulo 1. Según (Triguero et al. 2015), las técnicas de auto-etiquetado propio pueden categorizarse en métodos de vista múltiple o de vista única. Los métodos de vista múltiple asumen que el espacio de datos se puede describir desde dos o más puntos de vista diferentes, estos dos puntos de vista normalmente corresponden a dos conjuntos distintos de atributos que describen los mismos casos (Witten et al. 2017). Un ejemplo clásico de modelos de vista múltiple es el enfoque Co-training (Blum & Mitchell 1998). En estos modelos, dos clasificadores son entrenados por separado, cada uno usando un subconjunto de atributos diferente. Posteriormente, la predicción de cada clasificador sobre el conjunto de datos sin etiqueta se usa para agrandar el conjunto de entrenamiento del otro. La familia de métodos de vista única, que más ha sido explorada en la literatura utiliza un conjunto global de atributos. Una técnica bien conocida de auto-etiquetado de vista única es Democratic Co-training (Zhou & Goldman 2004), la cual utiliza múltiples clasificadores distintos en el proceso de aprendizaje. Esta técnica permite a los clasificadores etiquetar los datos entre sí, usando el voto mayoritario de la misma manera que los multi-clasificadores. Es importante remarcar que, el uso de múltiples clasificadores diferentes no implica que la técnica de auto-etiquetado sea de vista múltiple, ya que utilizan el mismo conjunto de características. Tri-training (Zhou & Li 2005), Co-training by committee (Hady & Schwenker 2008) y CoForest (Li & Zhou 2007) son los principales ejemplos de multi-clasificadores de vista única que utilizan varios clasificadores base del mismo tipo. Tri- training usa tres clasificadores de base y colaboran en el proceso de aprendizaje etiquetando un ejemplo no etiquetado si los otros dos clasificadores están de acuerdo; sin embargo, no requiere vistas redundantes múltiples de los datos. Co-training by committee fue propuesta como una alternativa para Co-training, la cual no requiere múltiples vistas ni diferentes algoritmos de aprendizaje, y explora las diferentes estrategias de multi-clasificación, dando como resultado Bagging como el de mejor desempeño. De igual manera, Co-Forest adopta un clasificador Random Forest como una alternativa para Co-Training. Los modelos de auto-entrenamiento (Yarowsky 1995) son claros representantes de las técnicas de CSS de una sola vista, los cuales confían en la predicción de un solo clasificador base para incrementar iterativamente el tamaño del conjunto de datos etiquetado mediante la predicción de los casos no etiquetados. Los criterios para incluir casos en el siguiente conjunto de datos etiquetado ampliado, se basan en la confianza de la predicción del clasificador base. Los casos se añaden de forma incremental (por ejemplo, auto-entrenamiento estándar), en lote (Halder et.

(17) Capítulo 1. al. 2010) o en un procedimiento de modificación (Li & Zhou 2005). La Figura 1.1 muestra un resumen de la organización propuesta por (Triguero et al. 2015) para los diferentes métodos de auto-etiquetado presentes en la literatura hasta el momento.. Figura 1.1 Jerarquía de las técnicas de auto-etiquetado. Después de la extensa revisión publicada en 2015 (Triguero et al. 2015), sólo unas pocas técnicas de auto-etiquetado de aprendizaje han sido introducidas. (Fazakis et al. 2016) propusieron el auto-entrenamiento Logistic Model Tree (LMT) mostrando buenas tasas de predicción. (Albinati et al. 2015) usan Ant Colony Optimization para diseñar un clasificador contenedor basado en reglas para el auto-entrenamiento. En (Karlos et al. 2016) los autores utilizan un modelo de Bayes Naive como clasificador base para un enfoque de autoentrenamiento. Otros trabajos sobre técnicas de auto-entrenamiento incluyen el uso de Rotation Forests (Fazakis et al. n.d.) como clasificadores base. Finalmente, (Vluymans et al. 2016) explora las ventajas de usar conjuntos fuzzy-rough para las técnicas de auto-etiquetado..

(18) Capítulo 1. Como se comentó en (Triguero et al. 2015), algunos de los modelos propuestos en la literatura para CSS logran un buen rendimiento en términos de aprendizaje inductivo y transductivo. Sin embargo, debido a la complejidad de su estructura (por ejemplo, la colaboración entre múltiples clasificadores) su interpretabilidad está comprometida. Nuestro objetivo es tener una técnica de CSS interpretable. 1.1.4. Interpretabilidad en métodos de clasificación semi-supervisada.. Establecer un balance adecuado entre la precisión y la interpretabilidad es una tarea difícil en los problemas de clasificación. Los resultados de este análisis dependen en gran medida de la técnica de aprendizaje automático empleada y del campo de aplicación del problema a ser modelado. Mientras que el rendimiento de predicción de un algoritmo de clasificación es un concepto bien definido con varias medidas para comparar diferentes técnicas, la interpretabilidad permanece como una terminología menos explorada y formalizada. El análisis de interpretabilidad carece de medidas cuantitativas para comparar técnicas de aprendizaje automático desde diferentes perspectivas. La mayoría de los estudios para describir la complejidad del modelo y su legibilidad se centra en el contexto de sistemas difusos basados en reglas (Mikut et al. 2005; Casillas et al. 2003; Gacto et al. 2011; Paiva & Dourado 2004) y propone medidas como el número de características o el número de reglas. En un estudio más reciente y general (Lipton et al. 2016), los autores analizan la falta de consenso en cuanto a la interpretabilidad de los modelos de aprendizaje automático e identifican dos tipos principales de interpretabilidad: transparencia de un modelo y procedimientos post-hoc para explicar un modelo (Štrumbelj et al. 2009; Robnik-Šikonja & Kononenko 2008). Informalmente, la transparencia es lo opuesto a la opacidad (O blackboxness) y se refiere a la comprensibilidad del modelo. En su estudio, (Lipton et al. 2016) consideran la transparencia a los niveles de: el modelo completo, los componentes individuales (por ejemplo, los parámetros) y el proceso de aprendizaje. La transparencia a nivel del modelo se refiere a la posibilidad de simulación del modelo por un experto en un tiempo razonable. Esta definición es ambigua, pero permite que los clasificadores basados en reglas o árboles de decisión con una estructura simple sean admitidos en esta categoría. La transparencia a nivel de componentes corresponde a la inteligibilidad del modelo, es decir, sus parámetros o los componentes de su estructura tienen un significado determinado en la explicación de la inferencia. Un claro ejemplo de este tipo de interpretabilidad son los Fuzzy Cognitive Maps (Kosko 1986), que son redes neuronales.

(19) Capítulo 1. recurrentes donde tanto el peso y las neuronas tienen un significado preciso relacionado con el dominio del problema. El tercer nivel de transparencia puede obtenerse a partir del algoritmo de aprendizaje. Por ejemplo, los modelos lineales pueden ser fácilmente interpretables mientras que un algoritmo de aprendizaje basado en la optimización heurística no es completamente comprensible debido a su comportamiento estocástico, a pesar del uso de una heurística en el proceso de búsqueda. Por otro lado, los procedimientos de interpretabilidad post-hoc intentan proporcionar una explicación de la inferencia una vez construido el modelo. En este trabajo consideramos que la interpretación de las técnicas CSS se basa en la interpretabilidad de sus bloques de construcción, así como la complejidad del modelo final. Por ejemplo, un esquema de auto-entrenamiento utilizando un árbol de decisión (Quinlan 1993) como clasificador base, el cual además obtiene un modelo final con una razonable simplicidad de estructura (en términos de número de nodos, número de reglas, profundidad del árbol, etc.) puede ser considerado como transparente para un experto. Esquemas más complejos como los modelos multi-clasificadores (Por ejemplo, Tri-training, Co-Bagging, o Co-Forest), o de vista múltiple (por ejemplo, Co-Training) son más difíciles de interpretar tanto al nivel de modelo como al nivel de componentes, debido a la naturaleza colaborativa de los algoritmos y la complejidad de la estructura resultante. 1.2 Self-labeling Grey-box para clasificación semi-supervisada. Un requisito común encontrado en los problemas de clasificación de bioinformática es obtener no sólo modelos precisos sino también interpretables. Los usuarios finales suelen necesitar no sólo un modelo preciso, sino también una visión de cómo la técnica de aprendizaje automático llega a una clasificación. Por lo tanto, la interpretabilidad también es importante para un clasificador semi-supervisado en este dominio de aplicación. Clasificadores de caja negra como Random Forests, que típicamente resultan en modelos precisos, son sin embargo no interpretables, ya que no es factible ganar en comprensión examinando cada árbol. Por otro lado, las técnicas de caja blanca (por ejemplo, árboles de decisión) generalmente tienen un rendimiento más bajo, en términos de precisión, en comparación con las de caja negra, especialmente cuando los datos de entrenamiento son limitados, pero tienen la ventaja de ser interpretables. Con el fin de construir un modelo de clasificación para CSS, con un equilibrio apropiado entre precisión e interpretabilidad, proponemos un esquema de conjunto simple llamado Self-.

(20) Capítulo 1. labeling Grey-box. Desde el punto de vista de la interpretabilidad, una caja gris es comúnmente referida como la combinación de un modelo de caja negra con uno de caja blanca. Las cajas negras son normalmente técnicas más precisas que aprenden exclusivamente de datos históricos, pero no son fácilmente comprensibles a nivel del modelo. Las cajas blancas se refieren a modelos construidos basados en leyes o principios del dominio del problema, o aquellos que son construidos a partir de datos históricos, pero su estructura permite la interpretabilidad (Nelles 2013). Nuestra caja gris de auto-etiquetado utiliza un clasificador de caja negra para predecir la clase de decisión de los casos no etiquetados, mientras que un componente de caja blanca es utilizado para construir un modelo predictivo interpretable (por ejemplo, un enfoque basado en reglas), basado en el conjunto de casos completo. El objetivo es superar el rendimiento del componente base de la caja blanca utilizando sólo los datos etiquetados, al tiempo que se obtiene una técnica de clasificación semi-supervisada con buen equilibrio entre rendimiento e interpretabilidad. Nuestro proceso de aprendizaje se realiza en un orden secuencial. En un primer paso de aprendizaje, proporcionamos el conjunto de datos etiquetado disponible (𝑋, 𝑌) a un clasificador de caja negra para entrenarlo. Una vez completado el aprendizaje supervisado, el componente de la caja negra ha aprendido una función 𝑓 ∶ 𝑋 → 𝑌 donde 𝑓 ∈ 𝐹 , siendo 𝐹 el espacio de la hipótesis que asocia cada caso con una etiqueta de clase. La función 𝑓 puede construirse utilizando una función real ℎ ∶ 𝑋 × 𝑌 → ℝ tal que 𝑓 se define como el valor 𝑦 devuelto por la función ℎ que da el valor más alto: 𝑓(𝑥) = 𝑎𝑟𝑔𝑚𝑎𝑥𝑦∈𝑌 {ℎ(𝑥, 𝑦)}, 𝑥 ∈ 𝑋. Entonces, el componente de caja negra entrenado es utilizado para predecir las etiquetas 𝑦𝑖𝑘 correspondientes a los caso no etiquetados 𝑢𝑘 ∈ 𝑈 como 𝑦𝑖𝑘 = 𝑓(𝑢𝑘 ) añadiendo un carácter auto-etiquetado al modelo. A partir de esta etapa se obtiene un conjunto de entrenamiento ampliado (𝑋 ∪ 𝑈, 𝑌 ∪ 𝑌 𝑈 ) que comprende los casos etiquetados originales y los etiquetados adicionales. En el segundo paso de aprendizaje, el conjunto de entrenamiento ampliado (𝑋 ∪ 𝑈, 𝑌 ∪ 𝑌 𝑈 ) se utiliza para entrenar un clasificador de caja blanca (interpretable). De esta manera, permitimos explícitamente que un componente de caja negra genere datos etiquetados adicionales para el proceso de aprendizaje del componente de caja blanca de una manera autoetiquetada. Una vez que el proceso de aprendizaje en el componente de caja blanca ha terminado, obtenemos una función 𝑔: (𝑋 ∪ 𝑈) → (𝑌 ∪ 𝑌 𝑈 ) resultando en un clasificador con.

(21) Capítulo 1. más capacidad de generalización que el componente original de caja blanca, cuando se entrena sólo con los datos etiquetados. El siguiente diagrama ilustra este proceso (Figura 1.2).. Figura 1.2 Arquitectura general de esquema de caja gris. Cuando se aplica CSS, debemos ser conscientes del riesgo de tener conjuntos de datos no balanceados con respecto a las etiquetas de las clases, principalmente debido a las diferentes fuentes de donde provienen los casos etiquetados y los no etiquetados. Para hacer frente a este problema, nuestro esquema incorpora además una estrategia simple para ponderar casos en el proceso de aprendizaje. Para los casos etiquetados, el peso se calcula como la proporción de casos pertenecientes a esa clase, dando mayor importancia a casos pertenecientes a la clase minoritaria. En el caso de casos no etiquetados 𝑢𝑘 , los pesos se asignan después de ser etiquetados por el clasificador de caja negra y expresan el grado de confianza asociado al proceso de auto-etiquetado. Más explícitamente, el peso es igual a la función de puntuación aprendida ℎ(𝑢𝑘 , 𝑦𝑖 ) que expresa la probabilidad de ser correctamente asignada a la clase particular 𝑦𝑖 . La Ecuación 1.1 y la Ecuación 1.2 formalizan el proceso de ponderación para casos etiquetados y no etiquetados, respectivamente, como sigue: 𝑤𝑥𝑖 =. |𝑋𝑚𝑖𝑛 | |𝑋𝑖 |. Ecuación 1.1. 𝑤𝑢𝑘 = ℎ(𝑢𝑘 , 𝑦𝑖𝑘 ) Ecuación 1.2. Donde 𝑙 ∈ ℕ ∶= {1, … , 𝐿}, 𝑘 ∈ ℕ ≔ {1, … , 𝐾} y 𝑖 ∈ ℕ ≔ {1, … , 𝑁} representan los índices para casos etiquetados, casos no etiquetados y los valores de la clase respectivamente. 𝑋𝑚𝑖𝑛 es el conjunto de casos de la clase minoritaria 𝑦𝑚𝑖𝑛 es el conjunto de entrenamiento etiquetado y 𝑋𝑖 es el conjunto de casos con la clase 𝑦𝑖 en el conjunto de casos etiquetados. Esta estrategia.

(22) Capítulo 1. de ponderación comprende una alternativa eficaz al uso de procedimientos incrementales, en lote o de modificación, reduciendo así la complejidad computacional general evitando estos procedimientos iterativos y simplificando el proceso de auto-etiquetado. El pseudocódigo del Algoritmo 1 resume el esquema propuesto: Algoritmo 1. Self-labeling grey-box learning procedure. Inicializar conjuntos de datos etiquetados y no etiquetados Casos etiquetados: (𝑥𝑙 , 𝑦𝑖 ) con 𝑙 = {1, … , 𝐿} y 𝑖 = {1, … , 𝑁} Casos no etiquetados: 𝑢𝑘 con 𝑘 = {1, … , 𝐾} BEGIN Asignar los pesos a los casos etiquetados de acuerdo a la Ecuación 1.1 FOR l = 1 TO L DO 𝑤𝑥𝑙 =. |𝑋𝑚𝑖𝑛 | 𝑋𝑖. END Entrenar el componente de la caja negra con datos etiquetados ponderados RETURN 𝑓 ∶ 𝑋 → 𝑌 utilizando el proceso de aprendizaje del componente de caja negra elegido Asignar una etiqueta a casos no etiquetados usando el componente de caja negra FOR k = 1 TO K DO EVALUATE 𝑦𝑖𝑘 = 𝑓(𝑢𝑘 ) Asignar peso a los casos no etiquetados de acuerdo con la Ecuación 1.2 𝑤𝑢𝑘 = ℎ(𝑢𝑘 , 𝑦𝑖𝑘 ) Ampliar el conjunto de datos etiquetado original con el caso recientemente etiquetado 𝑈. ADD (𝑢𝑘 , 𝑦𝑖𝑘 ) to (𝑋 ∪ 𝑈, 𝑌 ∪ 𝑌 ) END Entrenar el componente de la caja blanca con los datos etiquetados originales y los datos etiquetados adicionales (ponderados). RETURN 𝑔: (𝑋 ∪ 𝑈) → elegido END. (𝑌 ∪ 𝑌𝑈 ) utilizando el proceso de aprendizaje del componente de caja blanca. En general, nuestro modelo sólo se basa en la suposición general de los métodos de CSS: la distribución de casos no etiquetados ayuda a dilucidar la distribución de todos los ejemplos. Sin perder generalidad, nuestro modelo puede ser categorizado como: vista única: el clasificador Self-labeling Grey-box no necesita conjuntos de atributos diferentes para describir los casos, añadiendo simplicidad al modelo; multi-clasificador: se utilizan dos clasificadores base diferentes, conectados en un proceso secuencial o en cascada, el primer clasificador debe ser un clasificador supervisado de caja negra, mientras que el segundo debe ser una técnica de caja blanca proporcionando interpretabilidad al modelo final;.

(23) Capítulo 1. multi-aprendizaje: el proceso de aprendizaje comprende dos etapas, donde se utilizan dos algoritmos de aprendizaje dependiendo de los clasificadores base seleccionados. Es importante remarcar que el rendimiento de todo el esquema depende en gran medida de la capacidad de predicción del clasificador de caja negra al clasificar los casos no etiquetados. La confianza de estas predicciones puede ser medida en el proceso de aprendizaje de la caja negra. La simplicidad del esquema propuesto, conduce a mantener las características inherentes de interpretabilidad del componente de caja blanca elegido en el clasificador de caja gris final.. 1.3. Herramientas para la visualización de árboles de decisión.. En esta sección se mencionan algunas herramientas para visualizar árboles de decisión. 1.3.1 Visualización del árbol J48 de WEKA.. A continuación, ofrecemos una breve guía de cómo visualizar el árbol de decisión generado por el clasificador J48 implementado en WEKA. Pulsando en la segunda pestaña (zona superior) del explorador de WEKA entramos en el modo clasificación (Figura 1.3).. Figura 1.3 El modo clasificación dentro del explorador..

(24) Capítulo 1. Lo primero será elegir el clasificador J48 y configurarlo a nuestro gusto, para ello pulsaremos sobre el botón Choose dentro del área Classifier. Una vez pulsado se desplegará un árbol que nos permitirá seleccionar el clasificador deseado. Una vez seleccionado, aparecerá en la etiqueta contigua al botón Choose, el filtro seleccionado y los argumentos con los que se ejecutará.. Figura 1.4 WEKA habiendo aplicado el método de clasificación J48.. En la zona inferior-izquierda se encuentra la lista de resultados en la que aparecerán el experimento que acabamos de realizar (Figura 1.4). Si pulsamos el botón secundario, sobre este obtendremos opciones adicionales aplicables al experimento que hayamos seleccionado (Figura 1.5). Éstas permiten visualizar los resultados obtenidos en diferentes variantes, incluyendo gráficas, guardar modelos, visualizar el árbol de decisión, etc..

(25) Capítulo 1. Figura 1.5 Opciones adicionales de un experimento.. Para visualizar el árbol decisión solo debemos pulsar sobre la opción Visualize tree y se mostrará un árbol de decisión, como el de la Figura 1.6, generado por el clasificador J48.. Figura 1.6 Visualización del árbol de decisión..

(26) Capítulo 1. Pulsando el botón secundario sobre esta nueva ventana se desplegarán las siguientes opciones: . Center on Top Node: centrará el gráfico en la ventana atendiendo a la posición del nodo superior. Esta opción es muy aconsejable si cambiamos el tamaño de la ventana.. . Fit to Screen: ajusta el gráfico a la ventana, no sólo la posición sino también su tamaño.. . Auto Scale: escala el gráfico de manera que no haya nodos que colisionen.. . Select Font: nos permite ajustar el tamaño del tipo de letra del texto.. Si pulsamos el botón secundario sobre un nodo del grafo nos dará la opción de Visualize the node, si pulsamos en ella nos mostrará si hay casos que correspondan a ese nodo. 1.3.2 Otras herramientas de visualización de árboles de decisión.. A continuación, se mencionan algunas herramientas que pueden ser usadas para visualizar árboles de decisión de una manera más cómoda que la que ofrece WEKA por defecto. 1.3.2.1 Prefuse. Prefuse es un conjunto de herramientas para crear visualizaciones de datos interactivas en el lenguaje de programación Java. Prefuse soporta un conjunto de características para el modelado, visualización e interacción de datos. Además, proporciona estructuras de datos optimizadas para tablas, gráficos y árboles, una gran cantidad de técnicas de diseño y codificación visual y soporte para animaciones, consultas dinámicas, búsqueda integrada y conectividad de bases de datos. Está escrito en Java, usando la biblioteca de gráficos Java 2D, y se integra fácilmente en aplicaciones Java Swing o applets web (Anon 2017). Después de la versión de WEKA 3.5.8 es fácil añadir la herramienta Prefuse como un plugin para la visualización del árbol de decisión generado por el clasificador J48 (Figura 1.7). Para esta implantación se debe tener en cuenta los siguientes requerimientos: . la clase de visualización personalizada debe implementar la siguiente interfaz WEKA.gui.vizualize.plugins.TreeVizualizePlugin. . la clase debe residir en el siguiente paquete WEKA.gui.vizualize.plugins.. Se debe resaltar, que esta herramienta mejora significativamente la forma de visualizar el árbol de decisión en comparación con la opción que ofrece WEKA por defecto, pero tiene la desventaja que el árbol no puede ser modificado..

(27) Capítulo 1. Figura 1.7 : Ejemplo de un árbol de decisión generado con Prefuse.. 1.3.2.2 JGraphX – Biblioteca Swing de Java. JGraphX es una librería de visualización de diagramas de Java Swing licenciada bajo la licencia NewBSD (New Berkeley Software Distribution) (Manual 2017). A pesar de que los paquetes usan el nombre de “mxGraph”, la librería no se llama mxGraph ya que mxGraph es la librería de graficado de JavaScript. Originalmente la librería fue nombrada JGraph hasta la versión 1.5. En la versión 1.6 se decidió cambiar el nombre a JGraphX para reflejar que el código base de la API fue reescrito desde cero. JGraphX proporciona funcionalidades para la visualización e interacción con grafos. Algunos ejemplos de aplicaciones que pueden ser escritos con esta librería son editores de flujos de trabajo, cuadros de organizaciones, herramientas de modelado de procesos de negocios, visualizador de circuitos electrónicos, visualizador de redes de telecomunicaciones, etc. es decir, una multitud de aplicaciones en las que esté presente el concepto de grafo..

(28) Capítulo 1. JGraphX también incluye soporte para XML, importación y exportación de grafos, maquetación, etc (Manual 2017). Esta biblioteca tiene como ventaja que nos permite crear nuestro árbol de decisión de la manera más agradable posible y que sea posible modificarlo por parte de los usuarios finales.. 1.4 Consideraciones finales del capítulo. En este capítulo se realizó un análisis del marco teórico relacionado con los problemas de clasificación semi-supervisada y en particular con el modelo Self-labeling Grey-box y sus características principales. Se enfatizó en los distintos modelos que se abordan en la literatura para problemas de clasificación semi-supervisada y las diferentes técnicas de auto-etiquetado que existen. Adicionalmente, se describen varias herramientas para la visualización de árboles de decisión y se decide utilizar JGraphX dado que permite la modificación del árbol por parte de los usuarios finales..

(29) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL MÉTODO SELF LABELING GREY-BOX. En este capítulo se describe, fundamentalmente, cómo se implementa el método Self-labeling Grey-box en la plataforma WEKA, como un clasificador más, utilizando las clases de este paquete. Por último, se describe una herramienta desarrollada independiente de WEKA que permite, además de entrenar el método Self-labeling, clasificar nuevos casos de un problema de aplicación y visualizar el árbol de decisión generado por el clasificador.. 2.1 Diseño e implementación del método Self-labeling Grey-box sobre la plataforma WEKA. Como se ha explicado, el método Self-labeling Grey-box es muy útil en problemas de clasificación donde se tiene la mayor parte de datos no etiquetados y se quiere mantener la interpretabilidad de los resultados. Por lo que se propone su implementación a la plataforma WEKA como un nuevo clasificador. El proyecto WEKA es un entorno de software para la experimentación y prueba de diferentes algoritmos de Aprendizaje Automatizado que se desarrolla en la Universidad de Waikato, Nueva Zelanda. Esta plataforma libre implementa, en el lenguaje de programación Java, una gran variedad de métodos estadísticos y de Inteligencia Artificial, así como técnicas para comparar sus resultados. Ello posibilita, que dado un problema que requiere aprendizaje automatizado, cualquier investigador pueda experimentar con varios de estos métodos y determinar con cuales se obtienen los mejores resultados. WEKA proporciona varios algoritmos de aprendizaje automatizado que pueden ser utilizados fácilmente; por ejemplo: se puede preprocesar el conjunto de datos, introducirlos en un esquema de aprendizaje y analizar el resultado de clasificación y su eficiencia. Además, posee un sistema de interfaces gráficas de usuario que permiten la exploración de los datos (Explorer) y la experimentación (Experimenter) con los diversos algoritmos implementados. 2.1.1 Incorporación de un nuevo clasificador a la plataforma WEKA.. Por ser de código abierto, WEKA tiene la característica de ser extensible. El desarrollo de extensiones a la plataforma WEKA ha dejado de estar centralizado en el lugar donde fue creado, ya que tiene una estructura de paquetes bien organizada y facilita a otros programadores. 27.

(30) Capítulo 2. la tarea de agregar modelos y algoritmos, o modificar los ya existentes de forma ordenada. Los paquetes principales son los siguientes (Guevara 2007): . associations: contiene las clases que implementan los algoritmos de asociación.. . attributeSelection: contiene las clases que implementan técnicas de selección de atributos.. . classifiers: agrupa todas las clases que implementan algoritmos de clasificación y éstas a su vez se organizan en subpaquetes de acuerdo al tipo de clasificador.. . clusterers: contiene las clases que implementan algoritmos de agrupamiento.. . core: paquete central que contiene las clases controladoras del sistema. Es usado en la mayoría de las clases existentes. Las clases principales de este paquete son: Attribute, Instance, DenseInstance, e Instances.. . datagenerators: paquete que contiene clases útiles en la generación de conjuntos de datos atendiendo al tipo de algoritmo que será usado.. . estimators: contiene las clases que realizan estimaciones (generalmente probabilísticas) sobre los datos.. . experiment: agrupa las clases controladoras que permiten la realización de experimentos con varias bases y diferentes algoritmos.. . filters:. está. constituido. por. las. clases. que. implementan. algoritmos. de. preprocesamiento. . gui: contiene todas las clases que implementan la interfaz visual con el usuario.. Para añadir un nuevo clasificador en WEKA se debe conocer los métodos imprescindibles que deben ser implementados, así como las clases y estructuras que WEKA posee para el trabajo con los mismos. Además, es necesario seguir cierta metodología descrita en (Bonet 2008; Guevara 2007) para la incorporación de un nuevo clasificador, con el objetivo de lograr una total compatibilidad con la herramienta y su óptimo funcionamiento. Para la creación de un nuevo clasificador, es importante conocer la clase AbstractClassifier, la cual es una superclase de todos los clasificadores existentes, que en versiones anteriores de WEKA se nombraba Classifier. Esta clase ya tiene implementado los principales métodos que debe tener un clasificador, aunque algunos de los métodos es necesario redefinirlos. De los métodos que se mencionan a continuación, es estrictamente necesario redefinir el primero mientras basta definir al menos uno de los dos últimos:.

(31) Capítulo 2. . buildClassifier(): se encarga de la construcción del modelo del clasificador tomando como parámetro los casos de entrenamiento. Debe inicializar todas las variables que correspondan a las opciones específicas del esquema. Nunca debe modificar ningún valor de los casos. Después de terminada la ejecución de este método el clasificador debe ser capaz de predecir la clase de cualquier caso nuevo.. . classifyInstance(): permite clasificar un caso concreto. Devuelve la clase en la que se ha clasificado o “desconocido” si no se consigue clasificar.. . distributionForInstance(): devuelve un vector con las probabilidades de pertenencia de el caso a cada una de las clases.. Una vez implementados los métodos esenciales para el funcionamiento del clasificador, es necesaria la implementación de otros métodos auxiliares para facilitar el trabajo con la interfaz del usuario. En particular, se deben modificar los métodos listOptions(), setOptions() y getOptions() para que sea posible establecer los parámetros del entrenamiento por parte del usuario (Ver Anexo 1: Metodología para agregar un nuevo clasificador al WEKA.). En particular, la implementación de este clasificador dentro de la plataforma WEKA se ubicó en el subpaquete classifiers.meta, donde la clase principal que la representa se denomina SelfLabelingGreyBox. Al ser implementado como un meta clasificador en el método buildClassifier() se hace uso de otros clasificadores y sus respectivos métodos. Estos clasificadores son originalmente creados como AbstractClassifier e implementados utilizando la herencia nativa de la API WEKA según los clasificadores base especificados por el usuario. 2.1.2 ¿Cómo utilizar el nuevo clasificador de la plataforma WEKA?. A continuación, ofrecemos una breve guía de cómo utilizar el clasificador implementado para la experimentación dentro de la plataforma WEKA. El primer paso, luego de ejecutar WEKA y seleccionar la opción de Explorer (Figura 2.1) en el Menú Applications, es seleccionar la base de casos que se va a utilizar. Para ello, se hace uso del botón Open file que se encuentra en la pestaña Preprocess (Figura 2.2). Al seleccionar una base de casos se visualiza la información de la misma: nombre de la relación, número de casos, cantidad de atributos, además de algunas estadísticas..

(32) Capítulo 2. Figura 2.1 Vista inicial de la plataforma WEKA.. Figura 2.2 Pestaña Preprocess donde se carga la base de casos a utilizar por el modelo..

(33) Capítulo 2. Una vez cargada la base de casos que se va a utilizar, se procede a seleccionar el modelo de clasificación para el problema a tratar (en este caso SelfLabelingGreyBox) en la pestaña Classify. El botón Choose despliega un árbol que contiene todas las técnicas de clasificación que podemos seleccionar. El modelo propuesto se puede encontrar dentro de meta (Figura 2.3).. Figura 2.3 Árbol para la selección del modelo a utilizar..

(34) Capítulo 2. Luego de seleccionar el clasificador, se deben ajustar sus parámetros para realizar el proceso de validación (Figura 2.4).. Figura 2.4 Ventana para la edición de los parámetros de entrenamiento del modelo.. Los parámetros de más importancia que se pueden ajustar son los siguientes: 1. blackboxClassifier: especifica el clasificador de caja negra que utilizara el método. 2. whiteboxClassifier: especifica el clasificador de caja blanca que utilizara el método. 3. simulating: especifica si se desea simular el radio de datos etiquetados/no etiquetados. 4. labeledPercentage: especifica el porcentaje de casos etiquetados a utilizar si se está simulando..

(35) Capítulo 2. A continuación, especificamos que tipo de validación se desea utilizar: con el mismo conjunto de entrenamiento, con otra base de casos del mismo problema, realizando una validación cruzada de k folds o utilizando un porciento determinado de la base de entrenamiento (Figura 2.5). Finalmente, para comenzar el proceso de validación se utiliza el botón Start.. Figura 2.5 Vista de la aplicación lista para comenzar la validación.. Una vez terminado el proceso de validación, el WEKA ofrece algunas estadísticas en la vista de salida del clasificador, como ejemplo el porciento de casos bien clasificados (exactitud o accuracy) y la matriz de confusión (Figura 2.6). Si los resultados de estas estadísticas son buenos, entonces el modelo debe ser capaz de generalizar y clasificar nuevos casos..

(36) Capítulo 2. Figura 2.6 Fragmento de la salida del clasificador después de una validación.. 2.2 Diseño e implementación del método Self-labeling Grey-box en la herramienta Grey-box. A pesar de que WEKA es un ambiente de simulación computacional, que presenta un amplio soporte para la experimentación con varios métodos estadísticos y de Inteligencia Artificial, no.

(37) Capítulo 2. ofrece soporte para la clasificación de nuevos casos; por lo que surge la necesidad de implementar el modelo Self-labeling Grey-box en una aplicación independiente a la plataforma. El objetivo de crear esta nueva herramienta computacional es que debe permitir, además de entrenar el clasificador Self-labeling Grey-Box, la posibilidad de clasificar un nuevo caso del problema y poder visualizar el árbol de decisión generado por el clasificador. Sirviendo como una herramienta a utilizar en cualquier problema real. Para ilustrar la posibilidad de tal tipo de implementación, y con ello, la generalidad del modelo y algoritmo propuesto, se decidió desarrollar Grey-box, un ambiente que combina la característica de ser más ligero en términos de la velocidad de ejecución y el consumo de memoria, sin dejar de ser amigable al usuario. 2.2.1 Diseño e implementación de la herramienta Grey-box.. El diseño de esta herramienta consta de cuatro secciones fundamentales: la parte correspondiente al manejo de archivos, la sección que agrupa las funciones asociadas con el entrenamiento o validación, la facilidad de clasificación de un nuevo caso y finalmente la visualización del árbol de decisión. En la sección correspondiente al manejo de archivos, se encuentra los métodos que permiten cargar las bases de casos, así como salvar algunos reportes de los procesamientos realizados por el usuario en formato texto. Otro conjunto de funcionalidades del software son las que permiten el trabajo con los parámetros del entrenamiento y los métodos para realizar validaciones al modelo. Para la construcción, aprendizaje y validación del modelo que especifica el usuario, se utiliza la implementación para WEKA descrita en el epígrafe anterior, haciendo uso de algunas funcionalidades de esta herramienta desde el código, en forma de biblioteca. Una de la característica más importante de Grey-box es la posibilidad de clasificación de un nuevo caso para el problema que se esté tratando. La implementación de esta función está basada en el método distributionForInstance() del clasificador en WEKA, que ofrece como resultado la probabilidad de pertenencia del nuevo caso a cada una de las clases del problema, lo que permite que el usuario tenga además un grado de certidumbre de la respuesta. Otra funcionalidad importante de la aplicación, es la posibilidad de visualizar el árbol de decisión generado por el clasificador de una manera fácil y agradable. Para esta.

(38) Capítulo 2. implementación se utiliza las facilidades que nos brinda la biblioteca JGraphX para dibujar grafos. Por tanto, el diseño de clases resulta simple, enfocándose solamente en la interfaz visual y la conexión de la misma con las llamadas a la biblioteca WEKA (Ver Anexo 2: Diagrama de clases de la herramienta Grey-box.). Las clases principales se encuentran en el paquete gui: . MainFrame: clase que hereda de javax.swing.JFrame e implementa la ventana principal de la aplicación manejando todos los eventos relacionados con las distintas funciones del software en hilos independientes.. . Painter: clase que implementa los métodos para dibujar el árbol de decisión.. . VisualizeTree: clase que hereda de javax.swing.JFrame e implementa la ventana que muestra el árbol de decisión generado por el clasificador. El tratamiento de errores en la aplicación se hace de forma exhaustiva y amigable al usuario, mostrándole mediante diálogos datos acerca de los problemas ocurridos, algún tipo de advertencia o información necesaria. Por otra parte, es necesario destacar que todos los procesamientos que realiza la aplicación están implementados sobre una plataforma de hilos, lo que permite que mientras el usuario espera por el resultado de un entrenamiento o clasificación (procesos con larga duración del tiempo de ejecución) cuente con una interfaz gráfica que responda apropiadamente, brindando comodidad y ligereza. 2.2.2 Principales utilidades de la herramienta.. La vista principal de la herramienta cuenta con un panel tabulado que agrupa la vista de edición de parámetros y la vista de salida del modelo (Figura 2.7).

(39) Capítulo 2. Figura 2.7 Vista principal de GreyBox.. La vista de parámetros cuenta con un panel para la especificación de los atributos que caracterizan el modelo Self-labeling Grey-box a utilizar. En este panel se puede definir: los parámetros del componente de caja blanca y el de caja negra. Por su parte, en la parte superior derecha de la vista de parámetros se encuentra el panel que describe las características principales de la base de casos utilizada: nombre de la relación, cantidad de casos, número de atributos y de clases (Figura 2.7). En la parte inferior de la vista se puede observar una barra de estado del clasificador (Figura 2.7). La aplicación además cuenta con cuatro menús que agrupan las funcionalidades principales del mismo (Figura 2.8).. Figura 2.8 Menús de la herramienta GreyBox. En el menú File podemos encontrar las siguientes funciones:.

(40) Capítulo 2. . Load Cases: abre una base de casos para el entrenamiento y validación de la RNR.. En el menú Run están agrupados: . Train Model: realiza un entrenamiento simple del modelo con la base de casos cargada (Figura 2.9).. Figura 2.9 Salida del clasificador luego de realizar un entrenamiento simple. . Test Model: muestra un diálogo para la selección de una base para la prueba del clasificador entrenado. La base debe ser compatible con la utilizada para el entrenamiento.. . Classify New Case: muestra un diálogo para clasificar un nuevo caso del problema representado en la base de casos que se utilizó para el entrenamiento y validación de la red. Este diálogo cuenta también con la funcionalidad de salvar el reporte de clasificación en un fichero texto, donde se escribe el nombre de la relación y sus principales características, el nuevo caso a clasificar y las probabilidades de pertenencia a cada clase de este caso (Figura 2.10¡Error! No se encuentra el origen de la referencia.)..

(41) Capítulo 2. Figura 2.10 Diálogo para la clasificación de un nuevo caso y fragmento del fichero de salida generado.. En el menú Tree: . Visualize tree: visualiza el árbol de decisión generado por el clasificador (Figura 2.11)..

(42) Capítulo 2. Figura 2.11 Árbol de decisión generado por el clasificador. Finalmente, en el menú Help podemos encontrar: . About: muestra un diálogo con información en idioma inglés sobre la aplicación (Figura 2.12). Figura 2.12 Dialogo About GreyBox.

(43) Capítulo 2. 2.3 Conclusiones parciales del capítulo. Sobre la base de las concepciones preestablecidas en relación con la extensión de nuevos clasificadores en WEKA, se ha mostrado, metodológicamente y prácticamente, cómo incorporar un nuevo clasificador a la plataforma WEKA. Se implementa el método Selflabeling Grey-box como un clasificador más de WEKA. Se presenta también la herramienta de simulación computacional Grey-box, que permite entrenar un clasificador Self-labeling Grey-box; la clasificación de nuevos casos del problema de aplicación y la visualización del árbol de decisión generado por el clasificador en un ambiente amigable a usuarios menos especializados..

(44) CAPÍTULO 3. VALIDACIÓN DE LA IMPLEMENTACIÓN Y VISUALIZACIÓN DE LA INTERPRETABILIDAD A TRAVÉS DE UN CASO DE ESTUDIO En este capítulo se procederá a evaluar la implementación del modelo Self-labeling Grey-box en problemas de aprendizaje semi-supervisado. Después, se describirá la configuración de la base de casos a utilizar para validar la interpretablidad del modelo y la visualización de los árboles de decisión generados por la herramienta Grey-box.. 3.1. Validación de la implementación.. En esta sección se realiza una experimentación utilizando bases de casos de aprendizaje semisupervisado. 3.1.1 Experimentación utilizando bases de casos para aprendizaje semi-supervisado.. Para validar la implementación, se prueban varios modelos de caja negra y caja blanca como componentes del modelo, utilizando un conjunto de datos prueba parcialmente etiquetados utilizando un enfoque de validación inductivo (conjunto de prueba separado). Como modelos de caja negra, hemos utilizado: Random Forests, Multilayer Perceptron y Support Vector Machines; técnicas conocidas por ser los enfoques más exitosos para abordar problemas de aplicación en términos de exactitud (Fernandez-Delgado et al. 2014). Mientras que para el componente de la caja blanca hemos estudiado diferentes tipos de interpretabilidad: Árbol de decisión (reglas if-then), Bayesian Networks (Bayesian reasoning) y Fuzzy Cognitive Maps (causalidad entre variables). Para estudiar el comportamiento del algoritmo contra diferentes tamaños de conjuntos de datos parcialmente etiquetados, utilizamos curvas de aprendizaje donde el eje X indica el tamaño del conjunto de datos etiquetados proporcionado al algoritmo de aprendizaje y el eje Y es el valor kappa alcanzado por el modelo. Utilizamos la estadística kappa como medida de rendimiento, ya que es más robusta en conjuntos de datos desbalanceados (Triguero et al. 2015). En nuestras simulaciones, se estudió el rendimiento de la arquitectura propuesta utilizando 121 conjuntos de datos de referencia del UCI Machine Learning Repository (Lichman 2013). Todos los conjuntos de datos se dividen en uno de entrenamiento y uno de prueba para su validación. Simulamos diferentes cantidades de datos sin etiquetar usando un re-muestreo aleatorio sin. 55.

(45) Capítulo 3. reemplazo, dividiendo el conjunto de entrenamiento en conjuntos no etiquetados y etiquetados. El porcentaje de casos etiquetados oscila entre el 5% y el 100% de los datos de entrenamiento. La Figura 3.1 muestra la curva de aprendizaje promedio para un modelo de caja gris usando Random Forest y Árbol de decisión (la mejor combinación (Grau et al. 2016)). Obsérvese que cuando sólo se etiquetan entre el 5% y el 40% de los datos, el rendimiento de la caja gris es considerablemente mejor que el de la caja blanca, es decir, el componente de caja negra aumenta la precisión de todo el modelo. Aunque el modelo de caja negra es aún mejor que el modelo caja gris propuesto, este no es interpretable. Además, se observa que el rendimiento de la caja gris y la caja blanca se comporta de igual manera a medida que la cantidad de datos etiquetados se aproxima a la utilización de un conjunto con cien por ciento de datos etiquetados. Sin embargo, este comportamiento se espera en nuestros experimentos, ya que el aumento del número de datos etiquetados es equivalente a reducir el número de casos no etiquetados para ser etiquetados por el clasificador de caja negra. Por lo tanto, los resultados obtenidos utilizando la plataforma WEKA coinciden con el comportamiento esperado del algoritmo, obteniendo una arquitectura en la que mantenemos la interpretabilidad de la caja blanca (un árbol de decisión en este caso) al tiempo que aumenta su rendimiento en presencia de un conjunto de datos parcialmente etiquetados. 0,7 0,65. Performance (kappa value). 0,6 0,55 0,5 0,45. 0,4 0,35 0,3 5. 10. 15. 20. 25. 30. 35. 40. 45. 50. 55. 60. 65. 70. 75. 80. 85. 90. 95 100. Size of labeled dataset (% of labeled data available). Average of J48. Average of RF. Average of GBM_RFJ48. Figura 3.1 Curva de aprendizaje para el estudio de los modelos. 3.2 Visualización y evaluación de la interpretabilidad a través de un caso de estudio. A continuación, se probará el modelo propuesto en el contexto de la bioinformática con un caso de estudio de cáncer de mama..

(46) Capítulo 3 3.2.1 Caso de estudio en clasificación de pacientes con Cáncer de Mamas.. Para el caso de estudio de cáncer de mama contamos con una base de casos bien definida, con 286 casos y nueve atributos(Tabla 3.1):. Valores. Atributo age menopause tumor-size. inv-nodes. node-cap deg-malig breats breast-quad irradiant. Significado. 10-19, 20-29, 30-39, 4049, 50-59, 60-69, 70-79, 80-89, 90-99 lt40, gen40, premeno 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 3539, 40-44,45-49, 50-54, 55-59 0-2, 3-5, 6-8, 9-11, 12-14, 15-17, 18-20, 21-23, 2426 27-29, 30-32, 33-35, 36-39 yes, no 1, 2, 3 left, right left-up, left-low, rightup, right-low, central yes, no. edad menopausia dimensión del tumor. número de nódulos invasivos Si hace metástasis a un nodo linfático o no grado de malignidad seno izquierdo o seno derecho cuadrante del seno irradiado o no. Tabla 3.1 Descripción de la base de casos de cáncer de mamas. Además, tenemos la clase del problema que cuenta con dos posibles valores no-recurrenceevents o recurrence-events que significa la presencia de recurrencia de la malignidad o no. 3.2.2 Visualización de los arboles generados por la herramienta.. Para visualizar el árbol de decisión generado por el clasificador debemos seguir los siguientes pasos. Primero cargar la base de casos del problema con el que vamos a trabajar, para esto nos dirigimos al menú File de la aplicación y seleccionamos la opción LoadCase. Una vez cargada la basa de casos debemos entrenar el clasificador, para esto seleccionamos en el menú Run la opción TrainModel. Por último, en el menú Tree hacemos click sobre la opción VisualizeTree y nos mostrara una ventana con el árbol de decisión generado por el clasificador. Utilizando la base de casos descrita en la sección anterior se muestra el árbol de decisión generado por el algoritmo J48 implementado en WEKA(Figura 3.2, Figura 3.5) y por la.

Referencias

Documento similar