METODOS MATEMATICOS EN CIENCIAS DE LA COMPUTACION 05-06
UNIVERSIDAD DEL PAIS VASCO - EUSKAL HERRIKO UNIBERTSITATEA, UPV-EHU
PRACTICA II: RECONOCIMIENTO DE PATRONES CON WEKA
Tareas a realizar para el Tema 6 (Clasificadores Bayesianos):
Recuerda la teoría impartida para el algoritmo del naive Bayes, y cómo se
calculaba la probabilidad de pertenencia para cada clase del problema.
Comenta cuáles te parecen, según tu criterio e intuición
(no vamos a ver
ninguna forma “exacta” de realizar esta tarea), las variables predictoras
más relevantes para discriminar entre las distintas clases del problema. Únicamente para estas variables consideradas por ti como relevantes,
muestra, para cada valor de la clase, su media y varianza en el caso de las
variables predictoras continuas (ordinales) y la probabilidad de cada valor
de las variables predictoras discretas (nominales).
La manera más sencilla de hacer este ejercicio es basándote en la salida del
modelo naive Bayes aprendido con todos los casos, esto es, el "Classifier
Output" de WEKA. Ten en cuenta que en él aparecen, para cada valor de la
clase de tu problema, "una foto" (distribuciones de probabilidad
condicionadas-número de casos que toma cada valor de la variable-contador, o medias condicionadas, dependiendo de si la variables es
nominal u ordinal) de cada variable predictora (pero condicionada sólo para
los casos que toman ese valor concreto de la clase; observa las
transparencias 8-9 del Tema 6).
Marca a lápiz, sobre la salida de WEKA para las variables que has
considerado como relevantes, algunos valores de "p(Xi=xi|C=c)";
"μic"
"σic"
; en los que te has basado para considerarlas como relevantes. Comenta en qué te has basado para considerarlas como relevantes.
Para hacer este ejercicio, ten en cuenta cómo realiza la clasificación el
naive Bayes.
¿Se puede hablar, con una base estadística, de un algoritmo
ganador/perdedor? Analiza y comenta los resultados de la comparativa
realizada.
Para realizar la comparativa puedes utilizar el software SPSS disponible
en los ordenadores de la Facultad. Aún así hay abundante software libre en
la red, de uso muy sencillo, que realiza las mismas comparativas: uno de
ellos, WINKS. Una copia
de evaluación del software SPSS también la puedes conseguir en
su web.
Ten en cuenta la siguiente
explicación intuitiva, en la que se ahondará en la sesión de laboratorio
correspondiente, para entender en cualquier comparativa estadística que
realices el concepto de significatividad asintótica, clave para entender el grado de similitud/diferencia entre las muestras de
números comparadas:
“la significatividad asintótica de un test estadístico es una probabilidad (valor entre 0 y 1) que viene a reflejar el peso-influencia del azar para explicar las diferencias entre las dos muestras comparadas. En estadística viene a aplicarse clásicamente un umbral del 5% (en probabilidad , 0.05) para argumentar si son las diferencias entre las dos muestras comparadas estadísticamente significativas o no. Partiendo de que la hipótesis nula testada es que ambas muestras parten de una misma distribución (son equivalentes), la idea intuitiva es que una influencia baja del azar viene a denotar una naturaleza estadísticamente distinta de las dos muestras comparadas (hay algo más que azar que explique las diferencias entre las dos muestras...)”
“la significatividad asintótica de un test estadístico también puede interpretarse como lo que se parecen las dos muestras de datos comparadas". El grado de parecido, similitud, de las dos muestras de números comparadas. Grados de similaridad menores al 5% se consideran como una diferencia estadísticamente significativa (remarcando el nivel concreto de significatividad). Si las dos muestras de números fuesen idénticas, la significatividad asintótica del test sería del 100%.
La significatividad
asintótica también se puede ver como el peso del azar en la explicación de
las diferencias que hay entre las dos muestras de números. Esto es, si el
peso del azar es bajo (menor del 5%) en la explicación de dichas
diferencias: es que hay algo más que azar, las muestras son diferentes por
naturaleza...
- aprende un clasificador naive Bayes aumentado a árbol (TAN=tree augmented network): muestra su estructura gráfica si no es demasiado grande y se puede comprender (no la enseñes si crees que no se ve nada) (clicka en las propiedades de la ejecución realizada para ver la estructura gráfica aprendida) y enseña la tabla de distribuciones de probabilidad para alguna variable que te interese y que tenga al menos otra variable padre, aparte de la clase del problema. ¿Cuántas variables padre tiene esta variable en la que te has fijado?
Entiende que la tabla de probabilidad que estás viendo, se refiere a las distribuciones de probabilidad de la variable "hijo" que has seleccionado: pero condicionada a cada configuración de valores distinto que tomen sus padres.
Tienes que entender lo que son y qué están mostrando esas tablas de probabilidad: indica a lápiz, sobre la salida, qué es cada columna y fila de esa tabla. ¿Te has dado cuenta que las variables numéricas continuas han sido discretizadas en varios intervalos? Fíjate en las tablas de probabilidad. Este tipo de algoritmos no pueden trabajar con variables continuas.
- !OJO! Me he dado cuenta que hay un error en algunas tablas de probabilidad en WEKA, para algunas bases de datos: se muestra dos veces la variable clase (como si fuesen dos clases distintas, cuando sólo hay una), condicionando los valores de la variable predictora de la que es padre. Esto es un error del software, no tiene sentido: fíjate que los valores de las probabilidades en las filas en las que la clase no es la "misma", es uniforme... (0'5,0'5...) o (0'33,0'33...)¿?¿?¿? La pena es que esto dificulta la comprensión de la tabla de las distribuciones de probabilidad de la variable hija (condicionada), con varias filas que no tienen sentido.
Bueno, aquí sí que se nota que WEKA es software libre...
- mediante el algoritmo K2, aprende un clasificador Bayesiano 2-dependiente: explica el significado de los parámetros "initAsNaiveBayes" y "maxNumberofParents", que son necesarios para hacer lo que se te pide. Muestra su estructura gráfica (si no es demasiado grande y se puede comprender; no la enseñes si crees que no se ve nada) y enseña la tabla de distribuciones de probabilidad para alguna variable predictora que te interese: indica a lápiz, sobre la salida, qué es cada columna y fila de esa tabla. ¿Cuántas variables padre tiene esta variable en la que te has fijado?
- ¿qué te parece que se hace cuando el algoritmo de búsqueda es "GeneticSearch"? ¿Qué pintan los algoritmos genéticos aquí? ¿Cuál es su función?
- ¿ves posible aprender estructuras de "Red Bayesiana Múltiplemente Conectada", sin limitar el número de padres que tenga una variable? ¿Cómo? Pon un ejemplo.
¿Se puede hablar, con una base estadística, de un algoritmo
ganador/perdedor? Analiza y comenta los resultados de la comparativa
realizada.