|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2018-19
Mejora de la eficiencia en el aprendizaje de modelos de clasificación Naive Bayes y AODE |
Tecnologías Específicas
Computación
Descripcion y Objetivos
El clasificador Naive Bayes es el más sencillo de los clasificadore bayesianos. En la factorización de la probabilidad conjunta asume las variables de entrada son condicionalmente independientes dada la clase. Esto permite reducir sustancialmente tanto el número de parámetros, como la complejidad del aprendizaje, que básicamente se reduce a la estimación de probabilidades bivariadas.
Pese a que la asunción de independencia condicional entre variables raramente se presenta en los datos reales, este clasificador obtiene resultados competitivos en muchos dominios, incluyendo aquellos en el que el número de variables de entrada es alto. Una de las causas de este rendimiento es que las variables irrelevantes, las que son independientes de la clase, no afectan el resultado del clasificador.
En este proyecto estudiaremos la eliminación de estas variables del modelo, y como afecta al rendimiento del mismo. Además, implementaremos una segunda etapa en el aprendizaje en la que de eliminar aquellas variables cuya ausencia no induzca una degradación en la tasa de acierto en el modelo original. Con estos procesos, se pretende minimizar en la medida de lo posible el número de parámetros en el clasificador Naive Bayes.
Aunque la complejidad espacial del modelo no es un problema con Naive Bayes, las técnicas desarrolladas se adaptarán al clasificador AODE, en el que el número de parámetros sí que constituye un problema crítico, que limita la escalabilidad.
Metodología y Competencias
El proyecto, destinados a alumos que hayan cursado la intensificación de computación, y a los que se les presupone el conocimiento necesario en Minería de Datos, se dividirá en varias fases.
- Estudio del Algoritmo Naive Bayes.
- Implementación de una versión eficiente del mismo con la librería NumPy the Python.
- Implementación del descarte de variables.
- Experimentación y comparación con otros métodos de selección de variables.
- Implementación del método de descarte de variables a posteriori.
- Validación experimental.
- Adaptación de los métodos anteriores al algoritmo AODE.
- Validación experimental
En relación a las competencias específicas de computación, este trabajo permitirá desarrollar, fundamentalmente, las siguientes: [CM1], [CM3], [CM5], y [CM7].
Medios a utilizar
Será necesario solamente un entorno de programación Python, en su versión 3.6, y el uso de las librerías NumPy y scikit-learn. Eventualmente pude ser también necesario el uso de la librería Pandas para el preprocesamiento de datos.
Bibliografía
- Apuntes de la asignatura Minería de datos en la ESIIAB (Gámez, de la Ossa)
- Documentación de Numpy: https://docs.scipy.org/doc/numpy-dev/user/quickstart.html
- Documentación de Pandas: http://pandas.pydata.org/
- Documentación de Scikit-learn: http://scikit-learn.org/stable/
- Jiawey Han y Micheline Kamber, Data Mining: Concepts and techniques, Morgan Kauffmann, 2006
- Not So Naive Bayes: Aggregating One-Dependence Estimators G. Webb, J. Boughton, and Z. Wang. Machine Learning 58 (1): 5-24 (2005)
- Beyond independence: Conditions for the optimality of the simple bayesian classifier
International conference on machine learning. P. Domingos, M. Pazzani. Morgan Kaufmann (1996), pp. 105-112
- Wrappers for feature subset selection. R. Kohavi, G. John. Artificial Intelligence, 97 (1997), pp. 273-324
Tutores OSSA JIMENEZ, LUIS DE LA BERMEJO LOPEZ, PABLO | Alumno ALFARO MARTÍNEZ, JUAN ANTONIO
|
| |